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.



7
8
9
# File 'lib/kapusta/ast.rb', line 7

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

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/kapusta/ast.rb', line 5

def name
  @name
end

Instance Method Details

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



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

def ==(other)
  other.is_a?(Sym) && other.name == @name
end

#dotted?Boolean

Returns:

  • (Boolean)


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

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

#hashObject



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

def hash
  @name.hash
end

#inspectObject



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

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

#segmentsObject



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

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

#to_sObject



11
12
13
# File 'lib/kapusta/ast.rb', line 11

def to_s
  @name
end