class Formator
Public Class Methods
format_sequence(sequence:, options: {array: nil, offset: nil})
click to toggle source
# File lib/euclidean_sequencer/formator.rb, line 3 def self.format_sequence(sequence:, options: {array: nil, offset: nil}) if options[:array] && !options[:offset] return convert_to_array(sequence) end if options[:array] && options[:offset] return offset(convert_to_array(sequence), options[:offset]) end if options[:offset] && !options[:array] return offset(sequence, options[:offset]) end return sequence end
Private Class Methods
convert_to_array(sequence)
click to toggle source
# File lib/euclidean_sequencer/formator.rb, line 21 def self.convert_to_array(sequence) array = [] sequence.length.times { |element| array[element] = sequence[element].to_i } array end
offset(sequence, offset)
click to toggle source
# File lib/euclidean_sequencer/formator.rb, line 27 def self.offset(sequence, offset) if sequence.is_a?(String) return offset_array(sequence.split(//), offset).join end return offset_array(sequence, offset) end
offset_array(array, offset)
click to toggle source
# File lib/euclidean_sequencer/formator.rb, line 34 def self.offset_array(array, offset) offset.times { array << array.shift } return array end