Class: Chouette::AreaType

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

Constant Summary collapse

@@definitions =
[
  ["boarding_position", 0],
  ["quay", 1],
  ["commercial_stop_point", 2],
  ["stop_place", 3],
  ["itl", 4]
]
@@all =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text_code, numerical_code) ⇒ AreaType

Returns a new instance of AreaType.



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

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

Class Method Details

.allObject



50
51
52
53
54
# File 'app/models/chouette/area_type.rb', line 50

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/area_type.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/area_type.rb', line 28

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

#nameObject



32
33
34
35
36
37
38
# File 'app/models/chouette/area_type.rb', line 32

def name
  if (to_s == 'itl') 
    to_s.upcase
  else
    camelize
  end
end

#to_iObject



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

def to_i
  @numerical_code
end