class Ephemeris::Zodiac::Interpreter

Attributes

sign[RW]

Public Class Methods

new( degree ) click to toggle source
# File lib/ephemeris/zodiac/interpreter.rb, line 6
def initialize( degree )
  @sign = nil

  raise Ephemeris::Zodiac::InvalidDegree.new("#{degree} is not between 0 and 360.") unless (0...360).cover? degree

  signs = Ephemeris::Zodiac::PositionMatrix.constants

  signs.each do |sign|
    @sign = sign.to_s if Ephemeris::Zodiac::PositionMatrix.const_get(sign).cover?( degree )
  end

  raise Ephemeris::Zodiac::UnprocessableEntity.new("Your request #{degree} was not found") if @sign.nil?
end