freebase-api 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -1
- data/Gemfile.lock +5 -4
- data/lib/freebase_api/session.rb +19 -1
- data/lib/freebase_api/version.rb +1 -1
- data/spec/session_spec.rb +21 -0
- metadata +17 -7
- checksums.yaml +0 -15
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
freebase-api (0.1.
|
4
|
+
freebase-api (0.1.3)
|
5
5
|
httparty (~> 0.10)
|
6
6
|
|
7
7
|
GEM
|
@@ -15,12 +15,13 @@ GEM
|
|
15
15
|
simplecov (>= 0.7)
|
16
16
|
thor
|
17
17
|
diff-lcs (1.2.4)
|
18
|
-
httparty (0.
|
19
|
-
|
18
|
+
httparty (0.12.0)
|
19
|
+
json (~> 1.8)
|
20
20
|
multi_xml (>= 0.5.2)
|
21
|
+
json (1.8.1)
|
21
22
|
mime-types (1.23)
|
22
23
|
multi_json (1.7.2)
|
23
|
-
multi_xml (0.5.
|
24
|
+
multi_xml (0.5.5)
|
24
25
|
rake (10.0.4)
|
25
26
|
redcarpet (2.2.2)
|
26
27
|
rest-client (1.6.7)
|
data/lib/freebase_api/session.rb
CHANGED
@@ -21,6 +21,7 @@ module FreebaseAPI
|
|
21
21
|
@env = options[:env]
|
22
22
|
@key = options[:key] || ENV['GOOGLE_API_KEY']
|
23
23
|
@query_options = options[:query_options]
|
24
|
+
@proxy_options = get_proxy_options
|
24
25
|
end
|
25
26
|
|
26
27
|
# Execute a MQL read query
|
@@ -90,7 +91,9 @@ module FreebaseAPI
|
|
90
91
|
def get(url, params={}, options={})
|
91
92
|
FreebaseAPI.logger.debug("GET #{url}")
|
92
93
|
params[:key] = @key if @key
|
93
|
-
|
94
|
+
options = { format: options[:format], query: params }
|
95
|
+
options.merge!(@proxy_options)
|
96
|
+
response = self.class.get(url, options)
|
94
97
|
handle_response(response)
|
95
98
|
end
|
96
99
|
|
@@ -110,5 +113,20 @@ module FreebaseAPI
|
|
110
113
|
end
|
111
114
|
end
|
112
115
|
end
|
116
|
+
|
117
|
+
# Get the proxy options for HTTParty
|
118
|
+
#
|
119
|
+
# @return [Hash] the proxy options
|
120
|
+
def get_proxy_options
|
121
|
+
options = {}
|
122
|
+
if url = ENV['HTTPS_PROXY'] || ENV['https_proxy'] || ENV['HTTP_PROXY'] || ENV['http_proxy']
|
123
|
+
proxy_uri = URI.parse(url)
|
124
|
+
options[:http_proxyaddr] = proxy_uri.host
|
125
|
+
options[:http_proxyport] = proxy_uri.port
|
126
|
+
options[:http_proxyuser] = proxy_uri.user
|
127
|
+
options[:http_proxypass] = proxy_uri.password
|
128
|
+
end
|
129
|
+
options
|
130
|
+
end
|
113
131
|
end
|
114
132
|
end
|
data/lib/freebase_api/version.rb
CHANGED
data/spec/session_spec.rb
CHANGED
@@ -162,4 +162,25 @@ describe FreebaseAPI::Session do
|
|
162
162
|
end
|
163
163
|
end
|
164
164
|
end
|
165
|
+
|
166
|
+
describe "#get" do
|
167
|
+
let(:session) { FreebaseAPI::Session.new }
|
168
|
+
|
169
|
+
context "with a proxy env variable" do
|
170
|
+
before do
|
171
|
+
ENV['http_proxy'] = 'http://user:pass@site.com:2020'
|
172
|
+
session.stub(:handle_response)
|
173
|
+
end
|
174
|
+
|
175
|
+
it "should use the proxy" do
|
176
|
+
session.class.should_receive(:get) do |url, params, options|
|
177
|
+
params[:http_proxyaddr].should eq "site.com"
|
178
|
+
params[:http_proxyport].should eq 2020
|
179
|
+
params[:http_proxyuser].should eq "user"
|
180
|
+
params[:http_proxypass].should eq "pass"
|
181
|
+
end
|
182
|
+
session.send(:get, 'URL')
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
165
186
|
end
|
metadata
CHANGED
@@ -1,29 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freebase-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.3
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Aymeric Brisse
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-
|
12
|
+
date: 2013-12-05 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
15
|
+
prerelease: false
|
14
16
|
name: httparty
|
17
|
+
type: :runtime
|
15
18
|
requirement: !ruby/object:Gem::Requirement
|
16
19
|
requirements:
|
17
20
|
- - ~>
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: '0.10'
|
20
|
-
|
21
|
-
prerelease: false
|
23
|
+
none: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
23
25
|
requirements:
|
24
26
|
- - ~>
|
25
27
|
- !ruby/object:Gem::Version
|
26
28
|
version: '0.10'
|
29
|
+
none: false
|
27
30
|
description: A library to use the Freebase API
|
28
31
|
email:
|
29
32
|
- aymeric.brisse@mperfect-memory.com
|
@@ -60,7 +63,6 @@ files:
|
|
60
63
|
- travis.yml
|
61
64
|
homepage: https://github.com/PerfectMemory/freebase-api
|
62
65
|
licenses: []
|
63
|
-
metadata: {}
|
64
66
|
post_install_message:
|
65
67
|
rdoc_options: []
|
66
68
|
require_paths:
|
@@ -69,17 +71,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
69
71
|
requirements:
|
70
72
|
- - ! '>='
|
71
73
|
- !ruby/object:Gem::Version
|
74
|
+
segments:
|
75
|
+
- 0
|
76
|
+
hash: 2916215866854017455
|
72
77
|
version: '0'
|
78
|
+
none: false
|
73
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
80
|
requirements:
|
75
81
|
- - ! '>='
|
76
82
|
- !ruby/object:Gem::Version
|
83
|
+
segments:
|
84
|
+
- 0
|
85
|
+
hash: 2916215866854017455
|
77
86
|
version: '0'
|
87
|
+
none: false
|
78
88
|
requirements: []
|
79
89
|
rubyforge_project:
|
80
|
-
rubygems_version:
|
90
|
+
rubygems_version: 1.8.25
|
81
91
|
signing_key:
|
82
|
-
specification_version:
|
92
|
+
specification_version: 3
|
83
93
|
summary: Provides access to both a raw-access and an abstract-layer to the Freebase
|
84
94
|
API
|
85
95
|
test_files:
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
MTg1YWI3YTlmNzU4YjY5N2EzNDhiYjE0MzJmMzRjNzVmMmQ1ZTMzNg==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NWQ3NGY0MWNhZDNiYWI4ZDg1ZWMyZDQ5NjJkNjI5ZWRkMGNlMDg0NA==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NTczZTBhOTU1N2I0Zjg4YmI5MGU0ZDlkYTEzODhmZTU4ZTQ3ZTVkMmMzYzcx
|
10
|
-
YzQzMTIzMDZmMzMzNDZhZDllMDMyMjc3MzJmYTZjYjU5NTk1YTI3ZWFlNzg5
|
11
|
-
YmFiNTM1ZDIzNGU0M2JkMmY5YmM5OWI3ZGJkZDA3M2E2MzRlOGM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MTJhNDRjYzIzNDM2ZTkyMDc5NTY0OTYzNTE1YzI4OWNmNDc5ZDAzZTI3NjI1
|
14
|
-
YmU5NGZmODNhNGJmYmVhMTY3ZTJlY2VhZTc1OGYzMGJlNjc5ZGNmY2Y4NDg0
|
15
|
-
ZjA5NjA3NjBhODY3MDE1ZTlhN2Q5M2NlNTE4MWU3ZjMxMjU1YTA=
|