datasift 3.0.0.beta2 → 3.0.0.beta4
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.
- checksums.yaml +4 -4
- data/.gitignore +2 -2
- data/CHANGELOG.md +0 -10
- data/MIGRATING_TO_V.3.0.0.md +262 -0
- data/VERSION +1 -1
- data/datasift.gemspec +4 -3
- data/examples/auth.rb +9 -5
- data/examples/cli.sh +155 -0
- data/examples/live_stream_eg.rb +18 -18
- data/examples/pull.rb +14 -14
- data/examples/push_eg.rb +18 -41
- data/lib/api/api_resource.rb +2 -2
- data/lib/cli.rb +233 -0
- data/lib/datasift.rb +69 -33
- data/lib/errors.rb +2 -0
- data/lib/historics.rb +8 -7
- data/lib/historics_preview.rb +2 -2
- data/lib/live_stream.rb +7 -1
- data/lib/managed_source.rb +11 -6
- data/lib/push.rb +29 -29
- data/tests/core_api_test.rb +95 -0
- metadata +40 -25
- data/Rakefile +0 -12
- data/test/core_api_test.rb +0 -44
data/lib/errors.rb
CHANGED
data/lib/historics.rb
CHANGED
@@ -5,12 +5,12 @@ module DataSift
|
|
5
5
|
# Create a new historics query and return its id.
|
6
6
|
def prepare (hash, start, end_time, name, sources = 'twitter', sample = 100)
|
7
7
|
params = {
|
8
|
-
:hash
|
9
|
-
:start
|
10
|
-
:end
|
11
|
-
:name
|
8
|
+
:hash => hash,
|
9
|
+
:start => start,
|
10
|
+
:end => end_time,
|
11
|
+
:name => name,
|
12
12
|
:sources => sources,
|
13
|
-
:sample
|
13
|
+
:sample => sample
|
14
14
|
}
|
15
15
|
requires params
|
16
16
|
DataSift.request(:POST, 'historics/prepare', @config, params)
|
@@ -26,9 +26,10 @@ module DataSift
|
|
26
26
|
|
27
27
|
##
|
28
28
|
# Stop historics query.
|
29
|
-
def stop(id)
|
29
|
+
def stop(id, reason = '')
|
30
30
|
params = {:id => id}
|
31
31
|
requires params
|
32
|
+
params[:reason] = reason
|
32
33
|
DataSift.request(:POST, 'historics/stop', @config, params)
|
33
34
|
end
|
34
35
|
|
@@ -73,4 +74,4 @@ module DataSift
|
|
73
74
|
end
|
74
75
|
|
75
76
|
end
|
76
|
-
end
|
77
|
+
end
|
data/lib/historics_preview.rb
CHANGED
@@ -7,7 +7,7 @@ module DataSift
|
|
7
7
|
:parameters => parameters,
|
8
8
|
:start => start
|
9
9
|
}
|
10
|
-
params.merge!(end_time) if end_time != nil
|
10
|
+
params.merge!(:end => end_time) if end_time != nil
|
11
11
|
|
12
12
|
DataSift.request(:POST, 'preview/create', @config, params)
|
13
13
|
end
|
@@ -17,4 +17,4 @@ module DataSift
|
|
17
17
|
end
|
18
18
|
|
19
19
|
end
|
20
|
-
end
|
20
|
+
end
|
data/lib/live_stream.rb
CHANGED
@@ -13,7 +13,12 @@ module DataSift
|
|
13
13
|
end
|
14
14
|
|
15
15
|
attr_reader :connected, :stream, :retry_timeout, :subscriptions
|
16
|
-
attr_writer :connected, :retry_timeout
|
16
|
+
attr_writer :connected, :retry_timeout
|
17
|
+
|
18
|
+
def on_datasift_message=(p)
|
19
|
+
raise BadParametersError.new('on_ds_message - 3 parameters required') unless p.arity == 3
|
20
|
+
@on_datasift_message = p
|
21
|
+
end
|
17
22
|
|
18
23
|
def connected?
|
19
24
|
@connected
|
@@ -42,6 +47,7 @@ module DataSift
|
|
42
47
|
end
|
43
48
|
|
44
49
|
def subscribe(hash, on_message)
|
50
|
+
raise BadParametersError.new('on_message - 3 parameters required') unless on_message.arity == 3
|
45
51
|
@subscriptions[hash] = on_message
|
46
52
|
@stream.send "{ \"action\":\"subscribe\",\"hash\":\"#{hash}\"}"
|
47
53
|
end
|
data/lib/managed_source.rb
CHANGED
@@ -5,18 +5,19 @@ module DataSift
|
|
5
5
|
# Creates a new managed source
|
6
6
|
#+source_type+:: can be facebook_page, googleplus, instagram or yammer
|
7
7
|
def create(source_type, name, parameters = {}, resources = [], auth = [])
|
8
|
+
raise BadParametersError.new('source_type and name are required') if source_type.nil? || name.nil?
|
8
9
|
params = {
|
9
10
|
:source_type => source_type,
|
10
11
|
:name => name
|
11
12
|
}
|
12
|
-
params.merge!({:auth => MultiJson.dump(auth)})
|
13
|
-
params.merge!({:parameters => MultiJson.dump(parameters)})
|
14
|
-
params.merge!({:resources => MultiJson.dump(resources)}) if resources.length > 0
|
15
|
-
|
13
|
+
params.merge!({:auth => auth.is_a?(String) ? auth : MultiJson.dump(auth)}) unless auth.empty?
|
14
|
+
params.merge!({:parameters => parameters.is_a?(String) ? parameters : MultiJson.dump(parameters)}) unless parameters.empty?
|
15
|
+
params.merge!({:resources => resources.is_a?(String) ? resources : MultiJson.dump(resources)}) if resources.length > 0
|
16
16
|
DataSift.request(:POST, 'source/create', @config, params)
|
17
17
|
end
|
18
18
|
|
19
19
|
def update(id, source_type, name, parameters = {}, resources = [], auth = [])
|
20
|
+
raise BadParametersError.new('id,source_type and name are required') if id.nil? || source_type.nil? || name.nil?
|
20
21
|
params = {
|
21
22
|
:id => id,
|
22
23
|
:source_type => source_type,
|
@@ -30,14 +31,17 @@ module DataSift
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def delete(id)
|
34
|
+
raise BadParametersError.new('id is required') if id.nil?
|
33
35
|
DataSift.request(:DELETE, 'source/delete', @config, {:id => id})
|
34
36
|
end
|
35
37
|
|
36
38
|
def stop(id)
|
39
|
+
raise BadParametersError.new('id is required') if id.nil?
|
37
40
|
DataSift.request(:POST, 'source/stop', @config, {:id => id})
|
38
41
|
end
|
39
42
|
|
40
43
|
def start(id)
|
44
|
+
raise BadParametersError.new('id is required') if id.nil?
|
41
45
|
DataSift.request(:POST, 'source/start', @config, {:id => id})
|
42
46
|
end
|
43
47
|
|
@@ -50,8 +54,9 @@ module DataSift
|
|
50
54
|
end
|
51
55
|
|
52
56
|
def log(id, page = 1, per_page = 20)
|
53
|
-
|
57
|
+
raise BadParametersError.new('id is required') if id.nil?
|
58
|
+
DataSift.request(:POST, 'source/log', @config, {:id => id, :page => page, :per_page => per_page})
|
54
59
|
end
|
55
60
|
|
56
61
|
end
|
57
|
-
end
|
62
|
+
end
|
data/lib/push.rb
CHANGED
@@ -7,10 +7,10 @@ module DataSift
|
|
7
7
|
|
8
8
|
##
|
9
9
|
# Check that a subscription is defined correctly
|
10
|
-
def valid?(params)
|
10
|
+
def valid?(params, bool_response = true)
|
11
11
|
requires params
|
12
12
|
res = DataSift.request(:POST, 'push/validate', @config, params)
|
13
|
-
res[:http][:status] == 200
|
13
|
+
bool_response ? res[:http][:status] == 200 : res
|
14
14
|
end
|
15
15
|
|
16
16
|
##
|
@@ -67,10 +67,10 @@ module DataSift
|
|
67
67
|
# Retrieve log messages for a specific subscription
|
68
68
|
def logs_for (id, page = 1, per_page = 20, order_by = :request_time, order_dir = :desc)
|
69
69
|
params = {
|
70
|
-
:id
|
71
|
-
:page
|
72
|
-
:per_page
|
73
|
-
:order_by
|
70
|
+
:id => id,
|
71
|
+
:page => page,
|
72
|
+
:per_page => per_page,
|
73
|
+
:order_by => order_by,
|
74
74
|
:order_dir => order_dir
|
75
75
|
}
|
76
76
|
DataSift.request(:GET, 'push/log', @config, params)
|
@@ -80,9 +80,9 @@ module DataSift
|
|
80
80
|
# Retrieve log messages for all subscriptions
|
81
81
|
def logs (page = 1, per_page = 20, order_by = :request_time, order_dir = :desc)
|
82
82
|
params = {
|
83
|
-
:page
|
84
|
-
:per_page
|
85
|
-
:order_by
|
83
|
+
:page => page,
|
84
|
+
:per_page => per_page,
|
85
|
+
:order_by => order_by,
|
86
86
|
:order_dir => order_dir
|
87
87
|
}
|
88
88
|
DataSift.request(:GET, 'push/log', @config, params)
|
@@ -92,10 +92,10 @@ module DataSift
|
|
92
92
|
# Get details of the subscription with the given ID
|
93
93
|
def get_by_subscription(id, page = 1, per_page = 20, order_by = :request_time, order_dir = :desc)
|
94
94
|
params = {
|
95
|
-
:id
|
96
|
-
:page
|
97
|
-
:per_page
|
98
|
-
:order_by
|
95
|
+
:id => id,
|
96
|
+
:page => page,
|
97
|
+
:per_page => per_page,
|
98
|
+
:order_by => order_by,
|
99
99
|
:order_dir => order_dir
|
100
100
|
}
|
101
101
|
DataSift.request(:GET, 'push/get', @config, params)
|
@@ -105,10 +105,10 @@ module DataSift
|
|
105
105
|
# Get details of the subscription with the given stream ID/hash
|
106
106
|
def get_by_hash(hash, page = 1, per_page = 20, order_by = :request_time, order_dir = :desc)
|
107
107
|
params = {
|
108
|
-
:hash
|
109
|
-
:page
|
110
|
-
:per_page
|
111
|
-
:order_by
|
108
|
+
:hash => hash,
|
109
|
+
:page => page,
|
110
|
+
:per_page => per_page,
|
111
|
+
:order_by => order_by,
|
112
112
|
:order_dir => order_dir
|
113
113
|
}
|
114
114
|
DataSift.request(:GET, 'push/get', @config, params)
|
@@ -119,21 +119,21 @@ module DataSift
|
|
119
119
|
def get_by_historics_id(id, page = 1, per_page = 20, order_by = :request_time, order_dir = :desc)
|
120
120
|
params = {
|
121
121
|
:historics_id => id,
|
122
|
-
:page
|
123
|
-
:per_page
|
124
|
-
:order_by
|
125
|
-
:order_dir
|
122
|
+
:page => page,
|
123
|
+
:per_page => per_page,
|
124
|
+
:order_by => order_by,
|
125
|
+
:order_dir => order_dir
|
126
126
|
}
|
127
127
|
DataSift.request(:GET, 'push/get', @config, params)
|
128
128
|
end
|
129
129
|
|
130
130
|
##
|
131
131
|
# Get details of all subscriptions within the given page constraints
|
132
|
-
def get(page = 1, per_page = 20, order_by = :
|
132
|
+
def get(page = 1, per_page = 20, order_by = :created_at, order_dir = :desc)
|
133
133
|
params = {
|
134
|
-
:page
|
135
|
-
:per_page
|
136
|
-
:order_by
|
134
|
+
:page => page,
|
135
|
+
:per_page => per_page,
|
136
|
+
:order_by => order_by,
|
137
137
|
:order_dir => order_dir
|
138
138
|
}
|
139
139
|
DataSift.request(:GET, 'push/get', @config, params)
|
@@ -143,14 +143,14 @@ module DataSift
|
|
143
143
|
# Pull data from a 'pull' type Push Subscription
|
144
144
|
def pull(id, size = 20971520, cursor = '', callback = nil)
|
145
145
|
params = {
|
146
|
-
:id
|
147
|
-
:size
|
146
|
+
:id => id,
|
147
|
+
:size => size,
|
148
148
|
:cursor => cursor
|
149
149
|
}
|
150
150
|
if callback
|
151
|
-
|
151
|
+
params.merge!({:on_interaction => callback})
|
152
152
|
end
|
153
153
|
DataSift.request(:GET, 'pull', @config, params, {}, 30, 30, true)
|
154
154
|
end
|
155
155
|
end
|
156
|
-
end
|
156
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require '../examples/auth'
|
2
|
+
require 'test/unit'
|
3
|
+
require 'webmock/test_unit'
|
4
|
+
require 'multi_json'
|
5
|
+
class CoreApiTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
auth = DataSiftExample.new
|
9
|
+
@datasift = auth.datasift
|
10
|
+
@data = OpenStruct.new
|
11
|
+
@responses = OpenStruct.new
|
12
|
+
@statuses = OpenStruct.new
|
13
|
+
@headers = OpenStruct.new
|
14
|
+
|
15
|
+
@data.valid_csdl = 'interaction.content contains "test"'
|
16
|
+
@data.invalid_csdl = 'interaction.nonsense is not valid'
|
17
|
+
#{"created_at" => "2014-01-30 10:09:19", "dpu" => "0.1"}
|
18
|
+
@responses.valid_csdl = '{"created_at": "2014-01-30 10:09:19","dpu": "0.1"}'
|
19
|
+
@responses.invalid_csdl = '{"error": "The target interaction.nonsense does not exist"}'
|
20
|
+
@responses.valid_stream = OpenStruct.new({:hash => '145ea24a4d83a14ecb9077b831f14809', :created_at => '2014-01-30 17:35:14', :dpu => '0.1'})
|
21
|
+
|
22
|
+
@statuses.valid_csdl = 200
|
23
|
+
@statuses.invalid_csdl = 400
|
24
|
+
|
25
|
+
@headers.valid_csdl = {
|
26
|
+
"date" => "Thu, 30 Jan 2014 10:09:19 GMT", "content-type" => "application/json",
|
27
|
+
"transfer-encoding" => "chunked", "connection" => "close", "x-api-version" => "1",
|
28
|
+
"x-ratelimit-limit" => "10000", "x-ratelimit-remaining" => "10000", "x-ratelimit-cost" => "5"}
|
29
|
+
#valid CSDL
|
30
|
+
stub_request(:post, /api.datasift.com\/.*\/validate/).
|
31
|
+
with(:body => {"csdl" => @data.valid_csdl}).
|
32
|
+
to_return(:status => @statuses.valid_csdl,
|
33
|
+
:body => @responses.valid_csdl,
|
34
|
+
:headers => @headers.valid_csdl)
|
35
|
+
#invalid CSDL
|
36
|
+
stub_request(:post, /api.datasift.com\/.*\/validate/).
|
37
|
+
with(:body => {"csdl" => @data.invalid_csdl}).
|
38
|
+
to_return(:status => @statuses.invalid_csdl,
|
39
|
+
:body => @responses.invalid_csdl,
|
40
|
+
:headers => @headers.valid_csdl)
|
41
|
+
#valid stream compilation
|
42
|
+
stub_request(:post, /api.datasift.com\/.*\/compile/).
|
43
|
+
with(:body => {"csdl" => @data.valid_csdl}).
|
44
|
+
to_return(:status => @statuses.valid_csdl,
|
45
|
+
:body => MultiJson.dump(@responses.valid_stream),
|
46
|
+
:headers => @headers.valid_csdl)
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
def teardown
|
52
|
+
# Do nothing
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_csdl_cant_be_nil_when_validating
|
56
|
+
assert_raise InvalidParamError do
|
57
|
+
@datasift.valid?(nil)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_csdl_cant_be_empty_when_validating
|
62
|
+
assert_raise InvalidParamError do
|
63
|
+
@datasift.valid?('')
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_if_user_can_get_successful_validation_as_bool
|
68
|
+
assert_boolean @datasift.valid?(@data.valid_csdl), 'Valid must return a bool by default'
|
69
|
+
assert_true @datasift.valid?(@data.valid_csdl), 'This request should have returned true'
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_if_user_can_get_successful_validation_as_hash
|
73
|
+
validation = @datasift.valid?(@data.valid_csdl, false)
|
74
|
+
assert_kind_of Hash, validation, 'Valid should return a hash here'
|
75
|
+
assert_equal @statuses.valid_csdl, validation[:http][:status], "This request should have returned status as #{@statuses.validate_csdl}"
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_failing_csdl_validation
|
79
|
+
assert_raise BadRequestError do
|
80
|
+
@datasift.valid?(@data.invalid_csdl)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_csdl_cant_be_nil_when_compiling
|
85
|
+
assert_raise InvalidParamError do
|
86
|
+
@datasift.compile(nil)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_csdl_cant_be_empty_when_compiling
|
91
|
+
assert_raise InvalidParamError do
|
92
|
+
@datasift.compile('')
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
metadata
CHANGED
@@ -1,97 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datasift
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.
|
4
|
+
version: 3.0.0.beta4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DataSift
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.6.
|
19
|
+
version: 1.6.7
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.6.
|
26
|
+
version: 1.6.7
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: multi_json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.8.0
|
34
|
-
type: :
|
34
|
+
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.8.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: websocket-td
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 0.0.4
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.0.4
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rdoc
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: webmock
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.17.1
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.17.1
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: shoulda
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- - ~>
|
87
|
+
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: 2.11.3
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- - ~>
|
94
|
+
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: 2.11.3
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: test-unit
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: 2.5.5
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: 2.5.5
|
97
111
|
description: The official Ruby library for accessing the DataSift API. See http://datasift.com/
|
@@ -102,15 +116,16 @@ executables: []
|
|
102
116
|
extensions: []
|
103
117
|
extra_rdoc_files: []
|
104
118
|
files:
|
105
|
-
- .gitignore
|
119
|
+
- ".gitignore"
|
106
120
|
- CHANGELOG.md
|
107
121
|
- Gemfile
|
108
122
|
- LICENSE
|
123
|
+
- MIGRATING_TO_V.3.0.0.md
|
109
124
|
- README.md
|
110
|
-
- Rakefile
|
111
125
|
- VERSION
|
112
126
|
- datasift.gemspec
|
113
127
|
- examples/auth.rb
|
128
|
+
- examples/cli.sh
|
114
129
|
- examples/core_api_eg.rb
|
115
130
|
- examples/historics_eg.rb
|
116
131
|
- examples/historics_preview_eg.rb
|
@@ -119,6 +134,7 @@ files:
|
|
119
134
|
- examples/pull.rb
|
120
135
|
- examples/push_eg.rb
|
121
136
|
- lib/api/api_resource.rb
|
137
|
+
- lib/cli.rb
|
122
138
|
- lib/datasift.rb
|
123
139
|
- lib/errors.rb
|
124
140
|
- lib/historics.rb
|
@@ -126,7 +142,7 @@ files:
|
|
126
142
|
- lib/live_stream.rb
|
127
143
|
- lib/managed_source.rb
|
128
144
|
- lib/push.rb
|
129
|
-
-
|
145
|
+
- tests/core_api_test.rb
|
130
146
|
homepage: https://github.com/datasift/datasift-ruby
|
131
147
|
licenses:
|
132
148
|
- BSD
|
@@ -137,19 +153,18 @@ require_paths:
|
|
137
153
|
- lib
|
138
154
|
required_ruby_version: !ruby/object:Gem::Requirement
|
139
155
|
requirements:
|
140
|
-
- -
|
156
|
+
- - ">="
|
141
157
|
- !ruby/object:Gem::Version
|
142
158
|
version: '0'
|
143
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
160
|
requirements:
|
145
|
-
- -
|
161
|
+
- - ">="
|
146
162
|
- !ruby/object:Gem::Version
|
147
163
|
version: 1.3.6
|
148
164
|
requirements: []
|
149
165
|
rubyforge_project:
|
150
|
-
rubygems_version: 2.
|
166
|
+
rubygems_version: 2.2.2
|
151
167
|
signing_key:
|
152
168
|
specification_version: 4
|
153
169
|
summary: DataSift is a simple wrapper for the DataSift API.
|
154
|
-
test_files:
|
155
|
-
- test/core_api_test.rb
|
170
|
+
test_files: []
|