Class: RedSnow::Parameter

Inherits:
NamedBlueprintNode show all
Defined in:
lib/redsnow/blueprint.rb

Overview

URI parameter Blueprint AST node

represents one 'parameters section' parameter

Instance Attribute Summary collapse

Attributes inherited from NamedBlueprintNode

#description, #name

Instance Method Summary collapse

Methods inherited from NamedBlueprintNode

#ensure_description_newlines

Constructor Details

#initialize(sc_parameter_handle) ⇒ Parameter

Returns a new instance of Parameter.

Parameters:

  • sc_parameter_handle (FFI::Pointer)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# File 'lib/redsnow/blueprint.rb', line 153

def initialize(sc_parameter_handle)
  @name = RedSnow::Binding.sc_parameter_name(sc_parameter_handle)
  @description = RedSnow::Binding.sc_parameter_description(sc_parameter_handle)
  @type = RedSnow::Binding.sc_parameter_type(sc_parameter_handle)
  @use =  RedSnow::Binding.sc_parameter_parameter_use(sc_parameter_handle)
  @default_value = RedSnow::Binding.sc_parameter_default_value(sc_parameter_handle)
  @example_value = RedSnow::Binding.sc_parameter_example_value(sc_parameter_handle)

  @values = []

  sc_value_collection_handle = RedSnow::Binding.sc_value_collection_handle(sc_parameter_handle)
  sc_value_collection_size = RedSnow::Binding.sc_value_collection_size(sc_value_collection_handle)

  return if sc_value_collection_size == 0

  values_size = sc_value_collection_size - 1

  (0..values_size).each do |value_index|
    sc_value_handle = RedSnow::Binding.sc_value_handle(sc_value_collection_handle, value_index)
    @values << RedSnow::Binding.sc_value(sc_value_handle)
  end
end

Instance Attribute Details

#default_valueString

default value of the parameter or nil This is a value used when the parameter is ommited in the request.

Returns:

  • (String)

    the current value of default_value



145
146
147
# File 'lib/redsnow/blueprint.rb', line 145

def default_value
  @default_value
end

#example_valueString

example value of the parameter or nil

Returns:

  • (String)

    the current value of example_value



145
146
147
# File 'lib/redsnow/blueprint.rb', line 145

def example_value
  @example_value
end

#typeString

an arbitrary type of the parameter or nil

Returns:

  • (String)

    the current value of type



145
146
147
# File 'lib/redsnow/blueprint.rb', line 145

def type
  @type
end

#useSymbol

parameter necessity flag, ‘:required`, `:optional` or :undefined Where `:undefined` implies `:required` according to the API Blueprint Specification

Returns:

  • (Symbol)

    the current value of use



145
146
147
# File 'lib/redsnow/blueprint.rb', line 145

def use
  @use
end

#valuesArray<String>

an enumeration of possible parameter values

Returns:

  • (Array<String>)

    the current value of values



145
146
147
# File 'lib/redsnow/blueprint.rb', line 145

def values
  @values
end