jetblue_plane_tracker 0.1.0 → 0.2.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.
- checksums.yaml +8 -8
- data/README.md +60 -0
- data/lib/jetblue_plane_tracker/airport.rb +2 -2
- data/lib/jetblue_plane_tracker/tracker.rb +7 -9
- data/lib/jetblue_plane_tracker/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OGQ4NWU1YjQ1YzI0NmQ3N2ZiNTliYThjMDBiYmRiN2ZhYWVkZDIwZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmI4ZmIyM2MyZDE5ZjM4ODBkYmZjMzdhNzkwOWI4ZjkyOTAyZWM0MA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NzdiZGM3YTZiNDg0YjNkOGNlMjJmZTc5MzkwNGE1N2ZkZWU4YzMzMThjMjFm
|
10
|
+
Mzg0NjRjNTk5Y2FhYjVlYjg2NDYwZjdjOWI5MTQ1ZmEzMmNlM2QyNGRhOWFk
|
11
|
+
YTRkZWVjMTAxOWE5OGE4ZjdjYzViMzkyZDQ5ODEzOTM1M2MzNmY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzQ5ZDZmODZkODA3MDljNmM1NzdjODg0YmEwMjZhNDcyNTU5YTBiMTVjN2Ri
|
14
|
+
M2E3MmYyZDM3NzNiNTVkZDQ4ZWNhMDUyNDQwYzA5NjRjODNlMTM3Njk2OTZj
|
15
|
+
ZWFkMDQ5Y2E4OTY5MzBiMWRlYzI5NDAzNDlhOGNmNzBkNjg4ZDY=
|
data/README.md
CHANGED
@@ -1,3 +1,63 @@
|
|
1
1
|
# JetBlue Plane Tracker
|
2
2
|
A Ruby wrapper for JetBlue flights status tracker.
|
3
3
|
|
4
|
+
## Installation
|
5
|
+
|
6
|
+
Install the gem via the CLI
|
7
|
+
|
8
|
+
```
|
9
|
+
gem install jetblue_plane_tracker
|
10
|
+
```
|
11
|
+
|
12
|
+
or
|
13
|
+
|
14
|
+
Just add the following into your Gemfile and run `bundle`.
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
gem 'jetblue_plane_tracker'
|
18
|
+
```
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
Instantiate the tracker
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
jbtracker = JetBluePlaneTracker::Tracker.new
|
26
|
+
```
|
27
|
+
|
28
|
+
Get a flight status by the departure and arrival city and its date:
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
flights = jbtracker.flight_status(origin: "SFO", destination: "JFK", date: "2015-31-07")
|
32
|
+
```
|
33
|
+
Get a flight status by the flight number and its date:
|
34
|
+
```ruby
|
35
|
+
flights = jbtracker.flight_status(flight: 37, date: "2015-29-07")
|
36
|
+
```
|
37
|
+
|
38
|
+
Print flights by:
|
39
|
+
```ruby
|
40
|
+
flights.each { |flight| puts flight }
|
41
|
+
```
|
42
|
+
Print flights into json by:
|
43
|
+
```ruby
|
44
|
+
flights.each { |flight| puts flight.to_json }
|
45
|
+
```
|
46
|
+
Convert to JSON by:
|
47
|
+
```ruby
|
48
|
+
flights.map { |flight| flight.to_json }
|
49
|
+
```
|
50
|
+
|
51
|
+
## Suggestions
|
52
|
+
|
53
|
+
* Date Format is ```yyyy-dd-mm```
|
54
|
+
* Permited params are:
|
55
|
+
* origin
|
56
|
+
* destination
|
57
|
+
* date
|
58
|
+
* flight
|
59
|
+
* date
|
60
|
+
* Params origin and destination are valid [IATA airport codes][iata]
|
61
|
+
|
62
|
+
|
63
|
+
[iata]: https://en.wikipedia.org/wiki/International_Air_Transport_Association_airport_code
|
@@ -53,7 +53,7 @@
|
|
53
53
|
new(response["icao"], response["iata"], response["name"], response["location"],
|
54
54
|
response["country"], response["country_code"], response["longitude"], response["latitude"])
|
55
55
|
else
|
56
|
-
raise
|
56
|
+
raise response["error"]
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
@@ -61,4 +61,4 @@
|
|
61
61
|
|
62
62
|
end
|
63
63
|
|
64
|
-
end
|
64
|
+
end
|
@@ -4,15 +4,13 @@ module JetBluePlaneTracker
|
|
4
4
|
include HTTParty
|
5
5
|
base_uri "http://www.jetblue.com/flightstatus"
|
6
6
|
|
7
|
-
|
7
|
+
def initialize()
|
8
8
|
|
9
|
-
def initialize(params={})
|
10
|
-
self.params = params
|
11
9
|
end
|
12
10
|
|
13
|
-
def
|
14
|
-
data = get_data
|
15
|
-
flight_date =
|
11
|
+
def flight_status(params={})
|
12
|
+
data = get_data(params)
|
13
|
+
flight_date = params.has_key?("date") ? options[:date] : Date.today
|
16
14
|
flights = []
|
17
15
|
legs = []
|
18
16
|
data['flights'].each do |flight|
|
@@ -27,12 +25,12 @@ module JetBluePlaneTracker
|
|
27
25
|
flights
|
28
26
|
end
|
29
27
|
|
30
|
-
alias_method :
|
28
|
+
alias_method :find_flight, :flight_status
|
31
29
|
|
32
30
|
private
|
33
31
|
|
34
|
-
def get_data
|
35
|
-
self.class.get("/FlightStatusData.aspx", query:
|
32
|
+
def get_data(params)
|
33
|
+
self.class.get("/FlightStatusData.aspx", query: params)
|
36
34
|
end
|
37
35
|
|
38
36
|
end
|