Class: Code::Object::Argument

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Code::Object

#<=>, #==, call, #call, #code_and_operator, code_and_operator, #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_or_operator, #code_or_operator, code_self, #code_self, code_to_string, #code_to_string, falsy?, #falsy?, #hash, inspect, maybe, multi_fetch, #multi_fetch, repeat, #sig, sig, to_s, truthy?, #truthy?, |

Constructor Details

#initialize(value, name: nil) ⇒ Argument

Returns a new instance of Argument.



8
9
10
11
# File 'lib/code/object/argument.rb', line 8

def initialize(value, name: nil)
  @value = value
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



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

def name
  @name
end

#valueObject (readonly)

Returns the value of attribute value.



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

def value
  @value
end

Class Method Details

.nameObject



13
14
15
# File 'lib/code/object/argument.rb', line 13

def self.name
  "Argument"
end

Instance Method Details

#inspectObject



17
18
19
# File 'lib/code/object/argument.rb', line 17

def inspect
  to_s
end

#keyword?Boolean

Returns:



21
22
23
# File 'lib/code/object/argument.rb', line 21

def keyword?
  !regular?
end

#name_valueObject



25
26
27
# File 'lib/code/object/argument.rb', line 25

def name_value
  [name, value]
end

#regular?Boolean

Returns:



29
30
31
# File 'lib/code/object/argument.rb', line 29

def regular?
  !name
end

#to_sObject



33
34
35
# File 'lib/code/object/argument.rb', line 33

def to_s
  "<Argument #{value.inspect}>"
end