Method: Musicality::RhythmClass#initialize

Defined in:
lib/musicality/composition/model/rhythm_class.rb

#initialize(portions) ⇒ RhythmClass

Returns a new instance of RhythmClass.



10
11
12
13
14
15
16
# File 'lib/musicality/composition/model/rhythm_class.rb', line 10

def initialize portions
  if portions.find {|x| x.zero? }
    raise ArgumentError, "rhythm class contains portion(s) that are zero"
  end
  @portions = portions.clone.freeze
  @portions_sum = @portions.inject(0) {|sum,x| sum + x.abs}
end