class Aries::Param
Attributes
parent[R]
Public Class Methods
new(name, definition, parent = nil, options = {})
click to toggle source
# File lib/aries/param.rb, line 7 def initialize name, definition, parent = nil, options = {} @name = name @definition = definition @parent = parent @param_type = options[:type] end
Public Instance Methods
has_children?()
click to toggle source
@return [TrueClass, FalseClass] whether contains child parameters
# File lib/aries/param.rb, line 40 def has_children? @definition.type.detect{|type| type == "object" } != nil end
inspect()
click to toggle source
# File lib/aries/param.rb, line 49 def inspect return "#<Aries::Param name=#{name} >" end
name()
click to toggle source
# File lib/aries/param.rb, line 14 def name @name end
optional?()
click to toggle source
@return [TrueClass, FalseClass] whether contains null or not
# File lib/aries/param.rb, line 35 def optional? @definition.type.detect{|type| type == "null" } != nil end
params()
click to toggle source
@return [Array<Aries::Param>]
# File lib/aries/param.rb, line 28 def params @definition.properties.map do |name, definition| Aries::Param.new name, definition, self, type: @param_type end end
pretty_name()
click to toggle source
@return [String] name of param
# File lib/aries/param.rb, line 19 def pretty_name if @param_type == :url && has_resource? "#{@parent.parent.name}_#{name}" else name end end
type()
click to toggle source
@return [Array<Aries::Type>]
# File lib/aries/param.rb, line 45 def type Aries::ParamType.new @definition.type.detect{|type| type != "null"}, self end
Private Instance Methods
has_resource?()
click to toggle source
# File lib/aries/param.rb, line 65 def has_resource? if parent.kind_of?(Param) parent.has_resource? else parent.respond_to?(:parent) && parent.parent.kind_of?(Resource) end end
param_tree()
click to toggle source
# File lib/aries/param.rb, line 55 def param_tree trees = [self] pr = parent while pr.kind_of?(Param) trees.unshift pr pr = pr.parent end trees end