Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/waihon/prag_studio_game

Pragmatic Studio's Ruby Programming Course - Game Workbook App
https://github.com/waihon/prag_studio_game

Last synced: about 2 months ago
JSON representation

Pragmatic Studio's Ruby Programming Course - Game Workbook App

Awesome Lists containing this project

README

        

Studio Game is a Ruby program developed based on Pragmatic Studio' 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