Crowdfund is a Ruby program developed based on Pragmatic Studio’s Ruby Programming hands-on video course, and distributed as a Ruby gem.
This program has been developed using all the strengths of Ruby including the following.
Ruby Programming Environment
-
Installing Ruby on your favorite operating system (free exercise)
-
Running Ruby using the interactive Ruby shell (irb) and writing Ruby program files
-
Using Ruby’s documentation system to get help
-
Installing external Ruby libraries using RubyGems
-
Troubleshooting common problems
Ruby Language Constructs
-
Expressions and variables
-
Numbers, string, and symbols (free video & exercise)
-
Loops and conditional expressions
-
Arrays and hashes (free video & exercise on hashes)
-
Classes, modules, and structs
Object-Oriented Programming
-
Using built-in Ruby classes
-
Defining your own classes with state and behavior (free video & exercise)
-
Creating unique objects
-
Telling objects what to do by calling methods
-
Modeling class-level inheritance relationships
-
Sharing code with mixins
Object-Oriented Design Principles
-
Encapsulation
-
Separation of concerns
-
Polymorphism
-
Don’t Repeat Yourself
-
Tell, Don’t Ask
Blocks and Iterators
-
Calling built-in methods that take blocks
-
Writing your own methods that yield to blocks
-
Implementing custom iterators
-
Effectively using blocks in your programs
Organizing Ruby Code
-
Creating a Ruby project structure
-
Separating source files for easier reuse and testing
-
Namespacing to avoid naming clashes
-
Input/Output
-
Reading data from files
-
Writing data to files
-
Creating an interactive console prompt
-
Handling command-line input
Unit Testing
-
Writing and running unit tests with RSpec
-
Test-driven development and the red-green-refactor cycle
-
Stubbing methods to control tests
-
Refactoring code, safely!
Distribution
-
Conforming to RubyGems conventions
-
Writing a GemSpec
-
Building a RubyGem
-
Publishing a RubyGem to a public server
Ruby Programming Idioms