Class: USCoreTestKit::Client::Generator::WaitGroupGenerator
- Inherits:
-
Object
- Object
- USCoreTestKit::Client::Generator::WaitGroupGenerator
- Defined in:
- lib/us_core_test_kit/client/generator/wait_group_generator.rb
Instance Attribute Summary collapse
-
#base_output_dir ⇒ Object
Returns the value of attribute base_output_dir.
-
#ig_metadata ⇒ Object
Returns the value of attribute ig_metadata.
Class Method Summary collapse
Instance Method Summary collapse
- #base_output_file_name ⇒ Object
- #check_list ⇒ Object
- #class_name ⇒ Object
- #generate ⇒ Object
- #groups ⇒ Object
-
#initialize(ig_metadata, base_output_dir) ⇒ WaitGroupGenerator
constructor
A new instance of WaitGroupGenerator.
- #output ⇒ Object
- #output_file_name ⇒ Object
- #template ⇒ Object
Constructor Details
#initialize(ig_metadata, base_output_dir) ⇒ WaitGroupGenerator
Returns a new instance of WaitGroupGenerator.
15 16 17 18 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 15 def initialize(, base_output_dir) self. = self.base_output_dir = base_output_dir end |
Instance Attribute Details
#base_output_dir ⇒ Object
Returns the value of attribute base_output_dir.
13 14 15 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 13 def base_output_dir @base_output_dir end |
#ig_metadata ⇒ Object
Returns the value of attribute ig_metadata.
13 14 15 |
# File 'lib/us_core_test_kit/client/generator/wait_group_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/wait_group_generator.rb', line 8 def generate(, base_output_dir) new(, base_output_dir).generate end |
Instance Method Details
#base_output_file_name ⇒ Object
32 33 34 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 32 def base_output_file_name "#{class_name.underscore}.rb" end |
#check_list ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 45 def check_list groups .map do |group| profile_name = USCoreTestKit::Generator::Naming.upper_camel_case_for_profile(group) profile_header = "* **#{profile_name}**" profile_id = " * read id:\n * us-core-client-tests-#{profile_name.underscore.dasherize}" required_searches = group.searches.each do |search| next unless search[:expectation] == 'SHALL' search end searches = " * searches:" search_list = required_searches.map do |search| " * #{search[:names].join(' + ')}" end "#{profile_header}\n#{profile_id}\n#{searches}\n#{search_list.join("\n")}" end .join("\n") end |
#class_name ⇒ Object
28 29 30 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 28 def class_name "WaitGroup" end |
#generate ⇒ Object
65 66 67 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 65 def generate File.write(output_file_name, output) end |
#groups ⇒ Object
40 41 42 43 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 40 def groups .ordered_groups .reject { |group| USCoreTestKit::Generator::SpecialCases.exclude_group? group } end |
#output ⇒ Object
24 25 26 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 24 def output @output ||= ERB.new(template).result(binding) end |
#output_file_name ⇒ Object
36 37 38 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 36 def output_file_name File.join(base_output_dir, base_output_file_name) end |
#template ⇒ Object
20 21 22 |
# File 'lib/us_core_test_kit/client/generator/wait_group_generator.rb', line 20 def template @template ||= File.read(File.join(__dir__, 'templates', 'wait_group.rb.erb')) end |