Class: ActiveRoad::AccessLink

Inherits:
Object
  • Object
show all
Defined in:
app/models/active_road/access_link.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ AccessLink

Returns a new instance of AccessLink.



5
6
7
8
9
# File 'app/models/active_road/access_link.rb', line 5

def initialize(attributes = {})
  attributes.each do |k, v|
    send("#{k}=", v)
  end
end

Instance Attribute Details

#arrivalObject

Returns the value of attribute arrival.



3
4
5
# File 'app/models/active_road/access_link.rb', line 3

def arrival
  @arrival
end

#departureObject

Returns the value of attribute departure.



3
4
5
# File 'app/models/active_road/access_link.rb', line 3

def departure
  @departure
end

Class Method Details

.from(location) ⇒ Object



17
18
19
20
21
# File 'app/models/active_road/access_link.rb', line 17

def self.from(location)
  ActiveRoad::AccessPoint.from(location).collect do |access_point|
    new :departure => location, :arrival => access_point
  end
end

Instance Method Details

#access_to_road?(road) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'app/models/active_road/access_link.rb', line 40

def access_to_road?(road)
  arrival.respond_to?(:access_to_road?) ? arrival.access_to_road?(road) : false
end

#geometryObject Also known as: to_geometry



29
30
31
# File 'app/models/active_road/access_link.rb', line 29

def geometry
  @geometry ||= GeoRuby::SimpleFeatures::LineString.from_points [departure.to_geometry, arrival.to_geometry]
end

#lengthObject Also known as: length_in_meter



23
24
25
# File 'app/models/active_road/access_link.rb', line 23

def length
  @length ||= departure.to_geometry.spherical_distance arrival.to_geometry
end

#nameObject Also known as: to_s



11
12
13
# File 'app/models/active_road/access_link.rb', line 11

def name
  "AccessLink : #{departure} -> #{arrival}"
end

#pathsObject



36
37
38
# File 'app/models/active_road/access_link.rb', line 36

def paths
  arrival.respond_to?(:paths) ? arrival.paths : [arrival]
end