Module: Croods::Resource::JsonSchema

Defined in:
lib/croods/resource/json_schema.rb,
lib/croods/resource/json_schema/links.rb,
lib/croods/resource/json_schema/required.rb,
lib/croods/resource/json_schema/definition.rb,
lib/croods/resource/json_schema/links/show.rb,
lib/croods/resource/json_schema/properties.rb,
lib/croods/resource/json_schema/definitions.rb,
lib/croods/resource/json_schema/links/index.rb,
lib/croods/resource/json_schema/links/create.rb,
lib/croods/resource/json_schema/links/member.rb,
lib/croods/resource/json_schema/links/update.rb,
lib/croods/resource/json_schema/links/destroy.rb,
lib/croods/resource/json_schema/links/collection.rb

Defined Under Namespace

Modules: Definition, Definitions, Links, Properties, Required

Instance Method Summary collapse

Instance Method Details

#json_schemaObject



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/croods/resource/json_schema.rb', line 12

def json_schema
  return @json_schema if @json_schema

  path = File.expand_path('json_schema/initial_schema.json', __dir__)
  @json_schema = JSON.parse(File.read(path))
  @json_schema['definitions'] = Definitions.schema(self)
  @json_schema['properties'] = Properties.schema(self)
  @json_schema['required'] = Required.schema(self)
  @json_schema['links'] = Links.schema(self)
  @json_schema
end

#ref(attribute = nil) ⇒ Object



24
25
26
27
28
29
# File 'lib/croods/resource/json_schema.rb', line 24

def ref(attribute = nil)
  {
    '$ref': "#/definitions/#{resource_name}" +
      (attribute ? "/definitions/#{attribute}" : '')
  }
end