freebase-api 0.1.2 → 0.1.3
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.
- 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=
|