class Apipie::ResponseDescriptionAdapter

Attributes

additional_properties[RW]
typename[RW]

Public Class Methods

from_self_describing_class(cls) click to toggle source
# File lib/apipie/response_description_adapter.rb, line 149
def self.from_self_describing_class(cls)
  adapter = ResponseDescriptionAdapter.new(cls.to_s)
  props = cls.describe_own_properties
  adapter.add_property_descriptions(props)
  adapter
end
new(typename) click to toggle source
# File lib/apipie/response_description_adapter.rb, line 156
def initialize(typename)
  @property_descs = []
  @additional_properties = false
  @typename = typename
end

Public Instance Methods

add(prop_desc) click to toggle source
# File lib/apipie/response_description_adapter.rb, line 172
def add(prop_desc)
  if prop_desc.is_a? PropDesc
    @property_descs << prop_desc
  elsif prop_desc.is_a? Modifier
    prop_desc.apply(self)
  else
    raise "Unrecognized prop_desc type (#{prop_desc.class})"
  end
end
add_property_descriptions(prop_descs) click to toggle source
# File lib/apipie/response_description_adapter.rb, line 182
def add_property_descriptions(prop_descs)
  for prop_desc in prop_descs
    add(prop_desc)
  end
end
allow_additional_properties() click to toggle source
# File lib/apipie/response_description_adapter.rb, line 164
def allow_additional_properties
  additional_properties
end
is_array?() click to toggle source
# File lib/apipie/response_description_adapter.rb, line 196
def is_array?
  false
end
params_ordered() click to toggle source
# File lib/apipie/response_description_adapter.rb, line 192
def params_ordered
  @property_descs
end
property(name, expected_type, options) click to toggle source
# File lib/apipie/response_description_adapter.rb, line 188
def property(name, expected_type, options)
  @property_descs << PropDesc.new(name, expected_type, options)
end
to_json() click to toggle source
# File lib/apipie/response_description_adapter.rb, line 168
def to_json
  params_ordered.to_json
end