Sha256: 1b427ace19559486850002154ff0a92cf25d9a4e8795637615f1443210bd6923

Contents?: true

Size: 1.07 KB

Versions: 7

Compression:

Stored size: 1.07 KB

Contents

module IpaTestKit
  class Generator
    class ResourceListGenerator
      class << self
        def generate(ig_metadata, base_output_dir)
          @ig_metadata = ig_metadata

          FileUtils.mkdir_p(base_output_dir)
          File.open(File.join(base_output_dir, base_output_file_name), 'w') { |f| f.write(output) }
        end

        def resource_list
          @ig_metadata.groups.map(&:resource).uniq
        end

        def resource_list_string
          resource_list.map { |resource| "      '#{resource}'" }.join(",\n")
        end

        def module_name
          "Ipa#{@ig_metadata.reformatted_version.upcase}"
        end

        def read_interaction(group_metadata)
          group_metadata.interactions.find { |interaction| interaction[:code] == 'read' }
        end

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

        def output
          ERB.new(template).result(binding)
        end

        def base_output_file_name
          "resource_list.rb"
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ipa_test_kit-0.4.1 lib/ipa_test_kit/generator/resource_list_generator.rb
ipa_test_kit-0.4.0 lib/ipa_test_kit/generator/resource_list_generator.rb
ipa_test_kit-0.3.4 lib/ipa_test_kit/generator/resource_list_generator.rb
ipa_test_kit-0.3.3 lib/ipa_test_kit/generator/resource_list_generator.rb
ipa_test_kit-0.3.2 lib/ipa_test_kit/generator/resource_list_generator.rb
ipa_test_kit-0.3.1 lib/ipa_test_kit/generator/resource_list_generator.rb
ipa_test_kit-0.3.0 lib/ipa_test_kit/generator/resource_list_generator.rb