Class: Kapusta::Sym

Inherits:
Object
  • Object
show all
Defined in:
lib/kapusta/ast.rb

Direct Known Subclasses

GeneratedSym

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Sym

Returns a new instance of Sym.



15
16
17
# File 'lib/kapusta/ast.rb', line 15

def initialize(name)
  @name = name.to_s
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



13
14
15
# File 'lib/kapusta/ast.rb', line 13

def name
  @name
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



27
28
29
# File 'lib/kapusta/ast.rb', line 27

def ==(other)
  other.instance_of?(self.class) && other.name == @name
end

#binding_keyObject



36
37
38
# File 'lib/kapusta/ast.rb', line 36

def binding_key
  @name
end

#dotted?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/kapusta/ast.rb', line 40

def dotted?
  @name != '.' && @name.include?('.')
end

#hashObject



32
33
34
# File 'lib/kapusta/ast.rb', line 32

def hash
  [self.class, @name].hash
end

#inspectObject



23
24
25
# File 'lib/kapusta/ast.rb', line 23

def inspect
  "#<Sym #{@name}>"
end

#segmentsObject



44
45
46
# File 'lib/kapusta/ast.rb', line 44

def segments
  @name.split('.')
end

#to_sObject



19
20
21
# File 'lib/kapusta/ast.rb', line 19

def to_s
  @name
end