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

Constant Summary collapse

@@check_methods =
[ :ensure_nonnegative_duration ]

Instance Attribute Summary

Attributes included from Validatable

#errors

Attributes inherited from Music::Transcription::Change

#duration, #value

Instance Method Summary collapse

Methods included from Validatable

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

Methods inherited from Music::Transcription::Change

#==, unpack

Constructor Details

#initialize(value, transition_duration) ⇒ Gradual

Returns a new instance of Gradual.



37
38
39
# File 'lib/music-transcription/model/change.rb', line 37

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

Instance Method Details

#ensure_nonnegative_durationObject



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

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