Class: RepositoryGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/ccios/repository_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(parser) ⇒ RepositoryGenerator

Returns a new instance of RepositoryGenerator.



6
7
8
# File 'lib/ccios/repository_generator.rb', line 6

def initialize(parser)
  @parser = parser
end

Instance Method Details

#generate(repository_name, options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/ccios/repository_generator.rb', line 10

def generate(repository_name, options = {})
  core_group = @parser.core_group
  core_data_group = core_group["Data"]
  data_group = @parser.data_group
  raise "[Error] Group #{repository_name} already exists in #{core_data_group.display_name}" if core_data_group[repository_name]
  core_data_new_group = core_data_group.new_group(repository_name)

  raise "[Error] Group #{repository_name} already exists in #{data_group.display_name}" if data_group[repository_name]
  data_new_group = data_group.new_group(repository_name)

  file_creator = FileCreator.new(@parser.source_path, options)
  target = @parser.main_target
  file_creator.create_file(repository_name, 'Repository', core_data_new_group, target)
  file_creator.create_file(repository_name, 'RepositoryImplementation', data_new_group, target)

  file_creator.print_file_content(repository_name, 'RepositoryAssembly')
end