freebase-importers 0.0.2 → 0.0.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/lib/freebase_importers.rb
CHANGED
@@ -6,6 +6,10 @@ require "#{File.dirname(__FILE__)}/freebase_importers/version"
|
|
6
6
|
# https://developers.google.com/freebase/v1/mql-overview
|
7
7
|
module FreebaseImporters
|
8
8
|
|
9
|
+
def self.debug!
|
10
|
+
ENV['FREEBASE_IMPORTS_DEBUG'] = 'true'
|
11
|
+
end
|
12
|
+
|
9
13
|
Dir.glob("#{File.dirname(__FILE__)}/freebase_importers/*").each do |filename|
|
10
14
|
class_name = File.basename(filename, '.*').split('_').collect(&:capitalize).join.to_sym
|
11
15
|
autoload class_name, filename
|
@@ -37,7 +37,7 @@ module FreebaseImporters
|
|
37
37
|
q.each do |result|
|
38
38
|
yield new(result)
|
39
39
|
end
|
40
|
-
puts "Getting some more in #{pause} seconds."
|
40
|
+
puts "Getting some more in #{pause} seconds." unless pause == 0
|
41
41
|
sleep pause
|
42
42
|
q = q.next
|
43
43
|
end
|
@@ -75,4 +75,4 @@ module FreebaseImporters
|
|
75
75
|
"https://api.freebase.com/api/trans/raw#{path}"
|
76
76
|
end
|
77
77
|
end
|
78
|
-
end
|
78
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module FreebaseImporters
|
2
|
+
class President < Base
|
3
|
+
map :name
|
4
|
+
map :id
|
5
|
+
|
6
|
+
add_to_mql :"/government/us_president/presidency_number", []
|
7
|
+
add_method :presidency_numbers, -> { data["/government/us_president/presidency_number"] }
|
8
|
+
|
9
|
+
map :"/people/person/date_of_birth"
|
10
|
+
add_method :date_of_birth, -> {
|
11
|
+
date = data["/people/person/date_of_birth"]
|
12
|
+
date ? Date.parse(date) : nil rescue date
|
13
|
+
}
|
14
|
+
|
15
|
+
map :"/people/person/height_meters"
|
16
|
+
|
17
|
+
add_to_mql :type, "/government/us_president"
|
18
|
+
images!
|
19
|
+
end
|
20
|
+
end
|
data/spec/integration_spec.rb
CHANGED
@@ -14,6 +14,15 @@ describe FreebaseImporters do
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
describe FreebaseImporters::President do
|
18
|
+
let (:president) { FreebaseImporters::President.first }
|
19
|
+
it "should have attributes" do
|
20
|
+
[:name, :id, :height_meters].each do |attr|
|
21
|
+
expect(president.send(attr)).not_to be_nil
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
17
26
|
describe FreebaseImporters::Car do
|
18
27
|
let(:car) { FreebaseImporters::Car.first }
|
19
28
|
it "should have images and thumbnails" do
|
@@ -25,7 +34,7 @@ describe FreebaseImporters do
|
|
25
34
|
it "should return a second page of results" do
|
26
35
|
counter = 0
|
27
36
|
images = []
|
28
|
-
FreebaseImporters::Car.endless do |car|
|
37
|
+
FreebaseImporters::Car.endless(0) do |car|
|
29
38
|
counter += 1
|
30
39
|
images << car.image_url if counter < 50
|
31
40
|
if counter > 120
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freebase-importers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -144,6 +144,7 @@ files:
|
|
144
144
|
- lib/freebase_importers/car.rb
|
145
145
|
- lib/freebase_importers/common_accessors.rb
|
146
146
|
- lib/freebase_importers/person.rb
|
147
|
+
- lib/freebase_importers/president.rb
|
147
148
|
- lib/freebase_importers/query.rb
|
148
149
|
- lib/freebase_importers/query_builder.rb
|
149
150
|
- lib/freebase_importers/version.rb
|
@@ -164,7 +165,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
165
|
version: '0'
|
165
166
|
segments:
|
166
167
|
- 0
|
167
|
-
hash:
|
168
|
+
hash: -2158776484765248370
|
168
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
170
|
none: false
|
170
171
|
requirements:
|
@@ -173,10 +174,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
174
|
version: '0'
|
174
175
|
segments:
|
175
176
|
- 0
|
176
|
-
hash:
|
177
|
+
hash: -2158776484765248370
|
177
178
|
requirements: []
|
178
179
|
rubyforge_project:
|
179
|
-
rubygems_version: 1.8.
|
180
|
+
rubygems_version: 1.8.25
|
180
181
|
signing_key:
|
181
182
|
specification_version: 3
|
182
183
|
summary: Import Freebase data.
|