rome2rio 0.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/rome2rio/connection.rb +1 -1
- data/lib/rome2rio/response/aircraft.rb +10 -0
- data/lib/rome2rio/response/codeshare.rb +8 -0
- data/lib/rome2rio/response/flight_hop.rb +9 -2
- data/lib/rome2rio/response/search_response.rb +6 -1
- data/lib/rome2rio/response/segment.rb +4 -3
- data/rome2rio.gemspec +2 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5af31728b88661d755bb1d912250582e62ca27a5
|
4
|
+
data.tar.gz: d10f70d72683309085562eb9e8678d0516566d53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c6b1818a457d1ccbe34516f38e9d4e7e8f970dd27463f7cc70c22738d0dc6dd748a49f72201c01a4f51c9354bfbf856f94766eae3f1867bea077498977e1fef
|
7
|
+
data.tar.gz: c6dbea3006eb013c6b55e40f586afb897f51108bb1b9ebead9d2d92691673121b7541db920f78a49f0f2bc60ef0b80dbb7039883fb102c7d9097ec3536b64e32
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ gem install rome2rio
|
|
14
14
|
Usage
|
15
15
|
-----
|
16
16
|
|
17
|
-
```
|
17
|
+
```ruby
|
18
18
|
require 'rome2rio'
|
19
19
|
results = Rome2rio::Connection.new.search(search options)
|
20
20
|
puts results.routes[0].duration
|
@@ -28,7 +28,7 @@ Complex datatypes (such as Position, Size, Offset, DayFlags) will be parsed.
|
|
28
28
|
|
29
29
|
Using Position for input:
|
30
30
|
|
31
|
-
```
|
31
|
+
```ruby
|
32
32
|
Rome2rio::Connection.new.search({:oPos => Rome2rio::Position.new(41.79443,12.25108), :dPos => Rome2rio::Position.new(-22.81215,-43.24721)})
|
33
33
|
```
|
34
34
|
|
data/lib/rome2rio/connection.rb
CHANGED
@@ -1,18 +1,25 @@
|
|
1
1
|
module Rome2rio
|
2
2
|
class FlightHop
|
3
|
-
attr_reader :sCode, :tCode, :
|
4
|
-
:
|
3
|
+
attr_reader :sCode, :tCode, :sTerminal, :tTerminal,
|
4
|
+
:sTime, :tTime, :airline, :flight, :duration,
|
5
|
+
:aircraft, :dayChange, :lDuration, :lDayChange,
|
6
|
+
:codeshares
|
5
7
|
def initialize(json)
|
6
8
|
@sCode = json["sCode"]
|
7
9
|
@tCode = json["tCode"]
|
10
|
+
@sTerminal = json["sTerminal"]
|
11
|
+
@tTerminal = json["tTerminal"]
|
8
12
|
@sTime = json["sTime"]
|
9
13
|
@tTime = json["tTime"]
|
10
14
|
@airline = json["airline"]
|
11
15
|
@flight = json["flight"]
|
12
16
|
@duration = json["duration"]
|
17
|
+
@aircraft = json["aircraft"]
|
13
18
|
@dayChange = json["dayChange"] if json["dayChange"]
|
14
19
|
@lDuration = json["lDuration"] if json["lDuration"]
|
15
20
|
@lDayChange = json["lDayChange"] if json["lDayChange"]
|
21
|
+
@codeshares = []
|
22
|
+
json["codeshares"].each { |codeshare| @codeshares << Codeshare.new(codeshare) }
|
16
23
|
end
|
17
24
|
end
|
18
25
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Rome2rio
|
2
2
|
class SearchResponse
|
3
|
-
attr_reader :agencies, :airlines, :airports, :routes, :verbatim
|
3
|
+
attr_reader :agencies, :airlines, :airports, :aircrafts, :routes, :verbatim, :data
|
4
4
|
def initialize(json)
|
5
5
|
@verbatim = json
|
6
6
|
|
@@ -10,11 +10,16 @@ module Rome2rio
|
|
10
10
|
@airlines = []
|
11
11
|
json["airlines"].each { |airline| @airlines << Airline.new(airline) }
|
12
12
|
|
13
|
+
@aircrafts = []
|
14
|
+
json["aircrafts"].each { |aircraft| @aircrafts << Aircraft.new(aircraft) }
|
15
|
+
|
13
16
|
@airports = []
|
14
17
|
json["airports"].each { |airport| @airports << Airport.new(airport) }
|
15
18
|
|
16
19
|
@routes = []
|
17
20
|
json["routes"].each { |route| @routes << Route.new(route) }
|
21
|
+
|
22
|
+
@data = json["data"]
|
18
23
|
end
|
19
24
|
end
|
20
25
|
end
|
@@ -1,17 +1,17 @@
|
|
1
1
|
module Rome2rio
|
2
2
|
class Segment
|
3
3
|
attr_reader :kind, :isMajor, :distance, :duration, :indicativePrice, :isImperial,
|
4
|
-
:sName, :sPos, :sCode, :tName, :tPos, :tCode, :path, :itineraries
|
4
|
+
:sName, :sPos, :sCode, :tName, :tPos, :tCode, :path, :itineraries, :subkind
|
5
5
|
def initialize(json)
|
6
6
|
# Possible kinds: walk, car, train, bus, ferry, flight
|
7
7
|
@kind = json["kind"]
|
8
|
-
@isMajor = json["isMajor"]
|
8
|
+
@isMajor = json["isMajor"] == 1
|
9
9
|
@distance = json["distance"]
|
10
10
|
@duration = json["duration"]
|
11
11
|
@indicativePrice = IndicativePrice.new(json["indicativePrice"])
|
12
12
|
|
13
13
|
if @kind != "flight" then
|
14
|
-
@isImperial = json["isImperial"]
|
14
|
+
@isImperial = json["isImperial"] == 1
|
15
15
|
@sName = json["sName"]
|
16
16
|
@sPos = Position.parse(json["sPos"])
|
17
17
|
@tName = json["tName"]
|
@@ -25,6 +25,7 @@ module Rome2rio
|
|
25
25
|
end
|
26
26
|
|
27
27
|
if [ "train", "bus", "ferry" ].include?(@kind) then
|
28
|
+
@subkind = json["subkind"]
|
28
29
|
@itineraries = []
|
29
30
|
json["itineraries"].each { |itinerary| @itineraries << TransitItinerary.new(itinerary) }
|
30
31
|
end
|
data/rome2rio.gemspec
CHANGED
@@ -2,12 +2,13 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = "rome2rio"
|
5
|
-
gem.version = "0.
|
5
|
+
gem.version = "0.2.0"
|
6
6
|
gem.authors = ["Alex Beregszaszi"]
|
7
7
|
gem.email = ["alex@rtfs.hu"]
|
8
8
|
gem.description = "A Ruby wrapper for the Rome2rio API. See http://www.rome2rio.com/documentation/search for the official documentation."
|
9
9
|
gem.summary = "A Ruby wrapper for the Rome2rio API."
|
10
10
|
gem.homepage = "http://github.com/axic/rome2rio"
|
11
|
+
gem.license = "MIT"
|
11
12
|
|
12
13
|
gem.add_dependency 'faraday'
|
13
14
|
gem.add_dependency 'multi_json'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rome2rio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Beregszaszi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -61,8 +61,10 @@ files:
|
|
61
61
|
- lib/rome2rio/helper/search_request_flags.rb
|
62
62
|
- lib/rome2rio/helper/size.rb
|
63
63
|
- lib/rome2rio/response/agency.rb
|
64
|
+
- lib/rome2rio/response/aircraft.rb
|
64
65
|
- lib/rome2rio/response/airline.rb
|
65
66
|
- lib/rome2rio/response/airport.rb
|
67
|
+
- lib/rome2rio/response/codeshare.rb
|
66
68
|
- lib/rome2rio/response/flight_hop.rb
|
67
69
|
- lib/rome2rio/response/flight_itinerary.rb
|
68
70
|
- lib/rome2rio/response/flight_leg.rb
|
@@ -77,7 +79,8 @@ files:
|
|
77
79
|
- lib/rome2rio/response/transit_line.rb
|
78
80
|
- rome2rio.gemspec
|
79
81
|
homepage: http://github.com/axic/rome2rio
|
80
|
-
licenses:
|
82
|
+
licenses:
|
83
|
+
- MIT
|
81
84
|
metadata: {}
|
82
85
|
post_install_message:
|
83
86
|
rdoc_options: []
|