Class: Factual
- Inherits:
-
Object
show all
- Defined in:
- lib/factual.rb,
lib/factual/api.rb,
lib/factual/multi.rb,
lib/factual/query/base.rb,
lib/factual/write/base.rb,
lib/factual/write/flag.rb,
lib/factual/query/match.rb,
lib/factual/query/table.rb,
lib/factual/write/clear.rb,
lib/factual/query/facets.rb,
lib/factual/write/insert.rb,
lib/factual/write/submit.rb,
lib/factual/query/geocode.rb,
lib/factual/query/resolve.rb,
lib/factual/query/geopulse.rb,
lib/factual/query/monetize.rb
Defined Under Namespace
Modules: Query, Write
Classes: API, Multi
Instance Method Summary
collapse
-
#clear(*params) ⇒ Object
-
#diffs(view, params = {}) ⇒ Object
-
#facets(table_id_or_alias) ⇒ Object
-
#flag(table, user, factual_id, problem) ⇒ Object
-
#geocode(lat, lng) ⇒ Object
-
#geopulse(lat, lng) ⇒ Object
-
#get(path, query = {}) ⇒ Object
-
#initialize(key, secret, options = {}) ⇒ Factual
constructor
A new instance of Factual.
-
#insert(*params) ⇒ Object
-
#match(values) ⇒ Object
-
#monetize ⇒ Object
-
#multi(queries) ⇒ Object
-
#post(path, body = {}) ⇒ Object
-
#resolve(values) ⇒ Object
-
#submit(*params) ⇒ Object
-
#table(table_id_or_alias) ⇒ Object
Constructor Details
#initialize(key, secret, options = {}) ⇒ Factual
Returns a new instance of Factual.
20
21
22
23
24
25
|
# File 'lib/factual.rb', line 20
def initialize(key, secret, options = {})
debug_mode = options[:debug].nil? ? false : options[:debug]
host = options[:host]
timeout = options[:timeout]
@api = API.new(generate_token(key, secret), debug_mode, host, timeout)
end
|
Instance Method Details
#clear(*params) ⇒ Object
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/factual.rb', line 72
def clear(*params)
fields = []
fields = params.pop if params.last.is_a? Array
table, user, factual_id = params
clear_params = {
:table => table,
:factual_id => factual_id,
:fields => fields.join(","),
:user => user }
Write::Clear.new(@api, clear_params)
end
|
#diffs(view, params = {}) ⇒ Object
63
64
65
|
# File 'lib/factual.rb', line 63
def diffs(view, params = {})
@api.diffs(view, params)
end
|
#facets(table_id_or_alias) ⇒ Object
31
32
33
|
# File 'lib/factual.rb', line 31
def facets(table_id_or_alias)
Query::Facets.new(@api, "t/#{table_id_or_alias}")
end
|
#flag(table, user, factual_id, problem) ⇒ Object
86
87
88
89
90
91
92
93
94
|
# File 'lib/factual.rb', line 86
def flag(table, user, factual_id, problem)
flag_params = {
:table => table,
:factual_id => factual_id,
:problem => problem,
:user => user }
Write::Flag.new(@api, flag_params)
end
|
#geocode(lat, lng) ⇒ Object
47
48
49
|
# File 'lib/factual.rb', line 47
def geocode(lat, lng)
Query::Geocode.new(@api, lat, lng)
end
|
#geopulse(lat, lng) ⇒ Object
51
52
53
|
# File 'lib/factual.rb', line 51
def geopulse(lat, lng)
Query::Geopulse.new(@api, lat, lng)
end
|
#get(path, query = {}) ⇒ Object
55
56
57
|
# File 'lib/factual.rb', line 55
def get(path, query={})
@api.raw_get(path, query)
end
|
#insert(*params) ⇒ Object
109
110
111
112
113
114
115
116
117
118
119
|
# File 'lib/factual.rb', line 109
def insert(*params)
values = {}
values = params.pop if params.last.is_a? Hash
table, user = params
insert_params = {
:table => table,
:user => user,
:values => values }
Write::Insert.new(@api, insert_params)
end
|
#match(values) ⇒ Object
39
40
41
|
# File 'lib/factual.rb', line 39
def match(values)
Query::Match.new(@api, :values => values)
end
|
#monetize ⇒ Object
35
36
37
|
# File 'lib/factual.rb', line 35
def monetize
Query::Monetize.new(@api)
end
|
#multi(queries) ⇒ Object
67
68
69
70
|
# File 'lib/factual.rb', line 67
def multi(queries)
multi = Multi.new(@api, queries)
multi.send
end
|
#post(path, body = {}) ⇒ Object
59
60
61
|
# File 'lib/factual.rb', line 59
def post(path, body={})
@api.raw_post(path, body)
end
|
#resolve(values) ⇒ Object
43
44
45
|
# File 'lib/factual.rb', line 43
def resolve(values)
Query::Resolve.new(@api, :values => values)
end
|
#submit(*params) ⇒ Object
96
97
98
99
100
101
102
103
104
105
106
107
|
# File 'lib/factual.rb', line 96
def submit(*params)
values = {}
values = params.pop if params.last.is_a? Hash
table, user, factual_id = params
submit_params = {
:table => table,
:user => user,
:factual_id => factual_id,
:values => values }
Write::Submit.new(@api, submit_params)
end
|
#table(table_id_or_alias) ⇒ Object
27
28
29
|
# File 'lib/factual.rb', line 27
def table(table_id_or_alias)
Query::Table.new(@api, "t/#{table_id_or_alias}")
end
|