Class: Chouette::Direction

Inherits:
ActiveSupport::StringInquirer
  • Object
show all
Defined in:
app/models/chouette/direction.rb

Constant Summary collapse

@@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]
]
@@all =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text_code, numerical_code) ⇒ Direction

Returns a new instance of Direction.



3
4
5
6
# File 'app/models/chouette/direction.rb', line 3

def initialize(text_code, numerical_code)
  super text_code.to_s
  @numerical_code = numerical_code
end

Class Method Details

.allObject



53
54
55
56
57
# File 'app/models/chouette/direction.rb', line 53

def self.all
  @@all ||= definitions.collect do |text_code, numerical_code|
    new(text_code, numerical_code)
  end
end

.new(text_code, numerical_code = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/models/chouette/direction.rb', line 8

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

Instance Method Details

#inspectObject



28
29
30
# File 'app/models/chouette/direction.rb', line 28

def inspect
  "#{to_s}/#{to_i}"
end

#nameObject



32
33
34
# File 'app/models/chouette/direction.rb', line 32

def name
  to_s
end

#to_iObject



24
25
26
# File 'app/models/chouette/direction.rb', line 24

def to_i
  @numerical_code
end