ruby_ptv_api 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +7 -0
  2. data/.directory +11 -0
  3. data/.gitignore +14 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +4 -0
  6. data/Gemfile +4 -0
  7. data/Guardfile +36 -0
  8. data/README.md +46 -0
  9. data/Rakefile +11 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/console_initializer.rb +5 -0
  13. data/lib/ruby_ptv_api/base.rb +105 -0
  14. data/lib/ruby_ptv_api/constant.rb +107 -0
  15. data/lib/ruby_ptv_api/id_manager.rb +17 -0
  16. data/lib/ruby_ptv_api/model/base.rb +12 -0
  17. data/lib/ruby_ptv_api/model/plain_point.rb +21 -0
  18. data/lib/ruby_ptv_api/model/point.rb +9 -0
  19. data/lib/ruby_ptv_api/model/x_locate/additional_field.rb +14 -0
  20. data/lib/ruby_ptv_api/model/x_locate/address.rb +24 -0
  21. data/lib/ruby_ptv_api/model/x_locate/address_response.rb +13 -0
  22. data/lib/ruby_ptv_api/model/x_locate/combined_transport_location.rb +13 -0
  23. data/lib/ruby_ptv_api/model/x_locate/combined_transport_response.rb +13 -0
  24. data/lib/ruby_ptv_api/model/x_locate/location.rb +11 -0
  25. data/lib/ruby_ptv_api/model/x_locate/result_address.rb +27 -0
  26. data/lib/ruby_ptv_api/model/x_locate/result_combined_transport.rb +30 -0
  27. data/lib/ruby_ptv_api/model/x_locate/sort_option.rb +14 -0
  28. data/lib/ruby_ptv_api/model/x_locate/suggestion.rb +12 -0
  29. data/lib/ruby_ptv_api/model/x_locate/suggestion_response.rb +13 -0
  30. data/lib/ruby_ptv_api/model/x_route/bounding_rectangle.rb +13 -0
  31. data/lib/ruby_ptv_api/model/x_route/brunnel_manoeuvre.rb +11 -0
  32. data/lib/ruby_ptv_api/model/x_route/cen_emission_configuration.rb +14 -0
  33. data/lib/ruby_ptv_api/model/x_route/cen_emission_conversion_factors.rb +11 -0
  34. data/lib/ruby_ptv_api/model/x_route/cen_emission_scenarios.rb +21 -0
  35. data/lib/ruby_ptv_api/model/x_route/cen_emissions.rb +8 -0
  36. data/lib/ruby_ptv_api/model/x_route/commuter_travel_trend.rb +10 -0
  37. data/lib/ruby_ptv_api/model/x_route/detail_description_option.rb +12 -0
  38. data/lib/ruby_ptv_api/model/x_route/dynamic_info.rb +12 -0
  39. data/lib/ruby_ptv_api/model/x_route/emission_type.rb +11 -0
  40. data/lib/ruby_ptv_api/model/x_route/emissions.rb +23 -0
  41. data/lib/ruby_ptv_api/model/x_route/encoded_geometry.rb +13 -0
  42. data/lib/ruby_ptv_api/model/x_route/exception_path.rb +17 -0
  43. data/lib/ruby_ptv_api/model/x_route/expansion_description.rb +12 -0
  44. data/lib/ruby_ptv_api/model/x_route/feauture_description.rb +11 -0
  45. data/lib/ruby_ptv_api/model/x_route/hbefa_type.rb +11 -0
  46. data/lib/ruby_ptv_api/model/x_route/klm.rb +10 -0
  47. data/lib/ruby_ptv_api/model/x_route/line_string.rb +11 -0
  48. data/lib/ruby_ptv_api/model/x_route/manoeuvre_attr.rb +17 -0
  49. data/lib/ruby_ptv_api/model/x_route/manoeuvre_group.rb +16 -0
  50. data/lib/ruby_ptv_api/model/x_route/norm_speed.rb +12 -0
  51. data/lib/ruby_ptv_api/model/x_route/plain_geometry_base.rb +8 -0
  52. data/lib/ruby_ptv_api/model/x_route/plain_line_string.rb +11 -0
  53. data/lib/ruby_ptv_api/model/x_route/reach.rb +12 -0
  54. data/lib/ruby_ptv_api/model/x_route/reach_info.rb +14 -0
  55. data/lib/ruby_ptv_api/model/x_route/result_list_options.rb +46 -0
  56. data/lib/ruby_ptv_api/model/x_route/route.rb +38 -0
  57. data/lib/ruby_ptv_api/model/x_route/route_info.rb +15 -0
  58. data/lib/ruby_ptv_api/model/x_route/route_list_segment.rb +39 -0
  59. data/lib/ruby_ptv_api/model/x_route/route_manoeuvre.rb +44 -0
  60. data/lib/ruby_ptv_api/model/x_route/routing_option.rb +12 -0
  61. data/lib/ruby_ptv_api/model/x_route/segment_attributes.rb +27 -0
  62. data/lib/ruby_ptv_api/model/x_route/speed_limit.rb +10 -0
  63. data/lib/ruby_ptv_api/model/x_route/speed_limits.rb +10 -0
  64. data/lib/ruby_ptv_api/model/x_route/template +16 -0
  65. data/lib/ruby_ptv_api/model/x_route/unique_geo_id.rb +13 -0
  66. data/lib/ruby_ptv_api/model/x_route/urban_manoeuvre.rb +10 -0
  67. data/lib/ruby_ptv_api/model/x_route/vehicle_option.rb +11 -0
  68. data/lib/ruby_ptv_api/model/x_route/via_type.rb +11 -0
  69. data/lib/ruby_ptv_api/model/x_route/way_point.rb +30 -0
  70. data/lib/ruby_ptv_api/model/x_route/waypoint_desc.rb +28 -0
  71. data/lib/ruby_ptv_api/model/x_tour/abstract_costs.rb +10 -0
  72. data/lib/ruby_ptv_api/model/x_tour/abstract_tour.rb +10 -0
  73. data/lib/ruby_ptv_api/model/x_tour/abstract_tour_point.rb +16 -0
  74. data/lib/ruby_ptv_api/model/x_tour/abstract_tour_result.rb +38 -0
  75. data/lib/ruby_ptv_api/model/x_tour/abstract_transport_order.rb +11 -0
  76. data/lib/ruby_ptv_api/model/x_tour/abstract_vehicle.rb +14 -0
  77. data/lib/ruby_ptv_api/model/x_tour/base_vehicle.rb +30 -0
  78. data/lib/ruby_ptv_api/model/x_tour/capacities.rb +11 -0
  79. data/lib/ruby_ptv_api/model/x_tour/chain.rb +14 -0
  80. data/lib/ruby_ptv_api/model/x_tour/chain_result.rb +20 -0
  81. data/lib/ruby_ptv_api/model/x_tour/costs.rb +10 -0
  82. data/lib/ruby_ptv_api/model/x_tour/depot.rb +8 -0
  83. data/lib/ruby_ptv_api/model/x_tour/distance_matrix_by_road.rb +12 -0
  84. data/lib/ruby_ptv_api/model/x_tour/distance_matrix_calculation.rb +9 -0
  85. data/lib/ruby_ptv_api/model/x_tour/driver_settings.rb +17 -0
  86. data/lib/ruby_ptv_api/model/x_tour/fleet.rb +15 -0
  87. data/lib/ruby_ptv_api/model/x_tour/goal_importance.rb +44 -0
  88. data/lib/ruby_ptv_api/model/x_tour/interval.rb +15 -0
  89. data/lib/ruby_ptv_api/model/x_tour/loading_area.rb +13 -0
  90. data/lib/ruby_ptv_api/model/x_tour/loading_function.rb +16 -0
  91. data/lib/ruby_ptv_api/model/x_tour/logistic_point.rb +19 -0
  92. data/lib/ruby_ptv_api/model/x_tour/maximum_tour_period_restriction.rb +10 -0
  93. data/lib/ruby_ptv_api/model/x_tour/plan.rb +13 -0
  94. data/lib/ruby_ptv_api/model/x_tour/plan_result.rb +21 -0
  95. data/lib/ruby_ptv_api/model/x_tour/planning_params.rb +23 -0
  96. data/lib/ruby_ptv_api/model/x_tour/product_incompatibility.rb +11 -0
  97. data/lib/ruby_ptv_api/model/x_tour/quantities.rb +9 -0
  98. data/lib/ruby_ptv_api/model/x_tour/quantity_dependent_periods.rb +9 -0
  99. data/lib/ruby_ptv_api/model/x_tour/regulations_base.rb +9 -0
  100. data/lib/ruby_ptv_api/model/x_tour/restrictions.rb +13 -0
  101. data/lib/ruby_ptv_api/model/x_tour/seconds_per_quantity_unit.rb +9 -0
  102. data/lib/ruby_ptv_api/model/x_tour/sequencing_params.rb +12 -0
  103. data/lib/ruby_ptv_api/model/x_tour/sequencing_plan.rb +13 -0
  104. data/lib/ruby_ptv_api/model/x_tour/sequencing_plan_result.rb +16 -0
  105. data/lib/ruby_ptv_api/model/x_tour/sequencing_tour.rb +13 -0
  106. data/lib/ruby_ptv_api/model/x_tour/sequencing_tour_point.rb +16 -0
  107. data/lib/ruby_ptv_api/model/x_tour/sequencing_tour_result.rb +38 -0
  108. data/lib/ruby_ptv_api/model/x_tour/sequencing_transport_depot.rb +19 -0
  109. data/lib/ruby_ptv_api/model/x_tour/sequencing_transport_order.rb +9 -0
  110. data/lib/ruby_ptv_api/model/x_tour/sequencing_vehicle.rb +8 -0
  111. data/lib/ruby_ptv_api/model/x_tour/standard_params.rb +22 -0
  112. data/lib/ruby_ptv_api/model/x_tour/total_costs.rb +10 -0
  113. data/lib/ruby_ptv_api/model/x_tour/tour.rb +26 -0
  114. data/lib/ruby_ptv_api/model/x_tour/tour_event.rb +14 -0
  115. data/lib/ruby_ptv_api/model/x_tour/tour_point.rb +10 -0
  116. data/lib/ruby_ptv_api/model/x_tour/tour_point_result.rb +28 -0
  117. data/lib/ruby_ptv_api/model/x_tour/tour_restrictions.rb +13 -0
  118. data/lib/ruby_ptv_api/model/x_tour/tour_result.rb +17 -0
  119. data/lib/ruby_ptv_api/model/x_tour/tour_violations.rb +10 -0
  120. data/lib/ruby_ptv_api/model/x_tour/trailer.rb +10 -0
  121. data/lib/ruby_ptv_api/model/x_tour/train.rb +26 -0
  122. data/lib/ruby_ptv_api/model/x_tour/transport_depot.rb +20 -0
  123. data/lib/ruby_ptv_api/model/x_tour/transport_order.rb +19 -0
  124. data/lib/ruby_ptv_api/model/x_tour/transport_point.rb +17 -0
  125. data/lib/ruby_ptv_api/model/x_tour/unscheduled_order_analysis_result.rb +15 -0
  126. data/lib/ruby_ptv_api/model/x_tour/vehicle.rb +27 -0
  127. data/lib/ruby_ptv_api/model/x_tour/vehicle_costs.rb +9 -0
  128. data/lib/ruby_ptv_api/model/x_tour/vehicle_restrictions.rb +11 -0
  129. data/lib/ruby_ptv_api/model/x_tour/vehicle_violations.rb +12 -0
  130. data/lib/ruby_ptv_api/operation/x_locate/base.rb +68 -0
  131. data/lib/ruby_ptv_api/operation/x_locate/find_address.rb +26 -0
  132. data/lib/ruby_ptv_api/operation/x_locate/find_address_by_text.rb +28 -0
  133. data/lib/ruby_ptv_api/operation/x_locate/find_addresses.rb +27 -0
  134. data/lib/ruby_ptv_api/operation/x_locate/find_combined_transport_by_location.rb +31 -0
  135. data/lib/ruby_ptv_api/operation/x_locate/find_location.rb +26 -0
  136. data/lib/ruby_ptv_api/operation/x_locate/find_locations.rb +27 -0
  137. data/lib/ruby_ptv_api/operation/x_locate/find_suggestion.rb +36 -0
  138. data/lib/ruby_ptv_api/operation/x_route/base.rb +25 -0
  139. data/lib/ruby_ptv_api/operation/x_route/calculate_reachable_objects.rb +38 -0
  140. data/lib/ruby_ptv_api/operation/x_route/calculate_route.rb +35 -0
  141. data/lib/ruby_ptv_api/operation/x_route/calculate_route_info.rb +33 -0
  142. data/lib/ruby_ptv_api/operation/x_tour/base.rb +24 -0
  143. data/lib/ruby_ptv_api/operation/x_tour/plan_basic_tours.rb +48 -0
  144. data/lib/ruby_ptv_api/operation/x_tour/plan_sequence.rb +52 -0
  145. data/lib/ruby_ptv_api/version.rb +3 -0
  146. data/lib/ruby_ptv_api/x_tour.rb +94 -0
  147. data/lib/ruby_ptv_api.rb +202 -0
  148. data/ruby_ptv_api.gemspec +32 -0
  149. metadata +331 -0
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class BrunnelManoeuvre < RubyPtvApi::Model::Base
5
+ property 'brunnelIdx'
6
+ property 'brunnelEndIdx'
7
+ property 'brunnelDist'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CenEmissionConfiguration < RubyPtvApi::Model::Base
5
+ property 'fleetSpecificAverageFuelConsumption'
6
+ property 'routeSpecificAverageFuelConsumption'
7
+ property 'actualFuelConsumptionForThisRoute'
8
+ property 'cenVersion', transform_with: ->(value) do
9
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::CEN_VERSION, value)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CENEmissionConversionFactors < RubyPtvApi::Model::Base
5
+ property 'biofuelPercent'
6
+ property 'conversionFactors'
7
+ coerce_key :conversionFactors, CENEmissions
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CENEmissionScenarios < RubyPtvApi::Model::Base
5
+ property 'vehicleSpecific'
6
+ property 'fleetSpecific'
7
+ property 'routeSpecific'
8
+ property 'actualFuelConsumption'
9
+ property 'basedOnHBEFA'
10
+ property 'vehicleSpecificConversionFactors'
11
+
12
+ coerce_key :vehicleSpecific, CENEmissions
13
+ coerce_key :fleetSpecific, CENEmissions
14
+ coerce_key :routeSpecific, CENEmissions
15
+ coerce_key :actualFuelConsumption, CENEmissions
16
+ coerce_key :basedOnHBEFA, CENEmissions
17
+ coerce_key :vehicleSpecificConversionFactors, Array[CENEmissionConversionFactors]
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,8 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CENEmissions < RubyPtvApi::Model::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CommuterTravelTrend < RubyPtvApi::Model::Base
5
+ property 'departureTime'
6
+ property 'travelTime'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class DetailDescriptionOption < RubyPtvApi::Model::Base
5
+ property 'radius'
6
+ property 'minLevel', transform_with: ->(value) do
7
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class DynamicInfo < RubyPtvApi::Model::Base
5
+ property 'timeBenefit'
6
+ property 'timeLoss'
7
+ property 'timeLoss2'
8
+ property 'distanceDiff'
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class EmissionType < RubyPtvApi::Model::Base
5
+ property 'emissionLevel', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class Emissions < RubyPtvApi::Model::Base
5
+ property 'hydrocarbons'
6
+ property 'methane'
7
+ property 'hydrocarbonsExMethane'
8
+ property 'carbonMonoxide'
9
+ property 'carbonDioxide'
10
+ property 'sulphurDioxide'
11
+ property 'nitrogenOxides'
12
+ property 'nitrousOxide'
13
+ property 'ammonia'
14
+ property 'benzene'
15
+ property 'toluene'
16
+ property 'xylene'
17
+ property 'lead'
18
+ property 'particles'
19
+ property 'fuel'
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class EncodedGeometry < RubyPtvApi::Model::Base
5
+ property 'wkb'
6
+ property 'wkt'
7
+ property 'kml'
8
+
9
+ coerce_key :klm, KLM
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ExceptionPath < RubyPtvApi::Model::Base
5
+ property 'nodes'
6
+ property 'extSegments'
7
+ property 'street'
8
+ property 'binaryPathDesc'
9
+ property 'relMalus'
10
+ property 'polyline'
11
+
12
+ coerce_key :nodes, Array[UniqueGeoID]
13
+ coerce_key :polyline, LineString
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ExpansionDescription < RubyPtvApi::Model::Base
5
+ property 'horizons'
6
+ property 'expansionType', transform_with: ->(value) do
7
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::EXPANSION_TYPE, value)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class FeatureDescription < RubyPtvApi::Model::Base
5
+ property 'themeId'
6
+ property 'timeDomain'
7
+ property 'description'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class HBEFAType < RubyPtvApi::Model::Base
5
+ property 'version', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::HBEFA_VERSION, value)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class KLM < RubyPtvApi::Model::Base
5
+ property 'kml'
6
+ property 'placemarks'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class LineString < EncodedGeometry
5
+ property 'lineString'
6
+
7
+ coerce_key :nodes, PlainLineString
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ManoeuvreAttr < RubyPtvApi::Model::Base
5
+ property 'isBorder'
6
+ property 'tollRoadStart'
7
+ property 'tollRoadEnd'
8
+ property 'isBlockingStart'
9
+ property 'isBlockingEnd'
10
+ property 'isUrbanStart'
11
+ property 'isUrbanEnd'
12
+ property 'isBrunnelStart'
13
+ property 'isBrunnelEnd'
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ManoeuvreGroup < RubyPtvApi::Model::Base
5
+ property 'fromIdx'
6
+ property 'toIdx'
7
+ property 'type', transform_with: ->(value) do
8
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::MANOEUVRE_GROUP_TYPE, value)
9
+ end
10
+ property 'extend'
11
+
12
+ coerce_key :extend, BoundingRectangle
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class NormSpeed < RubyPtvApi::Model::Base
5
+ property 'normSpeed'
6
+ property 'normSpeedType', transform_with: ->(value) do
7
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::NORM_SPEED_TYPE, value)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,8 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class PlainGeometryBase < RubyPtvApi::Model::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class PlainLineString < PlainGeometryBase
5
+ property 'points'
6
+
7
+ coerce_key :points, Array[PlainPoint]
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class Reach < RubyPtvApi::Model::Base
5
+ property 'reachInfo'
6
+ property 'additional'
7
+
8
+ coerce_key :reachInfo, Array[ReachInfo]
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ReachInfo < RubyPtvApi::Model::Base
5
+ property 'reachable'
6
+ property 'routeInfo'
7
+ property 'branchNode'
8
+
9
+ coerce_key :routeInfo , RouteInfo
10
+ coerce_key :branchNode, UniqueGeoID
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,46 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ResultListOptions < RubyPtvApi::Model::Base
5
+ property 'manoeuvres'
6
+ property 'texts'
7
+ property 'nodes'
8
+ property 'binaryPathDesc'
9
+ property 'polygon'
10
+ property 'polygonElevations'
11
+ property 'detailLevel', transform_with: ->(value) do
12
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
13
+ end
14
+ property 'dynamicInfo'
15
+ property 'segments'
16
+ property 'segmentAttributes'
17
+ property 'segmentAttributePiggyback'
18
+ property 'segmentAttributeNamedToll'
19
+ property 'manoeuvreAttributes'
20
+ property 'brunnelManoeuvres'
21
+ property 'urbanManoeuvres'
22
+ property 'startDetail'
23
+ property 'destDetail'
24
+ property 'manoeuvreGroups'
25
+ property 'manoeuvreGroupRatio'
26
+ property 'tollManoeuvres'
27
+ property 'boundingRectanglesC'
28
+ property 'boundingRectanglesOffset'
29
+ property 'totalRectangle'
30
+ property 'extSegments'
31
+ property 'emissions'
32
+ property 'hbefaType'
33
+ property 'cenEmissionConfiguration'
34
+ property 'speedLimits'
35
+ property 'featureDescriptions'
36
+ property 'utcOffsets'
37
+
38
+ coerce_key :startDetail , DetailDescriptionOption
39
+ coerce_key :destDetail , DetailDescriptionOption
40
+ coerce_key :emissions , EmissionType
41
+ coerce_key :hbefaType , HBEFAType
42
+ coerce_key :cenEmissionConfiguration, CenEmissionConfiguration
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,38 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class Route < RubyPtvApi::Model::Base
5
+ property 'info'
6
+ property 'dynamicInfo'
7
+ property 'stations'
8
+ property 'manoeuvres'
9
+ property 'texts'
10
+ property 'segments'
11
+ property 'nodes'
12
+ property 'polygon'
13
+ property 'binaryPathDesc'
14
+ property 'manoeuvreGroup'
15
+ property 'boundingRectangles'
16
+ property 'totalRectangle'
17
+ property 'extSegments'
18
+ property 'emissions'
19
+ property 'vehicleRelatedEmissions'
20
+ property 'cenEmissions'
21
+
22
+ coerce_key :info, RouteInfo
23
+ coerce_key :dynamicInfo, DynamicInfo
24
+ coerce_key :stations, Array[WayPoint]
25
+ coerce_key :manoeuvres, Array[RouteManoeuvre]
26
+ coerce_key :segments, Array[RouteListSegment]
27
+ coerce_key :nodes, Array[UniqueGeoID]
28
+ coerce_key :polygon, LineString
29
+ coerce_key :manoeuvreGroup, Array[ManoeuvreGroup]
30
+ coerce_key :boundingRectangles, Array[BoundingRectangle]
31
+ coerce_key :totalRectangle, BoundingRectangle
32
+ coerce_key :emissions, Emissions
33
+ coerce_key :vehicleRelatedEmissions, Emissions
34
+ coerce_key :cenEmissions, CENEmissionScenarios
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RouteInfo < RubyPtvApi::Model::Base
5
+ property 'distance'
6
+ property 'time'
7
+ property 'cost'
8
+ property 'travelTrend'
9
+ property 'hasViolations'
10
+
11
+ coerce_key :travelTrend, Array[CommuterTravelTrend]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,39 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RouteListSegment < RubyPtvApi::Model::Base
5
+ property 'firstPolyIdx'
6
+ property 'polyC'
7
+ property 'firstNodeIdx'
8
+ property 'nodeC'
9
+ property 'streetNoIdx'
10
+ property 'streetNameIdx'
11
+ property 'dirInfoIdx'
12
+ property 'accTime'
13
+ property 'accDist'
14
+ property 'nC', transform_with: ->(value) do
15
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::NETWORK_CLASS, value)
16
+ end
17
+ property 'vNorm'
18
+ property 'normSpeed'
19
+ property 'vCalc'
20
+ property 'iuCode'
21
+ property 'segmentAttr'
22
+ property 'countryCode'
23
+ property 'emissions'
24
+ property 'cenEmissions'
25
+ property 'speedLimits'
26
+ property 'violations'
27
+ property 'featureDescriptions'
28
+ property 'utcOffset'
29
+
30
+ coerce_key :normSpeed, NormSpeed
31
+ coerce_key :segmentAttr, SegmentAttributes
32
+ coerce_key :emissions, Emissions
33
+ coerce_key :cenEmissions, CENEmissionScenarios
34
+ coerce_key :speedLimits, SpeedLimits
35
+ coerce_key :featureDescriptions, Array[FeatureDescription]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,44 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RouteManoeuvre < RubyPtvApi::Model::Base
5
+ property 'exitAngle'
6
+ property 'exitAngleNorth'
7
+ property 'turnWeight', transform_with: ->(value) do
8
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::TURN_WEIGHT, value)
9
+ end
10
+ property 'turnOrient', transform_with: ->(value) do
11
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::TURN_ORIENT, value)
12
+ end
13
+ property 'exitNr'
14
+ property 'manoeuvreType', transform_with: ->(value) do
15
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::MANOEUVRE_TYPE, value)
16
+ end
17
+ property 'detailLevel', transform_with: ->(value) do
18
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
19
+ end
20
+ property 'dirInfoNodeType', transform_with: ->(value) do
21
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::INFO_NODE_TYPE, value)
22
+ end
23
+ property 'dirInfoIdx'
24
+ property 'locInfoNodeType', transform_with: ->(value) do
25
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::INFO_NODE_TYPE, value)
26
+ end
27
+ property 'locInfoIdx'
28
+ property 'routeListSegmentIdx'
29
+ property 'predSegmentIdx'
30
+ property 'succSegmentIdx'
31
+ property 'manoeuvreDesc'
32
+ property 'manoeuvreAttr'
33
+ property 'urbanlManoeuvre'
34
+ property 'brunnelManoeuvre'
35
+ property 'manoeuvreGroupIdx'
36
+ property 'viaIdx'
37
+
38
+ coerce_key :manoeuvreAttr, ManoeuvreAttr
39
+ coerce_key :urbanlManoeuvre, UrbanManoeuvre
40
+ coerce_key :brunnelManoeuvre, BrunnelManoeuvre
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RoutingOption < RubyPtvApi::Model::Base
5
+ property 'parameter', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::ROUTING_PARAMETER, value)
7
+ end
8
+ property 'value'
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,27 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class SegmentAttributes < RubyPtvApi::Model::Base
5
+ property 'brunnelCode', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::BRUNNEL_CODE, value)
7
+ end
8
+
9
+ property 'isFerry'
10
+ property 'isBlockedCar'
11
+ property 'isBlockedTruck'
12
+ property 'hasTollCar'
13
+ property 'hasTollTruck'
14
+ property 'hasVignetteCar'
15
+ property 'hasVignetteTruck'
16
+ property 'hasExtraToll'
17
+ property 'hasNamedToll'
18
+ property 'hasSeparator'
19
+ property 'isPedestrianZone'
20
+ property 'additionalRE'
21
+ property 'additionalInfo'
22
+ property 'lowEmissionZoneType'
23
+ property 'isPiggyback'
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class SpeedLimit < RubyPtvApi::Model::Base
5
+ property 'limitVelocity'
6
+ property 'condition'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class SpeedLimits < RubyPtvApi::Model::Base
5
+ property 'speedLimit'
6
+ coerce_key :speedLimit, Array[SpeedLimit]
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,16 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class None < RubyPtvApi::Model::Base
5
+ property 'none'
6
+ property 'none'
7
+ property 'none'
8
+
9
+ transform_with: ->(value) do
10
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::CEN_VERSION, value)
11
+ end
12
+ coerce_key :none, None
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class UniqueGeoID < RubyPtvApi::Model::Base
5
+ property 'tID'
6
+ property 'xOff'
7
+ property 'yOff'
8
+ property 'n'
9
+ property 'iuCode'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class UrbanManoeuvre < RubyPtvApi::Model::Base
5
+ property 'urbanIdx'
6
+ property 'additionalUrbanIdx'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class VehicleOption < RubyPtvApi::Model::Base
5
+ # Not implemented, no available examples
6
+ property 'parameter'
7
+ property 'value'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ViaType < RubyPtvApi::Model::Base
5
+ property 'viaType', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::VIA_TYPE_ENUM, value)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end