Class: Kapusta::Sym

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

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.is_a?(Sym) && other.name == @name
end

#dotted?Boolean

Returns:

  • (Boolean)


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

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

#hashObject



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

def hash
  @name.hash
end

#inspectObject



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

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

#segmentsObject



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

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

#to_sObject



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

def to_s
  @name
end