Sha256: 5d642257d27f0626c9f8df15690c3be05c4fe2247df445b35bbbe362a40e992a

Contents?: true

Size: 913 Bytes

Versions: 2

Compression:

Stored size: 913 Bytes

Contents

# frozen_string_literal: true

require_relative '../parser/variant_parser'
require_relative '../parser/variant_descriptor_parser'
require_relative '../parser/app_size_parser'

# Used to parse sections of the App Thinning Size Report using different parsers
class ResultFactory
  def self.parse(from_text: '', parser: nil)
    result = nil
    case parser
    when :variant
      variant_parser = VariantParser.new(from_text)
      variant_parser.parse
      result = variant_parser.result
    when :supported_variant_descriptors
      variant_descriptor_parser = VariantDescriptorParser.new(from_text)
      variant_descriptor_parser.parse
      result = variant_descriptor_parser.result
    when :app_on_demand_resources_size, :app_size, :on_demand_resources_size
      app_size_parser = AppSizeParser.new(from_text)
      app_size_parser.parse
      result = app_size_parser.result
    end
    result
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
danger-app_size_report-1.1.0 lib/converter/helper/result_factory.rb
danger-app_size_report-1.0.0 lib/converter/helper/result_factory.rb