Class: JsonWorld::LinkDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/json_world/link_definition.rb

Constant Summary collapse

DEFAULT_HTTP_METHOD =
"GET"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(link_name: nil, **options) ⇒ LinkDefinition

Returns a new instance of LinkDefinition.

Parameters:

  • link_name (Symbol) (defaults to: nil)
  • options (Hash{Symbol => Object})


10
11
12
13
# File 'lib/json_world/link_definition.rb', line 10

def initialize(link_name: nil, **options)
  @options = options
  @link_name = link_name
end

Instance Attribute Details

Returns:

  • (Symbol)


6
7
8
# File 'lib/json_world/link_definition.rb', line 6

def link_name
  @link_name
end

Instance Method Details

#as_json_schemaHash

TODO:

Returns:

  • (Hash)


17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/json_world/link_definition.rb', line 17

def as_json_schema
  {
    description: description,
    href: path,
    mediaType: media_type,
    method: http_method,
    rel: rel,
    schema: schema,
    targetSchema: target_schema,
    title: title,
  }.reject do |_key, value|
    value.nil? || value.empty?
  end
end