├── 01_Intro └── 01_NOTES.rb ├── 02_SRP ├── 01.rb └── 02.rb ├── 03_Managing_Dependencies ├── 01.rb ├── 02.rb ├── 03.rb ├── 04.rb └── 05.rb ├── 04_Flexible_Interfaces ├── 01.rb ├── 02.rb ├── 03.rb └── 04.rb ├── 05_Duck_Types ├── 01.rb ├── 02.rb └── 03.rb ├── 06_Inheritance ├── 01.rb ├── 02.rb ├── 03.rb ├── 04.rb ├── 05.rb ├── 06.rb ├── 07.rb └── 08.rb ├── 07_Modules ├── 01.rb ├── 02.rb ├── 03.rb └── 04.rb ├── 08_Composition ├── 01.rb ├── 02.rb ├── 03.rb ├── 04.rb └── 05.rb ├── 09_Testing ├── .rspec ├── lib │ ├── 01.rb │ ├── 02.rb │ ├── 03.rb │ ├── 04.rb │ ├── 05.rb │ ├── 06.rb │ ├── 07.rb │ ├── 08.rb │ ├── 09.rb │ ├── 10.rb │ └── 11.rb └── spec │ ├── 01_spec.rb │ ├── 02_spec.rb │ ├── 03_spec.rb │ ├── 04_spec.rb │ ├── 05_spec.rb │ ├── 06_spec.rb │ ├── 07_spec.rb │ ├── 08_spec.rb │ ├── 09_spec.rb │ ├── 10_spec.rb │ ├── 11_spec.rb │ └── spec_helper.rb └── README.md /01_Intro/01_NOTES.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/01_Intro/01_NOTES.rb -------------------------------------------------------------------------------- /02_SRP/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/02_SRP/01.rb -------------------------------------------------------------------------------- /02_SRP/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/02_SRP/02.rb -------------------------------------------------------------------------------- /03_Managing_Dependencies/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/03_Managing_Dependencies/01.rb -------------------------------------------------------------------------------- /03_Managing_Dependencies/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/03_Managing_Dependencies/02.rb -------------------------------------------------------------------------------- /03_Managing_Dependencies/03.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/03_Managing_Dependencies/03.rb -------------------------------------------------------------------------------- /03_Managing_Dependencies/04.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/03_Managing_Dependencies/04.rb -------------------------------------------------------------------------------- /03_Managing_Dependencies/05.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/03_Managing_Dependencies/05.rb -------------------------------------------------------------------------------- /04_Flexible_Interfaces/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/04_Flexible_Interfaces/01.rb -------------------------------------------------------------------------------- /04_Flexible_Interfaces/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/04_Flexible_Interfaces/02.rb -------------------------------------------------------------------------------- /04_Flexible_Interfaces/03.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/04_Flexible_Interfaces/03.rb -------------------------------------------------------------------------------- /04_Flexible_Interfaces/04.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/04_Flexible_Interfaces/04.rb -------------------------------------------------------------------------------- /05_Duck_Types/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/05_Duck_Types/01.rb -------------------------------------------------------------------------------- /05_Duck_Types/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/05_Duck_Types/02.rb -------------------------------------------------------------------------------- /05_Duck_Types/03.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/05_Duck_Types/03.rb -------------------------------------------------------------------------------- /06_Inheritance/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/01.rb -------------------------------------------------------------------------------- /06_Inheritance/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/02.rb -------------------------------------------------------------------------------- /06_Inheritance/03.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/03.rb -------------------------------------------------------------------------------- /06_Inheritance/04.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/04.rb -------------------------------------------------------------------------------- /06_Inheritance/05.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/05.rb -------------------------------------------------------------------------------- /06_Inheritance/06.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/06.rb -------------------------------------------------------------------------------- /06_Inheritance/07.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/07.rb -------------------------------------------------------------------------------- /06_Inheritance/08.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/06_Inheritance/08.rb -------------------------------------------------------------------------------- /07_Modules/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/07_Modules/01.rb -------------------------------------------------------------------------------- /07_Modules/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/07_Modules/02.rb -------------------------------------------------------------------------------- /07_Modules/03.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/07_Modules/03.rb -------------------------------------------------------------------------------- /07_Modules/04.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/07_Modules/04.rb -------------------------------------------------------------------------------- /08_Composition/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/08_Composition/01.rb -------------------------------------------------------------------------------- /08_Composition/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/08_Composition/02.rb -------------------------------------------------------------------------------- /08_Composition/03.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/08_Composition/03.rb -------------------------------------------------------------------------------- /08_Composition/04.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/08_Composition/04.rb -------------------------------------------------------------------------------- /08_Composition/05.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/08_Composition/05.rb -------------------------------------------------------------------------------- /09_Testing/.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | --format documentation 3 | --require spec_helper 4 | -------------------------------------------------------------------------------- /09_Testing/lib/01.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/01.rb -------------------------------------------------------------------------------- /09_Testing/lib/02.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/02.rb -------------------------------------------------------------------------------- /09_Testing/lib/03.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/03.rb -------------------------------------------------------------------------------- /09_Testing/lib/04.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/04.rb -------------------------------------------------------------------------------- /09_Testing/lib/05.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/05.rb -------------------------------------------------------------------------------- /09_Testing/lib/06.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/06.rb -------------------------------------------------------------------------------- /09_Testing/lib/07.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/07.rb -------------------------------------------------------------------------------- /09_Testing/lib/08.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/08.rb -------------------------------------------------------------------------------- /09_Testing/lib/09.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/09.rb -------------------------------------------------------------------------------- /09_Testing/lib/10.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/10.rb -------------------------------------------------------------------------------- /09_Testing/lib/11.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/lib/11.rb -------------------------------------------------------------------------------- /09_Testing/spec/01_spec.rb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /09_Testing/spec/02_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/02_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/03_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/03_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/04_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/04_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/05_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/05_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/06_spec.rb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /09_Testing/spec/07_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/07_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/08_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/08_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/09_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/09_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/10_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/10_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/11_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/11_spec.rb -------------------------------------------------------------------------------- /09_Testing/spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/09_Testing/spec/spec_helper.rb -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jordanpoulton/practical_object_oriented_design_in_ruby/HEAD/README.md --------------------------------------------------------------------------------