├── .gitignore ├── .ruby-version ├── Gemfile ├── Gemfile.lock ├── OUTLINE.md ├── README.md └── examples ├── Rakefile ├── adapter ├── Rakefile ├── lib │ └── newsletter │ │ ├── adapters │ │ ├── json.rb │ │ └── xml.rb │ │ └── content.rb └── test │ ├── fixtures │ ├── newsletter.json │ └── newsletter.xml │ ├── newsletter_test.rb │ └── test_helper.rb ├── builder ├── Rakefile ├── lib │ ├── rental_plan.rb │ └── rental_plan │ │ ├── hour_range.rb │ │ ├── meta.rb │ │ └── range.rb └── test │ ├── builder_test.rb │ ├── fixtures │ ├── newsletter.json │ └── newsletter.xml │ └── test_helper.rb ├── chain_of_responsability ├── Rakefile ├── lib │ ├── .gitkeep │ ├── chief.rb │ ├── department.rb │ └── employee.rb └── test │ ├── .gitkeep │ ├── chain_of_responsability_test.rb │ └── test_helper.rb ├── command ├── Rakefile ├── lib │ ├── button.rb │ └── show_message.rb └── test │ ├── command_test.rb │ └── test_helper.rb ├── decorator ├── Rakefile ├── lib │ ├── product.rb │ └── product_decorator.rb └── test │ ├── decorator_test.rb │ └── test_helper.rb ├── facade ├── Rakefile ├── lib │ ├── product.rb │ ├── product_controller.rb │ └── product_finder.rb └── test │ ├── facade_test.rb │ ├── fixtures │ ├── newsletter.json │ └── newsletter.xml │ └── test_helper.rb ├── factory ├── Rakefile ├── lib │ ├── exceptions │ │ └── forbidden_access.rb │ ├── factories │ │ └── payment_service.rb │ ├── manager.rb │ ├── payment_service.rb │ ├── payment_services │ │ ├── manager.rb │ │ └── user.rb │ └── user.rb └── test │ ├── factory_test.rb │ └── test_helper.rb ├── iterator ├── Rakefile ├── lib │ ├── family.rb │ └── family │ │ ├── child.rb │ │ └── parent.rb └── test │ ├── iterator_test.rb │ └── test_helper.rb ├── mediator ├── Rakefile ├── lib │ ├── .gitkeep │ ├── agency.rb │ ├── buyer.rb │ ├── exceptions │ │ └── illegal_jump.rb │ ├── house.rb │ └── seller.rb └── test │ ├── .gitkeep │ ├── mediator_test.rb │ └── test_helper.rb ├── observer ├── Rakefile ├── lib │ └── application │ │ ├── observers │ │ └── user.rb │ │ └── user.rb └── test │ ├── observer_test.rb │ └── test_helper.rb ├── proxy ├── Rakefile ├── lib │ ├── proxy.rb │ └── video.rb └── test │ ├── fixtures │ ├── newsletter.json │ └── newsletter.xml │ ├── proxy_test.rb │ ├── test_helper.rb │ └── video_test.rb ├── singleton ├── Rakefile ├── lib │ ├── product.rb │ └── product_controller.rb └── test │ ├── singleton_test.rb │ └── test_helper.rb ├── state ├── Rakefile ├── lib │ ├── .gitkeep │ ├── car_production_line.rb │ ├── engine_installation_state.rb │ ├── exceptions │ │ └── illegal_jump.rb │ ├── hood_installation_state.rb │ └── wheels_installation_state.rb └── test │ ├── .gitkeep │ ├── state_test.rb │ └── test_helper.rb ├── strategy ├── Rakefile ├── lib │ ├── .gitkeep │ └── newsletter │ │ ├── generator.rb │ │ └── generators │ │ ├── base.rb │ │ ├── html.rb │ │ └── markdown.rb └── test │ ├── .gitkeep │ ├── fixtures │ ├── newsletter.html │ └── newsletter.markdown │ ├── strategy_test.rb │ └── test_helper.rb ├── template-method ├── Rakefile ├── lib │ ├── .gitkeep │ └── newsletter │ │ ├── generator.rb │ │ └── generators │ │ ├── base.rb │ │ ├── html.rb │ │ └── markdown.rb └── test │ ├── .gitkeep │ ├── fixtures │ ├── newsletter.html │ └── newsletter.markdown │ ├── template_method_test.rb │ └── test_helper.rb └── test_helper.rb /.gitignore: -------------------------------------------------------------------------------- 1 | .bundle 2 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.0.0-p247 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /OUTLINE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/OUTLINE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/README.md -------------------------------------------------------------------------------- /examples/Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/Rakefile -------------------------------------------------------------------------------- /examples/adapter/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/adapter/lib/newsletter/adapters/json.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/adapter/lib/newsletter/adapters/json.rb -------------------------------------------------------------------------------- /examples/adapter/lib/newsletter/adapters/xml.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/adapter/lib/newsletter/adapters/xml.rb -------------------------------------------------------------------------------- /examples/adapter/lib/newsletter/content.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/adapter/lib/newsletter/content.rb -------------------------------------------------------------------------------- /examples/adapter/test/fixtures/newsletter.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/adapter/test/fixtures/newsletter.json -------------------------------------------------------------------------------- /examples/adapter/test/fixtures/newsletter.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/adapter/test/fixtures/newsletter.xml -------------------------------------------------------------------------------- /examples/adapter/test/newsletter_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/adapter/test/newsletter_test.rb -------------------------------------------------------------------------------- /examples/adapter/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/builder/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/builder/lib/rental_plan.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/builder/lib/rental_plan.rb -------------------------------------------------------------------------------- /examples/builder/lib/rental_plan/hour_range.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/builder/lib/rental_plan/hour_range.rb -------------------------------------------------------------------------------- /examples/builder/lib/rental_plan/meta.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/builder/lib/rental_plan/meta.rb -------------------------------------------------------------------------------- /examples/builder/lib/rental_plan/range.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/builder/lib/rental_plan/range.rb -------------------------------------------------------------------------------- /examples/builder/test/builder_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/builder/test/builder_test.rb -------------------------------------------------------------------------------- /examples/builder/test/fixtures/newsletter.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/builder/test/fixtures/newsletter.json -------------------------------------------------------------------------------- /examples/builder/test/fixtures/newsletter.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/builder/test/fixtures/newsletter.xml -------------------------------------------------------------------------------- /examples/builder/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/chain_of_responsability/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/chain_of_responsability/lib/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/chain_of_responsability/lib/chief.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/chain_of_responsability/lib/chief.rb -------------------------------------------------------------------------------- /examples/chain_of_responsability/lib/department.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/chain_of_responsability/lib/department.rb -------------------------------------------------------------------------------- /examples/chain_of_responsability/lib/employee.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/chain_of_responsability/lib/employee.rb -------------------------------------------------------------------------------- /examples/chain_of_responsability/test/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/chain_of_responsability/test/chain_of_responsability_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/chain_of_responsability/test/chain_of_responsability_test.rb -------------------------------------------------------------------------------- /examples/chain_of_responsability/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/command/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/command/lib/button.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/command/lib/button.rb -------------------------------------------------------------------------------- /examples/command/lib/show_message.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/command/lib/show_message.rb -------------------------------------------------------------------------------- /examples/command/test/command_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/command/test/command_test.rb -------------------------------------------------------------------------------- /examples/command/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/decorator/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/decorator/lib/product.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/decorator/lib/product.rb -------------------------------------------------------------------------------- /examples/decorator/lib/product_decorator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/decorator/lib/product_decorator.rb -------------------------------------------------------------------------------- /examples/decorator/test/decorator_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/decorator/test/decorator_test.rb -------------------------------------------------------------------------------- /examples/decorator/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/facade/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/facade/lib/product.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/facade/lib/product.rb -------------------------------------------------------------------------------- /examples/facade/lib/product_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/facade/lib/product_controller.rb -------------------------------------------------------------------------------- /examples/facade/lib/product_finder.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/facade/lib/product_finder.rb -------------------------------------------------------------------------------- /examples/facade/test/facade_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/facade/test/facade_test.rb -------------------------------------------------------------------------------- /examples/facade/test/fixtures/newsletter.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/facade/test/fixtures/newsletter.json -------------------------------------------------------------------------------- /examples/facade/test/fixtures/newsletter.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/facade/test/fixtures/newsletter.xml -------------------------------------------------------------------------------- /examples/facade/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/factory/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/factory/lib/exceptions/forbidden_access.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/factory/lib/exceptions/forbidden_access.rb -------------------------------------------------------------------------------- /examples/factory/lib/factories/payment_service.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/factory/lib/factories/payment_service.rb -------------------------------------------------------------------------------- /examples/factory/lib/manager.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/factory/lib/manager.rb -------------------------------------------------------------------------------- /examples/factory/lib/payment_service.rb: -------------------------------------------------------------------------------- 1 | require 'factories/payment_service' 2 | -------------------------------------------------------------------------------- /examples/factory/lib/payment_services/manager.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/factory/lib/payment_services/manager.rb -------------------------------------------------------------------------------- /examples/factory/lib/payment_services/user.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/factory/lib/payment_services/user.rb -------------------------------------------------------------------------------- /examples/factory/lib/user.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/factory/lib/user.rb -------------------------------------------------------------------------------- /examples/factory/test/factory_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/factory/test/factory_test.rb -------------------------------------------------------------------------------- /examples/factory/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/iterator/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/iterator/lib/family.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/iterator/lib/family.rb -------------------------------------------------------------------------------- /examples/iterator/lib/family/child.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/iterator/lib/family/child.rb -------------------------------------------------------------------------------- /examples/iterator/lib/family/parent.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/iterator/lib/family/parent.rb -------------------------------------------------------------------------------- /examples/iterator/test/iterator_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/iterator/test/iterator_test.rb -------------------------------------------------------------------------------- /examples/iterator/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/mediator/Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/Rakefile -------------------------------------------------------------------------------- /examples/mediator/lib/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/mediator/lib/agency.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/lib/agency.rb -------------------------------------------------------------------------------- /examples/mediator/lib/buyer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/lib/buyer.rb -------------------------------------------------------------------------------- /examples/mediator/lib/exceptions/illegal_jump.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/lib/exceptions/illegal_jump.rb -------------------------------------------------------------------------------- /examples/mediator/lib/house.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/lib/house.rb -------------------------------------------------------------------------------- /examples/mediator/lib/seller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/lib/seller.rb -------------------------------------------------------------------------------- /examples/mediator/test/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/mediator/test/mediator_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/test/mediator_test.rb -------------------------------------------------------------------------------- /examples/mediator/test/test_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/mediator/test/test_helper.rb -------------------------------------------------------------------------------- /examples/observer/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/observer/lib/application/observers/user.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/observer/lib/application/observers/user.rb -------------------------------------------------------------------------------- /examples/observer/lib/application/user.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/observer/lib/application/user.rb -------------------------------------------------------------------------------- /examples/observer/test/observer_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/observer/test/observer_test.rb -------------------------------------------------------------------------------- /examples/observer/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/proxy/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/proxy/lib/proxy.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/proxy/lib/proxy.rb -------------------------------------------------------------------------------- /examples/proxy/lib/video.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/proxy/lib/video.rb -------------------------------------------------------------------------------- /examples/proxy/test/fixtures/newsletter.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/proxy/test/fixtures/newsletter.json -------------------------------------------------------------------------------- /examples/proxy/test/fixtures/newsletter.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/proxy/test/fixtures/newsletter.xml -------------------------------------------------------------------------------- /examples/proxy/test/proxy_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/proxy/test/proxy_test.rb -------------------------------------------------------------------------------- /examples/proxy/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/proxy/test/video_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/proxy/test/video_test.rb -------------------------------------------------------------------------------- /examples/singleton/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/singleton/lib/product.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/singleton/lib/product.rb -------------------------------------------------------------------------------- /examples/singleton/lib/product_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/singleton/lib/product_controller.rb -------------------------------------------------------------------------------- /examples/singleton/test/singleton_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/singleton/test/singleton_test.rb -------------------------------------------------------------------------------- /examples/singleton/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/state/Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/state/Rakefile -------------------------------------------------------------------------------- /examples/state/lib/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/state/lib/car_production_line.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/state/lib/car_production_line.rb -------------------------------------------------------------------------------- /examples/state/lib/engine_installation_state.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/state/lib/engine_installation_state.rb -------------------------------------------------------------------------------- /examples/state/lib/exceptions/illegal_jump.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/state/lib/exceptions/illegal_jump.rb -------------------------------------------------------------------------------- /examples/state/lib/hood_installation_state.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/state/lib/hood_installation_state.rb -------------------------------------------------------------------------------- /examples/state/lib/wheels_installation_state.rb: -------------------------------------------------------------------------------- 1 | class WheelsInstallationState 2 | end 3 | -------------------------------------------------------------------------------- /examples/state/test/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/state/test/state_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/state/test/state_test.rb -------------------------------------------------------------------------------- /examples/state/test/test_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/state/test/test_helper.rb -------------------------------------------------------------------------------- /examples/strategy/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/strategy/lib/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/strategy/lib/newsletter/generator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/strategy/lib/newsletter/generator.rb -------------------------------------------------------------------------------- /examples/strategy/lib/newsletter/generators/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/strategy/lib/newsletter/generators/base.rb -------------------------------------------------------------------------------- /examples/strategy/lib/newsletter/generators/html.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/strategy/lib/newsletter/generators/html.rb -------------------------------------------------------------------------------- /examples/strategy/lib/newsletter/generators/markdown.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/strategy/lib/newsletter/generators/markdown.rb -------------------------------------------------------------------------------- /examples/strategy/test/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/strategy/test/fixtures/newsletter.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/strategy/test/fixtures/newsletter.html -------------------------------------------------------------------------------- /examples/strategy/test/fixtures/newsletter.markdown: -------------------------------------------------------------------------------- 1 | # Hello World! 2 | 3 | lorem ipsum 4 | -------------------------------------------------------------------------------- /examples/strategy/test/strategy_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/strategy/test/strategy_test.rb -------------------------------------------------------------------------------- /examples/strategy/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/template-method/Rakefile: -------------------------------------------------------------------------------- 1 | ../Rakefile -------------------------------------------------------------------------------- /examples/template-method/lib/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/template-method/lib/newsletter/generator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/template-method/lib/newsletter/generator.rb -------------------------------------------------------------------------------- /examples/template-method/lib/newsletter/generators/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/template-method/lib/newsletter/generators/base.rb -------------------------------------------------------------------------------- /examples/template-method/lib/newsletter/generators/html.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/template-method/lib/newsletter/generators/html.rb -------------------------------------------------------------------------------- /examples/template-method/lib/newsletter/generators/markdown.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/template-method/lib/newsletter/generators/markdown.rb -------------------------------------------------------------------------------- /examples/template-method/test/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/template-method/test/fixtures/newsletter.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/template-method/test/fixtures/newsletter.html -------------------------------------------------------------------------------- /examples/template-method/test/fixtures/newsletter.markdown: -------------------------------------------------------------------------------- 1 | # Hello World! 2 | 3 | lorem ipsum 4 | -------------------------------------------------------------------------------- /examples/template-method/test/template_method_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/template-method/test/template_method_test.rb -------------------------------------------------------------------------------- /examples/template-method/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | ../../test_helper.rb -------------------------------------------------------------------------------- /examples/test_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/gof-design-patterns-ruby/HEAD/examples/test_helper.rb --------------------------------------------------------------------------------