Class: USCoreTestKit::Client::Generator::TagsGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/us_core_test_kit/client/generator/tags_generator.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ig_metadata, base_output_dir) ⇒ TagsGenerator

Returns a new instance of TagsGenerator.



15
16
17
18
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 15

def initialize(, base_output_dir)
  self. = 
  self.base_output_dir = base_output_dir
end

Instance Attribute Details

#base_output_dirObject

Returns the value of attribute base_output_dir.



13
14
15
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 13

def base_output_dir
  @base_output_dir
end

#ig_metadataObject

Returns the value of attribute ig_metadata.



13
14
15
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 13

def 
  @ig_metadata
end

Class Method Details

.generate(ig_metadata, base_output_dir) ⇒ Object



8
9
10
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 8

def generate(, base_output_dir)
  new(, base_output_dir).generate
end

Instance Method Details

#base_output_file_nameObject



32
33
34
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 32

def base_output_file_name
  'tags.rb'
end

#generateObject



49
50
51
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 49

def generate
  File.write(output_file_name, output)
end

#groupsObject



36
37
38
39
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 36

def groups
  .ordered_groups
    .reject { |group| USCoreTestKit::Generator::SpecialCases.exclude_group? group }
end

#module_nameObject



20
21
22
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 20

def module_name
  "USCoreClient#{.reformatted_version.upcase}"
end

#outputObject



28
29
30
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 28

def output
  @output ||= ERB.new(template, trim_mode: '-').result(binding)
end

#output_file_nameObject



45
46
47
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 45

def output_file_name
  File.join(base_output_dir, base_output_file_name)
end

#resourcesObject



41
42
43
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 41

def resources
  groups.map { |group| group.resource }.uniq
end

#templateObject



24
25
26
# File 'lib/us_core_test_kit/client/generator/tags_generator.rb', line 24

def template
  @template ||= File.read(File.join(__dir__, 'templates', 'tags.rb.erb'))
end