Class: Raddocs::Parameters

Inherits:
Object
  • Object
show all
Defined in:
lib/raddocs/models.rb

Overview

An example’s parameters, requires a class because the table can display unknown columns

Constant Summary collapse

SPECIAL_KEYS =
["name", "description", "required", "scope"]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Parameters

Collection object for parameters to pull out unknown keys so they can be displayed on the example page.

Examples:

params = Parameters.new([
  {"name" => "page", "description" => "Page number", "Type" => "Integer"}
])
params.extra_keys
# => ["Type"]

Parameters:



83
84
85
86
# File 'lib/raddocs/models.rb', line 83

def initialize(params)
  @params = params.map { |param| Parameter.new(param) }
  @extra_keys = params.flat_map(&:keys).uniq - SPECIAL_KEYS
end

Instance Attribute Details

#extra_keysObject (readonly)

Returns the value of attribute extra_keys.



67
68
69
# File 'lib/raddocs/models.rb', line 67

def extra_keys
  @extra_keys
end

#paramsObject (readonly)

Returns the value of attribute params.



67
68
69
# File 'lib/raddocs/models.rb', line 67

def params
  @params
end

Instance Method Details

#present?Boolean

Returns true if params contains elements.

Returns:

  • (Boolean)

    true if params contains elements



89
90
91
# File 'lib/raddocs/models.rb', line 89

def present?
  @params.count > 0
end