Class: Code::Object::Parameter

Inherits:
Code::Object show all
Defined in:
lib/code/object/parameter.rb

Instance Attribute Summary

Attributes inherited from Code::Object

#raw

Instance Method Summary collapse

Methods inherited from Code::Object

#<=>, #==, #as_json, as_json, call, #call, #code_and_operator, code_and_operator, code_as_json, #code_as_json, code_different, #code_different, code_equal_equal, #code_equal_equal, code_equal_equal_equal, #code_equal_equal_equal, #code_exclamation_point, code_exclamation_point, code_exclusive_range, #code_exclusive_range, code_inclusive_range, #code_inclusive_range, code_new, code_or_operator, #code_or_operator, #code_self, code_self, code_to_json, #code_to_json, #falsy?, falsy?, #hash, inspect, #inspect, maybe, multi_fetch, #multi_fetch, repeat, sig, #sig, #succ, to_json, #to_json, to_s, #to_s, truthy?, #truthy?, |

Constructor Details

#initialize(*args, **_kargs, &_block) ⇒ Parameter

Returns a new instance of Parameter.



6
7
8
# File 'lib/code/object/parameter.rb', line 6

def initialize(*args, **_kargs, &_block)
  @raw = Dictionary.new(args.first.presence || {})
end

Instance Method Details

#code_defaultObject



34
35
36
# File 'lib/code/object/parameter.rb', line 34

def code_default
  Code.new(raw.code_get(String.new(:default)))
end

#code_keyword?Boolean

Returns:



18
19
20
# File 'lib/code/object/parameter.rb', line 18

def code_keyword?
  Boolean.new(raw.code_get(String.new(:keyword?)))
end

#code_keyword_splat?Boolean

Returns:



30
31
32
# File 'lib/code/object/parameter.rb', line 30

def code_keyword_splat?
  Boolean.new(raw.code_get(String.new(:keyword_splat?)))
end

#code_nameObject



10
11
12
# File 'lib/code/object/parameter.rb', line 10

def code_name
  String.new(raw.code_get(String.new(:name)))
end

#code_regular?Boolean

Returns:



14
15
16
# File 'lib/code/object/parameter.rb', line 14

def code_regular?
  Boolean.new(raw.code_get(String.new(:regular?)))
end

#code_regular_splat?Boolean

Returns:



26
27
28
# File 'lib/code/object/parameter.rb', line 26

def code_regular_splat?
  Boolean.new(raw.code_get(String.new(:regular_splat?)))
end

#evaluateObject



38
39
40
# File 'lib/code/object/parameter.rb', line 38

def evaluate(...)
  default.evaluate(...)
end

#keyword?Boolean

Returns:



46
47
48
# File 'lib/code/object/parameter.rb', line 46

def keyword?
  code_keyword?.truthy?
end

#keyword_splat?Boolean

Returns:



54
55
56
# File 'lib/code/object/parameter.rb', line 54

def keyword_splat?
  code_keyword_splat?.truthy?
end

#regular?Boolean

Returns:



42
43
44
# File 'lib/code/object/parameter.rb', line 42

def regular?
  code_regular?.truthy?
end

#regular_splat?Boolean

Returns:



50
51
52
# File 'lib/code/object/parameter.rb', line 50

def regular_splat?
  code_regular_splat?.truthy?
end