class Lacerda::Specification
Attributes
schema[R]
service[R]
Public Class Methods
new(service, schema_or_file)
click to toggle source
# File lib/lacerda/specification.rb, line 9 def initialize(service, schema_or_file) @service = service load_schema(schema_or_file) end
Public Instance Methods
objects()
click to toggle source
# File lib/lacerda/specification.rb, line 14 def objects return [] unless @schema[:definitions] @schema[:definitions].map do |scoped_name, schema| next if !scoped_name.index(SCOPE_SEPARATOR) object_description_class.new(service, scoped_name, schema) end.compact end
Private Instance Methods
load_schema(schema_or_file)
click to toggle source
# File lib/lacerda/specification.rb, line 24 def load_schema(schema_or_file) if schema_or_file.is_a?(Hash) @schema = schema_or_file elsif File.readable?(schema_or_file) @schema = JSON.parse(open(schema_or_file).read) else @schema = {} end @schema = @schema.with_indifferent_access @schema[:definitions] ||= {} @schema end