Sha256: 98cc2c2c087fe3d1992e3a12b8d9f4147035e6be6ec6a311f3b75c7465a99bb0

Contents?: true

Size: 673 Bytes

Versions: 23

Compression:

Stored size: 673 Bytes

Contents

# frozen_string_literal: true

require 'app_store_connect/schema/type'
require 'app_store_connect/schema/object'
require 'app_store_connect/schema/web_service_endpoint'

module AppStoreConnect
  class Schema
    attr_reader :types, :web_service_endpoints, :objects

    def initialize(path)
      schema = JSON.parse(File.read(path)).deep_symbolize_keys
      @types = schema[:types].map do |options|
        Type.new(options)
      end
      @web_service_endpoints = schema[:web_service_endpoints].map do |options|
        WebServiceEndpoint.new(options)
      end
      @objects = schema[:objects].map do |options|
        Object.new(options)
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
app_store_connect-0.16.0 lib/app_store_connect/schema.rb
app_store_connect-0.15.0 lib/app_store_connect/schema.rb
app_store_connect-0.14.0 lib/app_store_connect/schema.rb