Class: Cyclotone::MiniNotation::AST::Atom

Inherits:
Node
  • Object
show all
Defined in:
lib/cyclotone/mini_notation/ast.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Node

#==, deep_freeze, #hash, #to_mn

Constructor Details

#initialize(value:, sample: nil) ⇒ Atom

Returns a new instance of Atom.



38
39
40
41
42
43
# File 'lib/cyclotone/mini_notation/ast.rb', line 38

def initialize(value:, sample: nil)
  super()
  @value = value
  @sample = sample
  freeze
end

Instance Attribute Details

#sampleObject (readonly)

Returns the value of attribute sample.



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

def sample
  @sample
end

#valueObject (readonly)

Returns the value of attribute value.



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

def value
  @value
end

Instance Method Details

#to_hObject



49
50
51
# File 'lib/cyclotone/mini_notation/ast.rb', line 49

def to_h
  { value: value, sample: sample }
end

#with_sample(sample_number) ⇒ Object



45
46
47
# File 'lib/cyclotone/mini_notation/ast.rb', line 45

def with_sample(sample_number)
  self.class.new(value: value, sample: sample_number)
end