Class: Nineteen::Eighty::Two::Spectrum
- Inherits:
-
Object
- Object
- Nineteen::Eighty::Two::Spectrum
- Defined in:
- lib/nineteen/eighty/two/spectrum.rb
Constant Summary collapse
- CHARACTERS =
YAML.load_file File.join File.dirname(__FILE__), '..', '..', '..', '..', 'config', 'characters.yml'
Class Method Summary collapse
Class Method Details
.[](*text) ⇒ Object
7 8 9 10 11 12 13 14 15 |
# File 'lib/nineteen/eighty/two/spectrum.rb', line 7 def self.[] *text # require "pry" ; binding.pry a = [] text.each do |t| a += Spectrum.linify(t.chars.map { |c| Spectrum.get(c) }) end a end |
.bits(number) ⇒ Object
22 23 24 25 26 |
# File 'lib/nineteen/eighty/two/spectrum.rb', line 22 def self.bits number (0..7).map do |i| number[i] end.reverse end |
.get(key) ⇒ Object
17 18 19 20 |
# File 'lib/nineteen/eighty/two/spectrum.rb', line 17 def self.get key key = ' ' unless CHARACTERS[key] CHARACTERS[key].map { |b| Spectrum.bits(b) } end |
.linify(*list) ⇒ Object
28 29 30 |
# File 'lib/nineteen/eighty/two/spectrum.rb', line 28 def self.linify *list Matrix.columns(list.first).to_a.map { |l| l.flatten } end |