Class: Chouette::ConnectionLinkType

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

Constant Summary collapse

@@definitions =
[
  ["underground", 0],
  ["mixed", 1],
  ["overground", 2]
]
@@all =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text_code, numerical_code) ⇒ ConnectionLinkType

Returns a new instance of ConnectionLinkType.



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

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

Class Method Details

.allObject



44
45
46
47
48
# File 'app/models/chouette/connection_link_type.rb', line 44

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

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

#nameObject



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

def name
  camelize
end

#to_iObject



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

def to_i
  @numerical_code
end