Class: Jan::Symbol::BandPattern::SymbolCharacter
- Inherits:
-
Jan::Symbol::BandPattern
- Object
- Jan::Symbol::BandPattern
- Jan::Symbol::BandPattern::SymbolCharacter
- Defined in:
- lib/jan/symbol/band_pattern/symbol_character.rb
Instance Method Summary collapse
- #bands ⇒ Array<Jan::Symbol::Band>
-
#initialize(name) ⇒ SymbolCharacter
constructor
A new instance of SymbolCharacter.
Constructor Details
#initialize(name) ⇒ SymbolCharacter
Returns a new instance of SymbolCharacter.
6 7 8 9 10 11 12 |
# File 'lib/jan/symbol/band_pattern/symbol_character.rb', line 6 def initialize(name) unless name.match?(/\A[ABC]\d\z/) raise ArgumentError end @name = name end |
Instance Method Details
#bands ⇒ Array<Jan::Symbol::Band>
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/jan/symbol/band_pattern/symbol_character.rb', line 15 def bands set_name, digit = @name.split('') case set_name when 'A' stripe_pattern = [Band::Space, Band::Bar, Band::Space, Band::Bar] width_arr = width_array(digit) when 'B' stripe_pattern = [Band::Space, Band::Bar, Band::Space, Band::Bar] width_arr = width_array(digit).reverse when 'C' stripe_pattern = [Band::Bar, Band::Space, Band::Bar, Band::Space] width_arr = width_array(digit) end stripe_pattern.zip(width_arr).map { |klass, width| klass.new(width) } end |