├── .rubocop.yml ├── .ruby-version ├── .travis.yml ├── Gemfile ├── Gemfile.lock ├── README.md └── src ├── abstract_factory ├── conceptual │ ├── main.rb │ └── output.txt └── real_world │ ├── main.rb │ └── output.txt ├── adapter ├── conceptual │ ├── main.rb │ └── output.txt └── real_world │ ├── main.rb │ └── output.txt ├── bridge ├── conceptual │ ├── main.rb │ └── output.txt └── real_world │ ├── main.rb │ └── output.txt ├── builder └── conceptual │ ├── main.rb │ └── output.txt ├── chain_of_responsibility └── conceptual │ ├── main.rb │ └── output.txt ├── command └── conceptual │ ├── main.rb │ └── output.txt ├── composite └── conceptual │ ├── main.rb │ └── output.txt ├── decorator └── conceptual │ ├── main.rb │ └── output.txt ├── facade └── conceptual │ ├── main.rb │ └── output.txt ├── factory_method └── conceptual │ ├── main.rb │ └── output.txt ├── flyweight └── conceptual │ ├── main.rb │ └── output.txt ├── iterator └── conceptual │ ├── main.rb │ └── output.txt ├── mediator └── conceptual │ ├── main.rb │ └── output.txt ├── memento └── conceptual │ ├── main.rb │ └── output.txt ├── observer └── conceptual │ ├── main.rb │ └── output.txt ├── prototype └── conceptual │ ├── main.rb │ └── output.txt ├── proxy └── conceptual │ ├── main.rb │ └── output.txt ├── singleton └── conceptual │ ├── non_thread_safe │ ├── main.rb │ └── output.txt │ └── thread_safe │ ├── main.rb │ └── output.txt ├── state └── conceptual │ ├── main.rb │ └── output.txt ├── strategy └── conceptual │ ├── main.rb │ └── output.txt ├── template_method └── conceptual │ ├── main.rb │ └── output.txt └── visitor └── conceptual ├── main.rb └── output.txt /.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/.rubocop.yml -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.2.2 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/.travis.yml -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/README.md -------------------------------------------------------------------------------- /src/abstract_factory/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/abstract_factory/conceptual/main.rb -------------------------------------------------------------------------------- /src/abstract_factory/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/abstract_factory/conceptual/output.txt -------------------------------------------------------------------------------- /src/abstract_factory/real_world/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/abstract_factory/real_world/main.rb -------------------------------------------------------------------------------- /src/abstract_factory/real_world/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/abstract_factory/real_world/output.txt -------------------------------------------------------------------------------- /src/adapter/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/adapter/conceptual/main.rb -------------------------------------------------------------------------------- /src/adapter/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/adapter/conceptual/output.txt -------------------------------------------------------------------------------- /src/adapter/real_world/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/adapter/real_world/main.rb -------------------------------------------------------------------------------- /src/adapter/real_world/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/adapter/real_world/output.txt -------------------------------------------------------------------------------- /src/bridge/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/bridge/conceptual/main.rb -------------------------------------------------------------------------------- /src/bridge/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/bridge/conceptual/output.txt -------------------------------------------------------------------------------- /src/bridge/real_world/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/bridge/real_world/main.rb -------------------------------------------------------------------------------- /src/bridge/real_world/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/bridge/real_world/output.txt -------------------------------------------------------------------------------- /src/builder/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/builder/conceptual/main.rb -------------------------------------------------------------------------------- /src/builder/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/builder/conceptual/output.txt -------------------------------------------------------------------------------- /src/chain_of_responsibility/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/chain_of_responsibility/conceptual/main.rb -------------------------------------------------------------------------------- /src/chain_of_responsibility/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/chain_of_responsibility/conceptual/output.txt -------------------------------------------------------------------------------- /src/command/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/command/conceptual/main.rb -------------------------------------------------------------------------------- /src/command/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/command/conceptual/output.txt -------------------------------------------------------------------------------- /src/composite/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/composite/conceptual/main.rb -------------------------------------------------------------------------------- /src/composite/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/composite/conceptual/output.txt -------------------------------------------------------------------------------- /src/decorator/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/decorator/conceptual/main.rb -------------------------------------------------------------------------------- /src/decorator/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/decorator/conceptual/output.txt -------------------------------------------------------------------------------- /src/facade/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/facade/conceptual/main.rb -------------------------------------------------------------------------------- /src/facade/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/facade/conceptual/output.txt -------------------------------------------------------------------------------- /src/factory_method/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/factory_method/conceptual/main.rb -------------------------------------------------------------------------------- /src/factory_method/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/factory_method/conceptual/output.txt -------------------------------------------------------------------------------- /src/flyweight/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/flyweight/conceptual/main.rb -------------------------------------------------------------------------------- /src/flyweight/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/flyweight/conceptual/output.txt -------------------------------------------------------------------------------- /src/iterator/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/iterator/conceptual/main.rb -------------------------------------------------------------------------------- /src/iterator/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/iterator/conceptual/output.txt -------------------------------------------------------------------------------- /src/mediator/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/mediator/conceptual/main.rb -------------------------------------------------------------------------------- /src/mediator/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/mediator/conceptual/output.txt -------------------------------------------------------------------------------- /src/memento/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/memento/conceptual/main.rb -------------------------------------------------------------------------------- /src/memento/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/memento/conceptual/output.txt -------------------------------------------------------------------------------- /src/observer/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/observer/conceptual/main.rb -------------------------------------------------------------------------------- /src/observer/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/observer/conceptual/output.txt -------------------------------------------------------------------------------- /src/prototype/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/prototype/conceptual/main.rb -------------------------------------------------------------------------------- /src/prototype/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/prototype/conceptual/output.txt -------------------------------------------------------------------------------- /src/proxy/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/proxy/conceptual/main.rb -------------------------------------------------------------------------------- /src/proxy/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/proxy/conceptual/output.txt -------------------------------------------------------------------------------- /src/singleton/conceptual/non_thread_safe/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/singleton/conceptual/non_thread_safe/main.rb -------------------------------------------------------------------------------- /src/singleton/conceptual/non_thread_safe/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/singleton/conceptual/non_thread_safe/output.txt -------------------------------------------------------------------------------- /src/singleton/conceptual/thread_safe/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/singleton/conceptual/thread_safe/main.rb -------------------------------------------------------------------------------- /src/singleton/conceptual/thread_safe/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/singleton/conceptual/thread_safe/output.txt -------------------------------------------------------------------------------- /src/state/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/state/conceptual/main.rb -------------------------------------------------------------------------------- /src/state/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/state/conceptual/output.txt -------------------------------------------------------------------------------- /src/strategy/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/strategy/conceptual/main.rb -------------------------------------------------------------------------------- /src/strategy/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/strategy/conceptual/output.txt -------------------------------------------------------------------------------- /src/template_method/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/template_method/conceptual/main.rb -------------------------------------------------------------------------------- /src/template_method/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/template_method/conceptual/output.txt -------------------------------------------------------------------------------- /src/visitor/conceptual/main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/visitor/conceptual/main.rb -------------------------------------------------------------------------------- /src/visitor/conceptual/output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-ruby/HEAD/src/visitor/conceptual/output.txt --------------------------------------------------------------------------------