class ApidocoDsl::Param
Constants
- SETTABLE
Attributes
param_description[RW]
param_key[RW]
param_notes[RW]
param_required[RW]
param_type[RW]
param_validations[RW]
params[RW]
parent[RW]
Public Class Methods
new(param_key:, param_type:, param_description: nil, param_notes: nil, param_validations: nil, param_required: false, parent: nil)
click to toggle source
# File lib/apidoco_dsl/param.rb, line 10 def initialize(param_key:, param_type:, param_description: nil, param_notes: nil, param_validations: nil, param_required: false, parent: nil) @param_key = param_key @param_type = param_type @param_description = param_description @param_notes = param_notes @param_validations = param_validations @param_required = param_required @parent = parent @params = [] @api = parent.api end
Public Instance Methods
display_key()
click to toggle source
# File lib/apidoco_dsl/param.rb, line 55 def display_key return param_key.to_s unless @parent && @parent.is_a?(Param) return "[#{param_key.to_s}]" end
doc_request_params()
click to toggle source
# File lib/apidoco_dsl/param.rb, line 38 def doc_request_params @params end
Also aliased as: doc_response_params
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/apidoco_dsl/param.rb, line 29 def method_missing(name, *args) return set_attribute(name, *args) if SETTABLE.include?(name.to_s) super end
set_attribute(name, value)
click to toggle source
# File lib/apidoco_dsl/param.rb, line 34 def set_attribute(name, value) self.send(:"param_#{name}=", value) end
to_h()
click to toggle source
# File lib/apidoco_dsl/param.rb, line 43 def to_h param = {} param['key'] = compound_key param['type'] = param_type unless param_type.nil? param['description'] = param_description unless param_description.nil? param['notes'] = param_notes unless param_notes.nil? param['required'] = param_required param['validations'] = param_validations unless param_validations.nil? return param end
Private Instance Methods
compound_key()
click to toggle source
# File lib/apidoco_dsl/param.rb, line 62 def compound_key return param_key.to_s unless @parent && @parent.is_a?(Param) ancestors = [] this_parent = @parent ancestor = this_parent while ancestor ancestors << ancestor ancestor = ancestor.try(:parent) end keys = ancestors.map{|a| a.try(:display_key) }.reverse compounded = keys.map(&:to_s).join('') return compounded + display_key end
push_to()
click to toggle source
# File lib/apidoco_dsl/param.rb, line 80 def push_to @params end