class Atum::Core::Schema::ResourceSchema
Attributes
name[R]
Public Class Methods
new(schema, definition, name)
click to toggle source
Instantiate a resource schema.
@param schema [ApiSchema] The whole document’s schema @param name [String] The name of the resource to identify in the schema.
# File lib/atum/core/schema/resource_schema.rb, line 11 def initialize(schema, definition, name) @schema = schema @name = name @definition = definition end
Public Instance Methods
link_schema_for(name)
click to toggle source
Get a schema for a named link.
@param name [String] The name of the link. @raise [SchemaError] Raised if an unknown link name is provided.
# File lib/atum/core/schema/resource_schema.rb, line 25 def link_schema_for(name) link_schema = link_schema_hash[name] raise SchemaError, "Unknown link '#{name}'." unless link_schema link_schema end
link_schemas()
click to toggle source
The link schema children that are part of this resource schema.
@return [Array<LinkSchema>] The link schema children.
# File lib/atum/core/schema/resource_schema.rb, line 34 def link_schemas link_schema_hash.values end
Private Instance Methods
link_schema_hash()
click to toggle source
# File lib/atum/core/schema/resource_schema.rb, line 40 def link_schema_hash @link_schema_hash ||= @definition['links'].each_with_object({}) do |link, memo| memo[link['title'].downcase.gsub(' ', '_')] = LinkSchema.new(@schema, self, link) end end