Class: Kapusta::Sym

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

Direct Known Subclasses

AutoGensym, GeneratedSym

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Sym

Returns a new instance of Sym.



17
18
19
# File 'lib/kapusta/ast.rb', line 17

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

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



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

def name
  @name
end

Instance Method Details

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



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

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

#binding_keyObject



38
39
40
# File 'lib/kapusta/ast.rb', line 38

def binding_key
  @name
end

#dotted?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/kapusta/ast.rb', line 42

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

#hashObject



34
35
36
# File 'lib/kapusta/ast.rb', line 34

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

#inspectObject



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

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

#segmentsObject



46
47
48
# File 'lib/kapusta/ast.rb', line 46

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

#to_sObject



21
22
23
# File 'lib/kapusta/ast.rb', line 21

def to_s
  @name
end