class FreebaseImporters::Base
Attributes
data[R]
Public Class Methods
add_method(name, proc)
click to toggle source
# File lib/freebase_importers/base.rb, line 18 def self.add_method(name, proc) define_method(name, proc) end
add_to_mql(key, value = nil)
click to toggle source
# File lib/freebase_importers/base.rb, line 14 def self.add_to_mql(key, value = nil) mql[key.to_s] = value end
map(target, value = nil)
click to toggle source
# File lib/freebase_importers/base.rb, line 8 def self.map(target, value = nil) add_to_mql(target, value) target_ending = target.to_s.split('/').last add_method(target_ending, CommonAccessors.single(target)) end
new(data)
click to toggle source
# File lib/freebase_importers/base.rb, line 4 def initialize(data) @data = data end
Private Class Methods
all() { |new(result)| ... }
click to toggle source
# File lib/freebase_importers/base.rb, line 28 def self.all query.each do |result| yield new(result) end end
endless(pause = 1) { |new(result)| ... }
click to toggle source
# File lib/freebase_importers/base.rb, line 34 def self.endless(pause = 1) q = query while q do q.each do |result| yield new(result) end puts "Getting some more in #{pause} seconds." unless pause == 0 sleep pause q = q.next end end
first()
click to toggle source
# File lib/freebase_importers/base.rb, line 46 def self.first all {|m| break(m) } end
images!()
click to toggle source
# File lib/freebase_importers/base.rb, line 50 def self.images! key = "/common/topic/image" add_to_mql key, [ { "id" => nil } ] add_method :image_ids, CommonAccessors.deep(key, :id) add_method :image_urls, -> { image_ids.collect {|id| freebase_image_url(id) } } add_method :thumbnail_urls, -> { image_ids.collect {|id| freebase_thumb_url(id) } } add_method :image_url, -> { image_urls.first } add_method :thumbnail_url, -> { thumbnail_urls.first } end
mql()
click to toggle source
# File lib/freebase_importers/base.rb, line 65 def mql @mql ||= {} end
query()
click to toggle source
# File lib/freebase_importers/base.rb, line 24 def self.query Query.new(mql) end
Private Instance Methods
freebase_image_url(path)
click to toggle source
# File lib/freebase_importers/base.rb, line 74 def freebase_image_url(path) "https://api.freebase.com/api/trans/raw#{path}" end
freebase_thumb_url(path)
click to toggle source
# File lib/freebase_importers/base.rb, line 70 def freebase_thumb_url(path) "https://usercontent.googleapis.com/freebase/v1/image#{path}" end