Class: PresenterGenerator
- Inherits:
-
Object
- Object
- PresenterGenerator
- Defined in:
- lib/ccios/presenter_generator.rb
Instance Method Summary collapse
- #generate(presenter_name, options = {}) ⇒ Object
-
#initialize(parser) ⇒ PresenterGenerator
constructor
A new instance of PresenterGenerator.
Constructor Details
#initialize(parser) ⇒ PresenterGenerator
Returns a new instance of PresenterGenerator.
6 7 8 |
# File 'lib/ccios/presenter_generator.rb', line 6 def initialize(parser) @parser = parser end |
Instance Method Details
#generate(presenter_name, options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ccios/presenter_generator.rb', line 10 def generate(presenter_name, = {}) app_group = @parser.app_group raise "[Error] Group #{presenter_name} already exists in #{app_group.display_name}" if app_group[presenter_name] new_group = app_group.new_group(presenter_name) ui_group = new_group.new_group("UI") ui_group.new_group("View") view_controller_group = ui_group.new_group("ViewController") presenter_group = new_group.new_group("Presenter") model_group = new_group.new_group("Model") file_creator = FileCreator.new(@parser.source_path, ) target = @parser.main_target file_creator.create_file(presenter_name, 'ViewContract', ui_group, target) file_creator.create_file(presenter_name, 'ViewController', view_controller_group, target) file_creator.create_file(presenter_name, 'Presenter', presenter_group, target) file_creator.create_file(presenter_name, 'PresenterImplementation', presenter_group, target) file_creator.print_file_content(presenter_name, 'DependencyProvider') file_creator.print_file_content(presenter_name, 'PresenterAssembly') end |