Sha256: 1f7e9d07be573e9e25942c9b76b18b596a5888627db58e83c021a02eee6d245d
Contents?: true
Size: 1.12 KB
Versions: 23
Compression:
Stored size: 1.12 KB
Contents
class Chouette::Direction < ActiveSupport::StringInquirer def initialize(text_code, numerical_code) super text_code.to_s @numerical_code = numerical_code end def self.new(text_code, numerical_code = nil) if text_code and numerical_code super elsif self === text_code text_code else if Fixnum === text_code text_code, numerical_code = definitions.rassoc(text_code) else text_code, numerical_code = definitions.assoc(text_code.to_s) end super text_code, numerical_code end end def to_i @numerical_code end def inspect "#{to_s}/#{to_i}" end def name to_s end @@definitions = [ ["straight_forward", 0], ["backward", 1], ["clock_wise", 2], ["counter_clock_wise", 3], ["north", 4], ["north_west", 5], ["west", 6], ["south_west", 7], ["south", 8], ["south_east", 9], ["east", 10], ["north_east", 11] ] cattr_reader :definitions @@all = nil def self.all @@all ||= definitions.collect do |text_code, numerical_code| new(text_code, numerical_code) end end end
Version data entries
23 entries across 23 versions & 1 rubygems