Class: RedSnow::Sourcemap::Parameter

Inherits:
NamedNode show all
Defined in:
lib/redsnow/sourcemap.rb

Overview

Parameter source map node

Instance Attribute Summary collapse

Attributes inherited from NamedNode

#description, #name

Instance Method Summary collapse

Constructor Details

#initialize(sc_sm_parameter_handle) ⇒ Parameter

Returns a new instance of Parameter.

Parameters:

  • sc_sm_parameter_handle (FFI::Pointer)


90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/redsnow/sourcemap.rb', line 90

def initialize(sc_sm_parameter_handle)
  @name = SourceMap.new(RedSnow::Binding.sc_sm_parameter_name(sc_sm_parameter_handle))
  @description = SourceMap.new(RedSnow::Binding.sc_sm_parameter_description(sc_sm_parameter_handle))
  @type = SourceMap.new(RedSnow::Binding.sc_sm_parameter_type(sc_sm_parameter_handle))
  @use =  SourceMap.new(RedSnow::Binding.sc_sm_parameter_parameter_use(sc_sm_parameter_handle))
  @default_value = SourceMap.new(RedSnow::Binding.sc_sm_parameter_default_value(sc_sm_parameter_handle))
  @example_value = SourceMap.new(RedSnow::Binding.sc_sm_parameter_example_value(sc_sm_parameter_handle))

  @values = []

  sc_sm_value_collection_handle = RedSnow::Binding.sc_sm_value_collection_handle(sc_sm_parameter_handle)
  sc_sm_value_collection_size = RedSnow::Binding.sc_sm_value_collection_size(sc_sm_value_collection_handle)

  return if sc_sm_value_collection_size == 0

  values_size = sc_sm_value_collection_size - 1

  (0..values_size).each do |value_index|
    sc_sm_value_handle = RedSnow::Binding.sc_sm_value_handle(sc_sm_value_collection_handle, value_index)
    @values << SourceMap.new(RedSnow::Binding.sc_sm_value(sc_sm_value_handle))
  end
end

Instance Attribute Details

#default_valueSourcemap

default value of the parameter or nil

Returns:

  • (Sourcemap)

    the current value of default_value



82
83
84
# File 'lib/redsnow/sourcemap.rb', line 82

def default_value
  @default_value
end

#example_valueSourcemap

example value of the parameter or nil

Returns:

  • (Sourcemap)

    the current value of example_value



82
83
84
# File 'lib/redsnow/sourcemap.rb', line 82

def example_value
  @example_value
end

#typeSourcemap

an arbitrary type of the parameter or nil

Returns:



82
83
84
# File 'lib/redsnow/sourcemap.rb', line 82

def type
  @type
end

#useSourcemap

parameter necessity flag, ‘:required` or `:optional`

Returns:



82
83
84
# File 'lib/redsnow/sourcemap.rb', line 82

def use
  @use
end

#valuesArray<Sourcemap>

an enumeration of possible parameter values

Returns:

  • (Array<Sourcemap>)

    the current value of values



82
83
84
# File 'lib/redsnow/sourcemap.rb', line 82

def values
  @values
end