Class: Code::Object::Argument

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Code::Object

#<=>, #==, #[], #[]=, #call, #falsy?, #hash, #key?, #truthy?

Constructor Details

#initialize(value, name: nil, splat: false, keyword_splat: false, block: false) ⇒ Argument

Returns a new instance of Argument.



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/code/object/argument.rb', line 6

def initialize(
  value,
  name: nil,
  splat: false,
  keyword_splat: false,
  block: false
)
  @value = value
  @name = name
  @splat = !!splat
  @keyword_splat = !!keyword_splat
  @block = !!block
end

Instance Attribute Details

#blockObject (readonly)

Returns the value of attribute block.



4
5
6
# File 'lib/code/object/argument.rb', line 4

def block
  @block
end

#keyword_splatObject (readonly)

Returns the value of attribute keyword_splat.



4
5
6
# File 'lib/code/object/argument.rb', line 4

def keyword_splat
  @keyword_splat
end

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/code/object/argument.rb', line 4

def name
  @name
end

#splatObject (readonly)

Returns the value of attribute splat.



4
5
6
# File 'lib/code/object/argument.rb', line 4

def splat
  @splat
end

#valueObject (readonly)

Returns the value of attribute value.



4
5
6
# File 'lib/code/object/argument.rb', line 4

def value
  @value
end

Instance Method Details

#inspectObject



36
37
38
# File 'lib/code/object/argument.rb', line 36

def inspect
  to_s
end

#keyword?Boolean

Returns:



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

def keyword?
  !regular?
end

#name_valueObject



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

def name_value
  [name, value]
end

#regular?Boolean

Returns:



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

def regular?
  !name
end

#to_sObject



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

def to_s
  "argument"
end