Sha256: e6f8c0f67a57975f12cec271417678fd3d83702864d60e43bc0c57d878fcd790

Contents?: true

Size: 821 Bytes

Versions: 13

Compression:

Stored size: 821 Bytes

Contents

module TryApi
  class Parameter < TryApi::Base
    typesafe_accessor :name, String
    typesafe_accessor :type, String
    typesafe_accessor :parameters, Array, default: []
    typesafe_accessor :required, Boolean, default: true
    typesafe_accessor :description, String

    class << self
      def parse(hash)
        instance = self.new
        instance.name = hash[:name]
        instance.type = hash[:type]
        instance.required = hash[:required]
        instance.description = hash[:description]

        instance.parameters = []
        if hash[:parameters].is_a? Array
          hash[:parameters].each do |parameter|
            instance.parameters << TryApi::Parameter.parse(parameter)
          end
        else
          #   TODO raise exception ?
        end

        instance
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
try_api-0.0.18 app/models/try_api/parameter.rb
try_api-0.0.17 app/models/try_api/parameter.rb
try_api-0.0.16 app/models/try_api/parameter.rb
try_api-0.0.15 app/models/try_api/parameter.rb
try_api-0.0.14 app/models/try_api/parameter.rb
try_api-0.0.13 app/models/try_api/parameter.rb
try_api-0.0.12 app/models/try_api/parameter.rb
try_api-0.0.11 app/models/try_api/parameter.rb
try_api-0.0.10 app/models/try_api/parameter.rb
try_api-0.0.9 app/models/try_api/parameter.rb
try_api-0.0.8 app/models/try_api/parameter.rb
try_api-0.0.7 app/models/try_api/parameter.rb
try_api-0.0.6 app/models/try_api/parameter.rb