Class: Music::Transcription::Change::Gradual

Inherits:
Music::Transcription::Change show all
Includes:
Validatable
Defined in:
lib/music-transcription/model/change.rb,
lib/music-transcription/packing/change_packing.rb

Instance Attribute Summary

Attributes included from Validatable

#errors

Attributes inherited from Music::Transcription::Change

#duration, #value

Instance Method Summary collapse

Methods included from Validatable

#invalid?, #valid?, #validatables, #validate

Methods inherited from Music::Transcription::Change

#==, unpack

Constructor Details

#initialize(value, transition_duration) ⇒ Gradual

Returns a new instance of Gradual.



39
40
41
# File 'lib/music-transcription/model/change.rb', line 39

def initialize value, transition_duration
  super(value, transition_duration)
end

Instance Method Details

#check_methodsObject



43
44
45
# File 'lib/music-transcription/model/change.rb', line 43

def check_methods
  [ :ensure_nonnegative_duration ]
end

#ensure_nonnegative_durationObject



47
48
49
50
51
# File 'lib/music-transcription/model/change.rb', line 47

def ensure_nonnegative_duration
  if @duration < 0
    raise NegativeError, "gradual change duration #{self.duration} must be non-negative"
  end
end

#packObject



12
13
14
# File 'lib/music-transcription/packing/change_packing.rb', line 12

def pack
  [ @value, @duration ]
end