bikes 0.0.1 → 0.0.2
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 +4 -4
- data/.coveralls.yml +1 -0
- data/.gitignore +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -2
- data/Gemfile.lock +4 -1
- data/README.md +27 -27
- data/Rakefile +2 -2
- data/bikes.gemspec +2 -1
- data/test/data/contracts.json +34 -0
- data/test/data/station32.json +17 -0
- data/test/data/stations.json +53 -1
- data/test/helpers.rb +12 -0
- data/test/test_bikes.rb +57 -0
- metadata +28 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db523843a8dffa0aa6029f3d319b76f6b96f3c12
|
4
|
+
data.tar.gz: bae0fc7c4b9d3c1a9caaa01891a72840fe0c83af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e25ce17de42d0be260d338c5066a8c318f8ef671d10f4c32c1f3894b62dec9c8bb703bd44c8c96d8dc3aafa77360cbd8a0d5a12f049d09be6f946bf29d221606
|
7
|
+
data.tar.gz: 1d3b24673a7df43568f4e53bbcc4ab3092c1abbbdb515324befee6f0a41d971c61a4e5d04a8adf34e6d3bd2a847d5908ffd545ed6be85be1a13bca6efa328de1
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service: travis_ci
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
coverage
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -25,6 +25,7 @@ GEM
|
|
25
25
|
multi_xml (>= 0.5.2)
|
26
26
|
json (1.8.1)
|
27
27
|
mime-types (2.4.1)
|
28
|
+
minitest (5.3.5)
|
28
29
|
multi_json (1.10.1)
|
29
30
|
multi_xml (0.5.5)
|
30
31
|
netrc (0.7.7)
|
@@ -51,6 +52,8 @@ PLATFORMS
|
|
51
52
|
|
52
53
|
DEPENDENCIES
|
53
54
|
bikes!
|
54
|
-
coveralls
|
55
|
+
coveralls (~> 0.7, >= 0.7.1)
|
56
|
+
minitest (~> 5.3, >= 5.3.5)
|
55
57
|
rake
|
58
|
+
simplecov (~> 0.9, >= 0.9.1)
|
56
59
|
webmock (~> 1.19, >= 1.19.0)
|
data/README.md
CHANGED
@@ -1,36 +1,36 @@
|
|
1
|
-
###
|
1
|
+
### v0.0.1 - simple wrapper for HTTP invocations
|
2
|
+
|
3
|
+
Wraps the results from the web service at [JC Decaux](https://developer.jcdecaux.com/#/opendata/vls?page=getstarted) in `Hashie::Mash` objects for ease of access.
|
4
|
+
|
5
|
+
You will need to get a developer key from the website to participate.
|
6
|
+
|
7
|
+
Make a client - send your API key and the 'contract' you are targeting
|
2
8
|
|
3
9
|
```
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
can_pay
|
8
|
-
|
9
|
-
bonus?
|
10
|
-
|
11
|
-
open?
|
12
|
-
|
13
|
-
stands - total, empty, bikes
|
14
|
-
|
10
|
+
require 'bikes'
|
11
|
+
|
12
|
+
b = Bikes.new(YOUR_API_KEY, "Dublin")
|
15
13
|
```
|
16
14
|
|
15
|
+
Get an array of the stations for that contract
|
16
|
+
```
|
17
|
+
stations = b.stations
|
17
18
|
```
|
18
|
-
class Client
|
19
|
-
initialize(api_key)
|
20
19
|
|
21
|
-
|
20
|
+
Get details of a specific station, uses the station number
|
21
|
+
|
22
|
+
```
|
23
|
+
> s = b.station(88)
|
24
|
+
> s.name
|
25
|
+
=> "BLACKHALL PLACE"
|
26
|
+
> s.available_bikes
|
27
|
+
=> 26
|
28
|
+
> s.available_bike_stands
|
29
|
+
=> 4
|
22
30
|
```
|
23
31
|
|
32
|
+
Get an array of all the 'contracts' that are deployed - each contract refers to one or more cities covered by a specific instance of the bike scheme
|
33
|
+
|
34
|
+
```
|
35
|
+
b.contracts
|
24
36
|
```
|
25
|
-
c = Client.new("7042a5efadece1f3839371445a1ae3d0983d78b7")
|
26
|
-
|
27
|
-
bikes = c.bikescheme('dublinbikes')
|
28
|
-
|
29
|
-
# No such scheme dude
|
30
|
-
|
31
|
-
bikes.stations -> hash of stations, based on name
|
32
|
-
|
33
|
-
bikes.station(name or number)
|
34
|
-
|
35
|
-
|
36
|
-
|
data/Rakefile
CHANGED
data/bikes.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'date'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'bikes'
|
5
|
-
s.version = '0.0.
|
5
|
+
s.version = '0.0.2'
|
6
6
|
s.date = Date.today.to_s
|
7
7
|
s.license = 'BSD'
|
8
8
|
s.summary = "JCDecaux Bikes Client"
|
@@ -15,4 +15,5 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.add_runtime_dependency 'json', '~> 1.8', '>= 1.8.1'
|
16
16
|
s.add_runtime_dependency 'hashie', '~> 2.1', '>= 2.1.2'
|
17
17
|
s.add_development_dependency 'webmock', '~> 1.19', '>= 1.19.0'
|
18
|
+
s.add_development_dependency 'minitest', '~> 5.3', '>= 5.3.5'
|
18
19
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"name": "Rouen",
|
4
|
+
"cities": [
|
5
|
+
"Rouen"
|
6
|
+
],
|
7
|
+
"commercial_name": "cy'clic",
|
8
|
+
"country_code": "FR"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"name": "Dublin",
|
12
|
+
"cities": [
|
13
|
+
"Dublin"
|
14
|
+
],
|
15
|
+
"commercial_name": "dublinbikes",
|
16
|
+
"country_code": "IE"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"name": "Stockholm",
|
20
|
+
"cities": [
|
21
|
+
"Stockholm"
|
22
|
+
],
|
23
|
+
"commercial_name": "Cyclocity",
|
24
|
+
"country_code": "SE"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"name": "Toyama",
|
28
|
+
"cities": [
|
29
|
+
"Toyama"
|
30
|
+
],
|
31
|
+
"commercial_name": "cyclocity",
|
32
|
+
"country_code": "JP"
|
33
|
+
}
|
34
|
+
]
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"number": 32,
|
3
|
+
"name": "PEARSE STREET",
|
4
|
+
"address": "Pearse Street",
|
5
|
+
"position": {
|
6
|
+
"lat": 53.344304,
|
7
|
+
"lng": -6.250427
|
8
|
+
},
|
9
|
+
"banking": true,
|
10
|
+
"bonus": false,
|
11
|
+
"status": "OPEN",
|
12
|
+
"contract_name": "Dublin",
|
13
|
+
"bike_stands": 30,
|
14
|
+
"available_bike_stands": 2,
|
15
|
+
"available_bikes": 27,
|
16
|
+
"last_update": 1412874747000
|
17
|
+
}
|
data/test/data/stations.json
CHANGED
@@ -1 +1,53 @@
|
|
1
|
-
[{"number"=>42, "name"=>"SMITHFIELD NORTH", "address"=>"Smithfield North", "position"=>{"lat"=>53.349562, "lng"=>-6.278198}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>0, "available_bikes"=>30, "last_update"=>1412874782000}, {"number"=>30, "name"=>"PARNELL SQUARE NORTH", "address"=>"Parnell Square North", "position"=>{"lat"=>53.353462, "lng"=>-6.265305}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>15, "available_bikes"=>4, "last_update"=>1412874749000}, {"number"=>32, "name"=>"PEARSE STREET", "address"=>"Pearse Street", "position"=>{"lat"=>53.344304, "lng"=>-6.250427}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>2, "available_bikes"=>27, "last_update"=>1412874747000}, {"number"=>48, "name"=>"EXCISE WALK", "address"=>"Excise Walk", "position"=>{"lat"=>53.347777, "lng"=>-6.244239}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>27, "available_bikes"=>13, "last_update"=>1412874754000}, {"number"=>13, "name"=>"FITZWILLIAM SQUARE WEST", "address"=>"Fitzwilliam Square West", "position"=>{"lat"=>53.336074, "lng"=>-6.252825}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>29, "available_bikes"=>1, "last_update"=>1412874523000}, {"number"=>81, "name"=>"ST. JAMES HOSPITAL (CENTRAL)", "address"=>"St. James Hospital (Central)", "position"=>{"lat"=>53.339983, "lng"=>-6.295594}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>35, "available_bikes"=>5, "last_update"=>1412874445000}, {"number"=>68, "name"=>"HANOVER QUAY", "address"=>"Hanover Quay", "position"=>{"lat"=>53.344115, "lng"=>-6.237153}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>36, "available_bikes"=>3, "last_update"=>1412874781000}, {"number"=>74, "name"=>"OLIVER BOND STREET", "address"=>"Oliver Bond Street", "position"=>{"lat"=>53.343893, "lng"=>-6.280531}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>17, "available_bikes"=>13, "last_update"=>1412874607000}, {"number"=>87, "name"=>"COLLINS BARRACKS MUSEUM", "address"=>"Collins Barracks Museum", "position"=>{"lat"=>53.347477, "lng"=>-6.28525}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>38, "available_bike_stands"=>37, "available_bikes"=>1, "last_update"=>1412874763000}, {"number"=>84, "name"=>"BROOKFIELD ROAD", "address"=>"Brookfield Road", "position"=>{"lat"=>53.339005, "lng"=>-6.300217}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>14, "available_bikes"=>16, "last_update"=>1412874573000}, {"number"=>54, "name"=>"CLONMEL STREET", "address"=>"Clonmel Street", "position"=>{"lat"=>53.336021, "lng"=>-6.26298}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>33, "available_bike_stands"=>32, "available_bikes"=>1, "last_update"=>1412874610000}, {"number"=>20, "name"=>"JAMES STREET EAST", "address"=>"James Street East", "position"=>{"lat"=>53.336485, "lng"=>-6.248174}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>29, "available_bikes"=>1, "last_update"=>1412874756000}, {"number"=>56, "name"=>"MOUNT STREET LOWER", "address"=>"Mount Street Lower", "position"=>{"lat"=>53.33796, "lng"=>-6.24153}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>34, "available_bikes"=>6, "last_update"=>1412874740000}, {"number"=>6, "name"=>"CHRISTCHURCH PLACE", "address"=>"Christchurch Place", "position"=>{"lat"=>53.343368, "lng"=>-6.27012}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>17, "available_bikes"=>3, "last_update"=>1412874542000}, {"number"=>18, "name"=>"GRANTHAM STREET", "address"=>"Grantham Street", "position"=>{"lat"=>53.334123, "lng"=>-6.265436}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>21, "available_bikes"=>9, "last_update"=>1412874779000}, {"number"=>52, "name"=>"YORK STREET EAST", "address"=>"York Street East", "position"=>{"lat"=>53.338755, "lng"=>-6.262003}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>32, "available_bike_stands"=>16, "available_bikes"=>16, "last_update"=>1412874725000}, {"number"=>43, "name"=>"PORTOBELLO ROAD", "address"=>"Portobello Road", "position"=>{"lat"=>53.330091, "lng"=>-6.268044}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>2, "available_bikes"=>28, "last_update"=>1412874776000}, {"number"=>31, "name"=>"PARNELL STREET", "address"=>"Parnell Street", "position"=>{"lat"=>53.350929, "lng"=>-6.265125}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>3, "available_bikes"=>17, "last_update"=>1412874773000}, {"number"=>98, "name"=>"FREDERICK STREET SOUTH", "address"=>"Frederick Street South", "position"=>{"lat"=>53.341515, "lng"=>-6.256853}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>34, "available_bikes"=>6, "last_update"=>1412874541000}, {"number"=>14, "name"=>"FOWNES STREET UPPER", "address"=>"Fownes Street Upper", "position"=>{"lat"=>53.344603, "lng"=>-6.263371}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>7, "available_bikes"=>23, "last_update"=>1412874777000}, {"number"=>1, "name"=>"CHATHAM STREET", "address"=>"Chatham Street", "position"=>{"lat"=>53.340962, "lng"=>-6.262287}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>29, "available_bike_stands"=>20, "available_bikes"=>9, "last_update"=>1412874709000}, {"number"=>23, "name"=>"CUSTOM HOUSE", "address"=>"Custom House", "position"=>{"lat"=>53.348279, "lng"=>-6.254662}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>10, "available_bikes"=>20, "last_update"=>1412874743000}, {"number"=>90, "name"=>"BENSON STREET", "address"=>"Benson Street", "position"=>{"lat"=>53.344153, "lng"=>-6.233451}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>40, "available_bikes"=>0, "last_update"=>1412874273000}, {"number"=>63, "name"=>"FENIAN STREET", "address"=>"Fenian Street", "position"=>{"lat"=>53.341428, "lng"=>-6.24672}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>35, "available_bike_stands"=>34, "available_bikes"=>1, "last_update"=>1412874561000}, {"number"=>91, "name"=>"SOUTH DOCK ROAD", "address"=>"South Dock Road", "position"=>{"lat"=>53.341833, "lng"=>-6.231291}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>12, "available_bikes"=>18, "last_update"=>1412874504000}, {"number"=>67, "name"=>"THE POINT", "address"=>"The Point", "position"=>{"lat"=>53.346867, "lng"=>-6.230852}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>36, "available_bikes"=>4, "last_update"=>1412874608000}, {"number"=>62, "name"=>"LIME STREET", "address"=>"Lime Street", "position"=>{"lat"=>53.346026, "lng"=>-6.243576}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>38, "available_bikes"=>0, "last_update"=>1412874582000}, {"number"=>97, "name"=>"KILMAINHAM GAOL", "address"=>"Kilmainham Gaol", "position"=>{"lat"=>53.342113, "lng"=>-6.310015}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>22, "available_bikes"=>17, "last_update"=>1412874527000}, {"number"=>49, "name"=>"GUILD STREET", "address"=>"Guild Street", "position"=>{"lat"=>53.347932, "lng"=>-6.240928}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>19, "available_bikes"=>20, "last_update"=>1412874728000}, {"number"=>19, "name"=>"HERBERT PLACE", "address"=>"Herbert Place", "position"=>{"lat"=>53.334432, "lng"=>-6.245575}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>30, "available_bikes"=>0, "last_update"=>1412874771000}, {"number"=>102, "name"=>"WESTERN WAY", "address"=>"Western Way", "position"=>{"lat"=>53.354929, "lng"=>-6.269425}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>24, "available_bikes"=>16, "last_update"=>1412874549000}, {"number"=>53, "name"=>"NEWMAN HOUSE", "address"=>"Newman House", "position"=>{"lat"=>53.337132, "lng"=>-6.26059}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>38, "available_bikes"=>2, "last_update"=>1412874726000}, {"number"=>101, "name"=>"KING STREET NORTH", "address"=>"King Street North", "position"=>{"lat"=>53.350291, "lng"=>-6.273507}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>27, "available_bikes"=>3, "last_update"=>1412874358000}, {"number"=>11, "name"=>"EARLSFORT TERRACE", "address"=>"Earlsfort Terrace", "position"=>{"lat"=>53.334019, "lng"=>-6.258371}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>19, "available_bikes"=>11, "last_update"=>1412874776000}, {"number"=>17, "name"=>"GOLDEN LANE", "address"=>"Golden Lane", "position"=>{"lat"=>53.340803, "lng"=>-6.267732}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>16, "available_bikes"=>4, "last_update"=>1412874514000}, {"number"=>45, "name"=>"DEVERELL PLACE", "address"=>"Deverell Place", "position"=>{"lat"=>53.351464, "lng"=>-6.255265}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>14, "available_bikes"=>16, "last_update"=>1412874772000}, {"number"=>72, "name"=>"JOHN STREET WEST", "address"=>"John Street West", "position"=>{"lat"=>53.343105, "lng"=>-6.277167}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>31, "available_bike_stands"=>29, "available_bikes"=>2, "last_update"=>1412874644000}, {"number"=>99, "name"=>"CITY QUAY", "address"=>"City Quay", "position"=>{"lat"=>53.346637, "lng"=>-6.246154}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>30, "available_bikes"=>0, "last_update"=>1412874357000}, {"number"=>9, "name"=>"EXCHEQUER STREET", "address"=>"Exchequer Street", "position"=>{"lat"=>53.343034, "lng"=>-6.263578}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>24, "available_bike_stands"=>13, "available_bikes"=>11, "last_update"=>1412874775000}, {"number"=>55, "name"=>"HATCH STREET", "address"=>"Hatch Street", "position"=>{"lat"=>53.33403, "lng"=>-6.260714}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>36, "available_bike_stands"=>35, "available_bikes"=>1, "last_update"=>1412874326000}, {"number"=>5, "name"=>"CHARLEMONT PLACE", "address"=>"Charlemont Street", "position"=>{"lat"=>53.330662, "lng"=>-6.260177}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>13, "available_bikes"=>16, "last_update"=>1412874776000}, {"number"=>61, "name"=>"HARDWICKE PLACE", "address"=>"Hardwicke Place", "position"=>{"lat"=>53.357043, "lng"=>-6.263232}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>25, "available_bike_stands"=>25, "available_bikes"=>0, "last_update"=>1412874732000}, {"number"=>77, "name"=>"WOLFE TONE STREET", "address"=>"Wolfe Tone Street", "position"=>{"lat"=>53.348875, "lng"=>-6.267459}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>29, "available_bike_stands"=>10, "available_bikes"=>19, "last_update"=>1412874761000}, {"number"=>73, "name"=>"FRANCIS STREET", "address"=>"Francis Street", "position"=>{"lat"=>53.342081, "lng"=>-6.275233}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>26, "available_bikes"=>4, "last_update"=>1412874560000}, {"number"=>4, "name"=>"GREEK STREET", "address"=>"Greek Street", "position"=>{"lat"=>53.346874, "lng"=>-6.272976}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>12, "available_bikes"=>8, "last_update"=>1412874782000}, {"number"=>7, "name"=>"HIGH STREET", "address"=>"High Street", "position"=>{"lat"=>53.343565, "lng"=>-6.275071}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>29, "available_bike_stands"=>27, "available_bikes"=>2, "last_update"=>1412874616000}, {"number"=>60, "name"=>"NORTH CIRCULAR ROAD", "address"=>"North Circular Road", "position"=>{"lat"=>53.359624, "lng"=>-6.260348}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>2, "available_bikes"=>28, "last_update"=>1412874749000}, {"number"=>38, "name"=>"TALBOT STREET", "address"=>"Talbot Street", "position"=>{"lat"=>53.350974, "lng"=>-6.25294}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>39, "available_bikes"=>1, "last_update"=>1412874748000}, {"number"=>58, "name"=>"SIR PATRICK DUN'S", "address"=>"Sir Patrick's Dun", "position"=>{"lat"=>53.339218, "lng"=>-6.240642}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>37, "available_bikes"=>3, "last_update"=>1412874751000}, {"number"=>66, "name"=>"NEW CENTRAL BANK", "address"=>"New Central Bank", "position"=>{"lat"=>53.347122, "lng"=>-6.234749}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>38, "available_bikes"=>0, "last_update"=>1412874340000}, {"number"=>16, "name"=>"GEORGES QUAY", "address"=>"Georges Quay", "position"=>{"lat"=>53.347508, "lng"=>-6.252192}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>12, "available_bikes"=>8, "last_update"=>1412874378000}, {"number"=>82, "name"=>"MOUNT BROWN", "address"=>"Mount Brown", "position"=>{"lat"=>53.341645, "lng"=>-6.29719}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>22, "available_bike_stands"=>16, "available_bikes"=>6, "last_update"=>1412874217000}, {"number"=>95, "name"=>"ROYAL HOSPITAL", "address"=>"Royal Hospital", "position"=>{"lat"=>53.343897, "lng"=>-6.29706}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>26, "available_bikes"=>14, "last_update"=>1412874722000}, {"number"=>93, "name"=>"HEUSTON STATION (CENTRAL)", "address"=>"Heuston Station (Central)", "position"=>{"lat"=>53.346603, "lng"=>-6.296924}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>7, "available_bikes"=>33, "last_update"=>1412874312000}, {"number"=>22, "name"=>"TOWNSEND STREET", "address"=>"Townsend Street", "position"=>{"lat"=>53.345922, "lng"=>-6.254614}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>8, "available_bikes"=>12, "last_update"=>1412874769000}, {"number"=>34, "name"=>"PORTOBELLO HARBOUR", "address"=>"Portobello Harbour", "position"=>{"lat"=>53.330362, "lng"=>-6.265163}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>1, "available_bikes"=>29, "last_update"=>1412874754000}, {"number"=>8, "name"=>"CUSTOM HOUSE QUAY", "address"=>"Custom House Quay", "position"=>{"lat"=>53.347884, "lng"=>-6.248048}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>30, "available_bikes"=>0, "last_update"=>1412874704000}, {"number"=>27, "name"=>"MOLESWORTH STREET", "address"=>"Molesworth Street", "position"=>{"lat"=>53.341288, "lng"=>-6.258117}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>20, "available_bikes"=>0, "last_update"=>1412874743000}, {"number"=>96, "name"=>"KILMAINHAM LANE", "address"=>"Kilmainham Lane", "position"=>{"lat"=>53.341805, "lng"=>-6.305085}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>23, "available_bikes"=>7, "last_update"=>1412874309000}, {"number"=>76, "name"=>"MARKET STREET SOUTH", "address"=>"Market Street South", "position"=>{"lat"=>53.342296, "lng"=>-6.287661}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>38, "available_bike_stands"=>31, "available_bikes"=>7, "last_update"=>1412874415000}, {"number"=>71, "name"=>"KEVIN STREET", "address"=>"Kevin Street", "position"=>{"lat"=>53.337757, "lng"=>-6.267699}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>33, "available_bikes"=>7, "last_update"=>1412874765000}, {"number"=>79, "name"=>"ECCLES STREET EAST", "address"=>"Eccles Street East", "position"=>{"lat"=>53.358115, "lng"=>-6.265601}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>27, "available_bike_stands"=>27, "available_bikes"=>0, "last_update"=>1412874649000}, {"number"=>69, "name"=>"GRAND CANAL DOCK", "address"=>"Grand Canal Dock", "position"=>{"lat"=>53.342638, "lng"=>-6.238695}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>38, "available_bikes"=>2, "last_update"=>1412874711000}, {"number"=>25, "name"=>"MERRION SQUARE EAST", "address"=>"Merrion Square East", "position"=>{"lat"=>53.339434, "lng"=>-6.246548}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>30, "available_bikes"=>0, "last_update"=>1412874456000}, {"number"=>51, "name"=>"YORK STREET WEST", "address"=>"York Street West", "position"=>{"lat"=>53.339334, "lng"=>-6.264699}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>28, "available_bikes"=>12, "last_update"=>1412874629000}, {"number"=>37, "name"=>"ST. STEPHEN'S GREEN SOUTH", "address"=>"St. Stephen's Green South", "position"=>{"lat"=>53.337494, "lng"=>-6.26199}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>30, "available_bikes"=>0, "last_update"=>1412874750000}, {"number"=>59, "name"=>"DENMARK STREET GREAT", "address"=>"Denmark Street Great", "position"=>{"lat"=>53.35561, "lng"=>-6.261397}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>17, "available_bikes"=>3, "last_update"=>1412874412000}, {"number"=>94, "name"=>"HEUSTON STATION (CAR PARK)", "address"=>"Heuston Station (Car Park)", "position"=>{"lat"=>53.346985, "lng"=>-6.297804}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>5, "available_bikes"=>35, "last_update"=>1412874526000}, {"number"=>36, "name"=>"ST. STEPHEN'S GREEN EAST", "address"=>"St. Stephen's Green East", "position"=>{"lat"=>53.337824, "lng"=>-6.256035}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>39, "available_bikes"=>0, "last_update"=>1412874689000}, {"number"=>12, "name"=>"ECCLES STREET", "address"=>"Eccles Street", "position"=>{"lat"=>53.359246, "lng"=>-6.269779}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>12, "available_bikes"=>8, "last_update"=>1412874409000}, {"number"=>78, "name"=>"MATER HOSPITAL", "address"=>"Mater Hospital", "position"=>{"lat"=>53.359967, "lng"=>-6.264828}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>23, "available_bikes"=>17, "last_update"=>1412874632000}, {"number"=>2, "name"=>"BLESSINGTON STREET", "address"=>"Blessington Street", "position"=>{"lat"=>53.356769, "lng"=>-6.26814}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>18, "available_bikes"=>2, "last_update"=>1412874566000}, {"number"=>26, "name"=>"MERRION SQUARE WEST", "address"=>"Merrion Square West", "position"=>{"lat"=>53.339764, "lng"=>-6.251988}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>10, "available_bikes"=>9, "last_update"=>1412874778000}, {"number"=>65, "name"=>"CONVENTION CENTRE", "address"=>"Convention Centre", "position"=>{"lat"=>53.34744, "lng"=>-6.238523}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>39, "available_bikes"=>1, "last_update"=>1412874690000}, {"number"=>15, "name"=>"HARDWICKE STREET", "address"=>"Hardwicke Street", "position"=>{"lat"=>53.355473, "lng"=>-6.264423}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>16, "available_bike_stands"=>9, "available_bikes"=>7, "last_update"=>1412874492000}, {"number"=>35, "name"=>"SMITHFIELD", "address"=>"Smithfield", "position"=>{"lat"=>53.347692, "lng"=>-6.278214}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>20, "available_bikes"=>10, "last_update"=>1412874763000}, {"number"=>10, "name"=>"DAME STREET", "address"=>"Dame Street", "position"=>{"lat"=>53.344007, "lng"=>-6.266802}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>16, "available_bike_stands"=>2, "available_bikes"=>14, "last_update"=>1412874751000}, {"number"=>64, "name"=>"SANDWITH STREET", "address"=>"Sandwith Street", "position"=>{"lat"=>53.345203, "lng"=>-6.247163}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>40, "available_bikes"=>0, "last_update"=>1412874482000}, {"number"=>33, "name"=>"PRINCES STREET / O'CONNELL STREET", "address"=>"Princes Street / O'Connell Street", "position"=>{"lat"=>53.349013, "lng"=>-6.260311}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>23, "available_bike_stands"=>0, "available_bikes"=>23, "last_update"=>1412874776000}, {"number"=>57, "name"=>"GRATTAN STREET", "address"=>"Grattan Street", "position"=>{"lat"=>53.339629, "lng"=>-6.243778}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>23, "available_bike_stands"=>23, "available_bikes"=>0, "last_update"=>1412874572000}, {"number"=>80, "name"=>"ST JAMES HOSPITAL (LUAS)", "address"=>"St James Hospital (Luas)", "position"=>{"lat"=>53.341359, "lng"=>-6.292951}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>30, "available_bikes"=>10, "last_update"=>1412874766000}, {"number"=>3, "name"=>"BOLTON STREET", "address"=>"Bolton Street", "position"=>{"lat"=>53.351182, "lng"=>-6.269859}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>20, "available_bikes"=>0, "last_update"=>1412874501000}, {"number"=>46, "name"=>"STRAND STREET GREAT", "address"=>"Strand Street Great", "position"=>{"lat"=>53.347082, "lng"=>-6.264192}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>35, "available_bike_stands"=>15, "available_bikes"=>20, "last_update"=>1412874721000}, {"number"=>70, "name"=>"BARROW STREET", "address"=>"Barrow Street", "position"=>{"lat"=>53.341655, "lng"=>-6.236198}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>31, "available_bikes"=>9, "last_update"=>1412874781000}, {"number"=>28, "name"=>"MOUNTJOY SQUARE WEST", "address"=>"Mountjoy Square West", "position"=>{"lat"=>53.356299, "lng"=>-6.258586}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>16, "available_bikes"=>14, "last_update"=>1412874780000}, {"number"=>39, "name"=>"WILTON TERRACE", "address"=>"Wilton Terrace", "position"=>{"lat"=>53.332383, "lng"=>-6.252717}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>12, "available_bikes"=>8, "last_update"=>1412874780000}, {"number"=>21, "name"=>"LEINSTER STREET SOUTH", "address"=>"Leinster Street South", "position"=>{"lat"=>53.34218, "lng"=>-6.254485}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>6, "available_bikes"=>23, "last_update"=>1412874770000}, {"number"=>75, "name"=>"JAMES STREET", "address"=>"James Street", "position"=>{"lat"=>53.343456, "lng"=>-6.287409}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>30, "available_bikes"=>9, "last_update"=>1412874721000}, {"number"=>86, "name"=>"PARKGATE STREET", "address"=>"Parkgate Street", "position"=>{"lat"=>53.347972, "lng"=>-6.291804}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>38, "available_bike_stands"=>1, "available_bikes"=>37, "last_update"=>1412874534000}, {"number"=>100, "name"=>"HEUSTON BRIDGE (SOUTH)", "address"=>"Heuston Bridge (South)", "position"=>{"lat"=>53.347106, "lng"=>-6.292041}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>25, "available_bike_stands"=>1, "available_bikes"=>24, "last_update"=>1412874780000}, {"number"=>24, "name"=>"CATHAL BRUGHA STREET", "address"=>"Cathal Brugha Street", "position"=>{"lat"=>53.352149, "lng"=>-6.260533}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>0, "available_bikes"=>20, "last_update"=>1412874780000}, {"number"=>85, "name"=>"ROTHE ABBEY", "address"=>"Rothe Abbey", "position"=>{"lat"=>53.338776, "lng"=>-6.30395}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>35, "available_bike_stands"=>11, "available_bikes"=>24, "last_update"=>1412874779000}, {"number"=>44, "name"=>"UPPER SHERRARD STREET", "address"=>"Upper Sherrard Street", "position"=>{"lat"=>53.358437, "lng"=>-6.260641}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>19, "available_bikes"=>11, "last_update"=>1412874743000}, {"number"=>89, "name"=>"FITZWILLIAM SQUARE EAST", "address"=>"Fitzwilliam Square East", "position"=>{"lat"=>53.335211, "lng"=>-6.2509}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>40, "available_bikes"=>0, "last_update"=>1412874627000}, {"number"=>41, "name"=>"HARCOURT TERRACE", "address"=>"Harcourt Terrace", "position"=>{"lat"=>53.332763, "lng"=>-6.257942}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>20, "available_bike_stands"=>16, "available_bikes"=>4, "last_update"=>1412874578000}, {"number"=>40, "name"=>"JERVIS STREET", "address"=>"Jervis Street", "position"=>{"lat"=>53.3483, "lng"=>-6.266651}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>21, "available_bike_stands"=>3, "available_bikes"=>18, "last_update"=>1412874773000}, {"number"=>29, "name"=>"ORMOND QUAY UPPER", "address"=>"Ormond Quay Upper", "position"=>{"lat"=>53.346057, "lng"=>-6.268001}, "banking"=>true, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>29, "available_bike_stands"=>4, "available_bikes"=>25, "last_update"=>1412874781000}, {"number"=>83, "name"=>"EMMET ROAD", "address"=>"Emmet Road", "position"=>{"lat"=>53.340714, "lng"=>-6.308191}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>8, "available_bikes"=>32, "last_update"=>1412874609000}, {"number"=>92, "name"=>"HEUSTON BRIDGE (NORTH)", "address"=>"Heuston Bridge (North)", "position"=>{"lat"=>53.347802, "lng"=>-6.292432}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>40, "available_bike_stands"=>0, "available_bikes"=>40, "last_update"=>1412874245000}, {"number"=>88, "name"=>"BLACKHALL PLACE", "address"=>"Blackhall Place", "position"=>{"lat"=>53.3488, "lng"=>-6.281637}, "banking"=>false, "bonus"=>false, "status"=>"OPEN", "contract_name"=>"Dublin", "bike_stands"=>30, "available_bike_stands"=>14, "available_bikes"=>16, "last_update"=>1412874744000}]
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"number": 42,
|
4
|
+
"name": "SMITHFIELD NORTH",
|
5
|
+
"address": "Smithfield North",
|
6
|
+
"position": {
|
7
|
+
"lat": 53.349562,
|
8
|
+
"lng": -6.278198
|
9
|
+
},
|
10
|
+
"banking": true,
|
11
|
+
"bonus": false,
|
12
|
+
"status": "OPEN",
|
13
|
+
"contract_name": "Dublin",
|
14
|
+
"bike_stands": 30,
|
15
|
+
"available_bike_stands": 0,
|
16
|
+
"available_bikes": 30,
|
17
|
+
"last_update": 1412874782000
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"number": 30,
|
21
|
+
"name": "PARNELL SQUARE NORTH",
|
22
|
+
"address": "Parnell Square North",
|
23
|
+
"position": {
|
24
|
+
"lat": 53.353462,
|
25
|
+
"lng": -6.265305
|
26
|
+
},
|
27
|
+
"banking": true,
|
28
|
+
"bonus": false,
|
29
|
+
"status": "OPEN",
|
30
|
+
"contract_name": "Dublin",
|
31
|
+
"bike_stands": 20,
|
32
|
+
"available_bike_stands": 15,
|
33
|
+
"available_bikes": 4,
|
34
|
+
"last_update": 1412874749000
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"number": 32,
|
38
|
+
"name": "PEARSE STREET",
|
39
|
+
"address": "Pearse Street",
|
40
|
+
"position": {
|
41
|
+
"lat": 53.344304,
|
42
|
+
"lng": -6.250427
|
43
|
+
},
|
44
|
+
"banking": true,
|
45
|
+
"bonus": false,
|
46
|
+
"status": "OPEN",
|
47
|
+
"contract_name": "Dublin",
|
48
|
+
"bike_stands": 30,
|
49
|
+
"available_bike_stands": 2,
|
50
|
+
"available_bikes": 27,
|
51
|
+
"last_update": 1412874747000
|
52
|
+
}
|
53
|
+
]
|
data/test/helpers.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.start do
|
3
|
+
add_filter '/test/'
|
4
|
+
end
|
5
|
+
|
6
|
+
require 'minitest/autorun'
|
7
|
+
require 'webmock/minitest'
|
8
|
+
require_relative '../lib/bikes'
|
9
|
+
|
10
|
+
def test_data(name)
|
11
|
+
File.new(File.expand_path(File.dirname(__FILE__) + "/data/#{name.to_s}.json"))
|
12
|
+
end
|
data/test/test_bikes.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
require_relative './helpers'
|
2
|
+
|
3
|
+
class TestBikes < Minitest::Spec
|
4
|
+
|
5
|
+
STATIONS_URL = 'https://api.jcdecaux.com/vls/v1/stations'
|
6
|
+
CONTRACTS_URL = 'https://api.jcdecaux.com/vls/v1/contracts'
|
7
|
+
API_KEY = '111111111111111111'
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@contracts = test_data(:contracts)
|
11
|
+
@stations = test_data(:stations)
|
12
|
+
@station32 = test_data(:station32)
|
13
|
+
@bikes = Bikes.new(API_KEY, 'Dublin')
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_contracts
|
17
|
+
stub_request(:get, CONTRACTS_URL).with(query: { apiKey: API_KEY}).to_return({body: @contracts.read})
|
18
|
+
|
19
|
+
b = @bikes.contracts
|
20
|
+
|
21
|
+
b.size.must_equal 4
|
22
|
+
|
23
|
+
b[1].name.must_equal 'Dublin'
|
24
|
+
b[1].cities[0].must_equal 'Dublin'
|
25
|
+
b[1].country_code.must_equal 'IE'
|
26
|
+
b[1].commercial_name.must_equal 'dublinbikes'
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_stations
|
30
|
+
stub_request(:get, STATIONS_URL).with(query: { apiKey: API_KEY, contract: 'Dublin'}).to_return({body: @stations.read})
|
31
|
+
s = @bikes.stations
|
32
|
+
|
33
|
+
s.size.must_equal 3
|
34
|
+
s[2].number.must_equal 32
|
35
|
+
s[2].name.must_equal "PEARSE STREET"
|
36
|
+
s[2].address.must_equal "Pearse Street"
|
37
|
+
s[2].bike_stands.must_equal 30
|
38
|
+
s[2].available_bike_stands.must_equal 2
|
39
|
+
s[2].available_bikes.must_equal 27
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_station
|
43
|
+
snum = 32
|
44
|
+
|
45
|
+
stub_request(:get, STATIONS_URL + "/#{snum}").with(query: { apiKey: API_KEY, contract: 'Dublin'}).to_return({body: @station32.read})
|
46
|
+
|
47
|
+
s = @bikes.station(snum)
|
48
|
+
|
49
|
+
s.wont_be_nil
|
50
|
+
s.number.must_equal snum
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_bad_thing_happen
|
54
|
+
# This test to be written. Mock errors come from the API.
|
55
|
+
# response code is 400 and { "error" : "Please provide contract query parameter" }
|
56
|
+
end
|
57
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bikes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oisin Hurley
|
@@ -90,12 +90,35 @@ dependencies:
|
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
92
|
version: 1.19.0
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: minitest
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '5.3'
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 5.3.5
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '5.3'
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 5.3.5
|
93
113
|
description: Ruby client for JCDecaux urban bike rental schemes
|
94
114
|
email: oisin@nis.io
|
95
115
|
executables: []
|
96
116
|
extensions: []
|
97
117
|
extra_rdoc_files: []
|
98
118
|
files:
|
119
|
+
- ".coveralls.yml"
|
120
|
+
- ".gitignore"
|
121
|
+
- ".travis.yml"
|
99
122
|
- Gemfile
|
100
123
|
- Gemfile.lock
|
101
124
|
- LICENSE.txt
|
@@ -103,7 +126,11 @@ files:
|
|
103
126
|
- Rakefile
|
104
127
|
- bikes.gemspec
|
105
128
|
- lib/bikes.rb
|
129
|
+
- test/data/contracts.json
|
130
|
+
- test/data/station32.json
|
106
131
|
- test/data/stations.json
|
132
|
+
- test/helpers.rb
|
133
|
+
- test/test_bikes.rb
|
107
134
|
homepage: http://rubygems.org/gems/bikes
|
108
135
|
licenses:
|
109
136
|
- BSD
|