overpass-api-ruby 0.1.1 → 0.1.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/README.md +3 -2
- data/lib/overpass_api_ruby.rb +15 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0321725e5dde46a85b82a0488558e5c1b28f81ed
|
4
|
+
data.tar.gz: 241205cb3c4e3b909e4b92465ca2802e2eeb69ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 587a327ac7a2340901fe18d01b245ba119c84b8b9ed9086959192283726cf28919fddcd9bc0256e4ecf6ca5f00b05e0df8ac95c4aa2b4a05b2a5bfdbe884c677
|
7
|
+
data.tar.gz: cd2211b3838ff9d8440aae1849f7f53e9c8e27ab5bbb9aa004bb9b49eb2ba0e6ac68d97ec705464330613eddfe5207fc24bbc17287cad36f0503bccc645d78b9
|
data/README.md
CHANGED
@@ -36,11 +36,12 @@ bbox Hash. Global bounding box.
|
|
36
36
|
endpoint String.
|
37
37
|
Defaults to http://overpass-api.de/api/interpreter
|
38
38
|
timeout Integer.
|
39
|
-
|
39
|
+
element_limit Integer.
|
40
40
|
json Boolean. API response is in JSON format, so parse to hash
|
41
41
|
doesn't use the private parse_nokogiri method.
|
42
42
|
Default: false.
|
43
43
|
cache_expiration_time Integer. Default: 7200.
|
44
|
+
dont_use_cache Boolean. Default: false.
|
44
45
|
```
|
45
46
|
See [Overpass API](http://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide)
|
46
47
|
|
@@ -58,4 +59,4 @@ bbox (s,n,w,e) Defines global bounding box.
|
|
58
59
|
|
59
60
|
License
|
60
61
|
-------
|
61
|
-
MIT.
|
62
|
+
MIT.
|
data/lib/overpass_api_ruby.rb
CHANGED
@@ -5,7 +5,7 @@ require 'json'
|
|
5
5
|
require 'nokogiri'
|
6
6
|
|
7
7
|
class OverpassAPI
|
8
|
-
VERSION='0.1.
|
8
|
+
VERSION='0.1.2'
|
9
9
|
DEFAULT_ENDPOINT='http://overpass-api.de/api/interpreter?data='
|
10
10
|
|
11
11
|
def initialize(args={})
|
@@ -19,6 +19,7 @@ class OverpassAPI
|
|
19
19
|
@json = args[:json] ? "output='json'" : ''
|
20
20
|
@timeout = args[:timeout] ? "timeout='#{args[:timeout]}'" : ''
|
21
21
|
@element_limit = args[:element_limit] ? "element-limit='#{args[:element_limit]}'" : ''
|
22
|
+
@dont_use_cache = args[:dont_use_cache]
|
22
23
|
end
|
23
24
|
|
24
25
|
def bbox(s,n,w,e)
|
@@ -37,12 +38,20 @@ class OverpassAPI
|
|
37
38
|
end
|
38
39
|
|
39
40
|
private
|
41
|
+
def request(url)
|
42
|
+
r = HTTPI::Request.new(url)
|
43
|
+
HTTPI.get(r).body
|
44
|
+
end
|
45
|
+
|
40
46
|
def perform(query)
|
41
47
|
url = URI::encode("#{@endpoint}#{query}")
|
42
|
-
data = @
|
43
|
-
|
44
|
-
|
45
|
-
|
48
|
+
data = if @dont_use_cache
|
49
|
+
request url
|
50
|
+
else
|
51
|
+
@cache.cache("overpass_api_ruby_#{query}") do
|
52
|
+
request url
|
53
|
+
end
|
54
|
+
end
|
46
55
|
|
47
56
|
return JSON.parse(data, :symbolize_names=> true)[:elements] unless @json.empty?
|
48
57
|
|
@@ -80,4 +89,4 @@ class OverpassAPI
|
|
80
89
|
element
|
81
90
|
}
|
82
91
|
end
|
83
|
-
end
|
92
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: overpass-api-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bruno Salerno
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpi
|