class Sparkie::Resistor

Constants

COLORS

Public Class Methods

from_colors(colors) click to toggle source
# File lib/sparkie.rb, line 24
def self.from_colors(colors)
  case colors.length
  when 4
    num_1       = colors[0]
    num_2       = colors[1]
    multiplier  = colors[2]
    tolerance   = colors[3]

    (COLORS[num_1.to_s][:figure] + COLORS[num_2.to_s][:figure]).to_i * multiplier(COLORS[multiplier.to_s][:multiplier])
  when 5
    num_1       = colors[0]
    num_2       = colors[1]
    num_3       = colors[2]
    multiplier  = colors[3]
    tolerance   = colors[4]
    (COLORS[num_1.to_s][:figure] + COLORS[num_2.to_s][:figure] + COLORS[num_3.to_s][:figure]).to_i * multiplier(COLORS[multiplier.to_s][:multiplier])
  else
    raise(ArgumentError, 'only 4 or 5 colors please!')
  end
end
multiplier(num) click to toggle source
# File lib/sparkie.rb, line 45
def self.multiplier(num)
  num.gsub(/K/, '000').gsub(/M/, '000_000').to_i
end