datasift 3.1.5 → 3.2.0
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 +3 -2
- data/.yardopts +4 -0
- data/CHANGELOG.md +23 -0
- data/Gemfile +13 -0
- data/README.md +17 -16
- data/VERSION +1 -1
- data/datasift.gemspec +8 -14
- data/examples/account_identity_eg.rb +48 -0
- data/examples/account_identity_limit_eg.rb +68 -0
- data/examples/account_identity_token_eg.rb +70 -0
- data/examples/auth.rb +4 -4
- data/examples/core_api_eg.rb +1 -2
- data/examples/historics_eg.rb +7 -1
- data/examples/pylon_eg.rb +116 -0
- data/lib/account.rb +6 -0
- data/lib/account_identity.rb +73 -0
- data/lib/account_identity_limit.rb +85 -0
- data/lib/account_identity_token.rb +86 -0
- data/lib/api/api_resource.rb +14 -5
- data/lib/cli.rb +306 -132
- data/lib/datasift.rb +82 -47
- data/lib/errors.rb +21 -5
- data/lib/historics.rb +71 -40
- data/lib/historics_preview.rb +25 -8
- data/lib/managed_source.rb +69 -25
- data/lib/managed_source_auth.rb +21 -6
- data/lib/managed_source_resource.rb +21 -6
- data/lib/push.rb +132 -65
- data/lib/pylon.rb +122 -0
- data/test/datasift/core_api_test.rb +116 -90
- data/test/datasift/historics_preview_api_test.rb +27 -58
- data/test/datasift/push_api_test.rb +156 -141
- data/test/fixtures/cassettes/core/after_historic_dpu.json +1 -0
- data/test/fixtures/cassettes/core/balance_get.json +1 -0
- data/test/fixtures/cassettes/core/before_dpu.json +1 -0
- data/test/fixtures/cassettes/core/before_historic_dpu.json +1 -0
- data/test/fixtures/cassettes/core/compile_success.json +1 -0
- data/test/fixtures/cassettes/core/dpu_get_cost.json +1 -0
- data/test/fixtures/cassettes/core/dpu_throw_badrequest.json +1 -0
- data/test/fixtures/cassettes/core/historic_dpu.json +1 -0
- data/test/fixtures/cassettes/core/usage_success.json +1 -0
- data/test/fixtures/cassettes/core/validate_invalid_hash.json +1 -0
- data/test/fixtures/cassettes/core/validate_success_bool.json +1 -0
- data/test/fixtures/cassettes/core/validate_success_hash.json +1 -0
- data/test/fixtures/cassettes/preview/before_preview_create.json +1 -0
- data/test/fixtures/cassettes/preview/before_preview_get.json +1 -0
- data/test/fixtures/cassettes/preview/preview_create_success.json +1 -0
- data/test/fixtures/cassettes/preview/preview_get_success.json +1 -0
- data/test/fixtures/cassettes/push/after_push_create.json +1 -0
- data/test/fixtures/cassettes/push/after_push_get.json +1 -0
- data/test/fixtures/cassettes/push/after_push_log.json +1 -0
- data/test/fixtures/cassettes/push/after_push_pause.json +1 -0
- data/test/fixtures/cassettes/push/after_push_resume.json +1 -0
- data/test/fixtures/cassettes/push/after_push_stop.json +1 -0
- data/test/fixtures/cassettes/push/after_push_update.json +1 -0
- data/test/fixtures/cassettes/push/before_push_create.json +1 -0
- data/test/fixtures/cassettes/push/before_push_delete.json +1 -0
- data/test/fixtures/cassettes/push/before_push_get.json +1 -0
- data/test/fixtures/cassettes/push/before_push_log.json +1 -0
- data/test/fixtures/cassettes/push/before_push_pause.json +1 -0
- data/test/fixtures/cassettes/push/before_push_resume.json +1 -0
- data/test/fixtures/cassettes/push/before_push_stop.json +1 -0
- data/test/fixtures/cassettes/push/before_push_update.json +1 -0
- data/test/fixtures/cassettes/push/push_create.json +1 -0
- data/test/fixtures/cassettes/push/push_delete.json +1 -0
- data/test/fixtures/cassettes/push/push_get_by_id.json +1 -0
- data/test/fixtures/cassettes/push/push_log_with_id.json +1 -0
- data/test/fixtures/cassettes/push/push_pause.json +1 -0
- data/test/fixtures/cassettes/push/push_resume.json +1 -0
- data/test/fixtures/cassettes/push/push_stop.json +1 -0
- data/test/fixtures/cassettes/push/push_update.json +1 -0
- data/test/fixtures/cassettes/push/push_validate.json +1 -0
- data/test/test_helper.rb +31 -1
- metadata +64 -104
- data/examples/dynamic_list_eg.rb +0 -74
- data/examples/dynamic_list_replace_eg.rb +0 -45
- data/lib/dynamic_list.rb +0 -66
- data/lib/dynamic_list_replace.rb +0 -45
- data/test/fixtures/balance.json +0 -1
- data/test/fixtures/compile_csdl_invalid.json +0 -1
- data/test/fixtures/compile_csdl_valid.json +0 -1
- data/test/fixtures/dpu_valid.json +0 -1
- data/test/fixtures/preview_create_valid.json +0 -1
- data/test/fixtures/preview_get_running.json +0 -1
- data/test/fixtures/preview_get_succeeded.json +0 -1
- data/test/fixtures/push_create_valid.json +0 -1
- data/test/fixtures/push_get_list_by_hash_valid.json +0 -1
- data/test/fixtures/push_get_list_by_historics_id_valid.json +0 -1
- data/test/fixtures/push_get_list_valid.json +0 -1
- data/test/fixtures/push_get_valid.json +0 -1
- data/test/fixtures/push_log_valid.json +0 -1
- data/test/fixtures/push_pause_valid.json +0 -1
- data/test/fixtures/push_stop_valid.json +0 -1
- data/test/fixtures/push_validate_valid.json +0 -1
- data/test/fixtures/usage_current.json +0 -1
- data/test/fixtures/validate_csdl_invalid.json +0 -1
- data/test/fixtures/validate_csdl_valid.json +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6c428274cf28d80ef439f0ca06a5a247cf70140
|
4
|
+
data.tar.gz: dc0df1b7d90456facf9cdc193ee69a2ebd5ab210
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c150becbafbc9ddf74a49b482bd2b83f93b67595701779c7383c6232b78739099982f1e4cdd6170b0fe8b13b05ef28c01ab96e28b709d8f31fd399dd12e04956
|
7
|
+
data.tar.gz: 9188cf1a6dead964bfee1a77ea8d3ecad37e4261af29eab15e505c7f51d9a0b4d7998aee69eae75f141670eed02bfd55459f8e28460e047d1314628a13f189e4
|
data/.gitignore
CHANGED
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
================================
|
3
|
+
## v.3.2.0 (2015-05-13)
|
4
|
+
### Added
|
5
|
+
* Support for [PYLON API](http://dev.datasift.com/pylon/docs/api-endpoints)
|
6
|
+
* Support for [Account Identities API](http://dev.datasift.com/pylon/docs/api/account-api)
|
7
|
+
* Adds opts for Managed Sources create/update endpoints to allow passing of 'validate' param
|
8
|
+
* Support for HTTP 409 Conflict error
|
9
|
+
* Support for HTTP 410 Gone error
|
10
|
+
* Comprehensive Yard Docs for all classes and methods
|
11
|
+
* Due to API v1.1 change, we've added support for ```include_finished``` and ```all``` parameters when making calls to the ```/push/get``` API endpoint
|
12
|
+
* Due to the API v1.1 change, a ```delivery_count``` field has been added to the main object, and individual chunks in the response from ```/historics/get``` calls
|
13
|
+
* Due to the API v1.1 change, an ```interaction_count``` field has been added to the respomse from ```/push/get``` API calls
|
14
|
+
* The ```dpu()``` method now also accepts the ```historics_id``` parameter, which allows you to get the DPU cost of an Historics query
|
15
|
+
|
16
|
+
### Changed
|
17
|
+
* Some refactoring for the Rubocop across the library
|
18
|
+
* We now use [VCR](https://github.com/vcr/vcr) in our test suite for all outbound API calls
|
19
|
+
* Updated some methods due to deprecations in the Ruby language
|
20
|
+
* Use DataSift API v1.1 by default
|
21
|
+
* Due to the API v1.1 change, /usage and /balance API calls will now return an empty Object rather than an empy Array when there is no data available
|
22
|
+
|
23
|
+
### Deprecated
|
24
|
+
* Support for Ruby 1.x is being dropped in the next major release; 4.0.0
|
25
|
+
* Due to the API v1.1 change, the ```volume_info``` field has been removed from ```/historics/get``` API calls
|
3
26
|
|
4
27
|
v.3.1.5 (2015-04-16)
|
5
28
|
--------------------
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
DataSift
|
2
2
|
========
|
3
|
-
|
4
3
|
[][gem]
|
5
4
|
[][travis]
|
6
5
|
|
@@ -12,7 +11,6 @@ The official Ruby library for accessing the DataSift API.
|
|
12
11
|
|
13
12
|
Getting Started
|
14
13
|
---------------
|
15
|
-
|
16
14
|
**Read our [Ruby Getting Started Guide](http://dev.datasift.com/quickstart/ruby) to get started with the DataSift platform.** The guide will take you through creating a [DataSift](http://datasift.com) account, and activating data sources which you will need to do before using the DataSift API.
|
17
15
|
|
18
16
|
Many of the examples and API endpoints used in this library require you have enabled certain data sources before you can receive any data (you should do this at [datasift.com/source](https://datasift.com/source)). Certain API features, such as [Historics](http://datasift.com/platform/historics/) and [Managed Sources](http://datasift.com/platform/datasources/) will require you have signed up to a monthly subscription before you can access them.
|
@@ -22,14 +20,12 @@ If you are interested in using these features, or would like more information ab
|
|
22
20
|
|
23
21
|
Install Instructions
|
24
22
|
--------------------
|
25
|
-
|
26
23
|
```
|
27
24
|
sudo gem install datasift
|
28
25
|
```
|
29
26
|
|
30
27
|
Dependencies
|
31
28
|
------------
|
32
|
-
|
33
29
|
If you're using the source you'll need to install the dependencies.
|
34
30
|
|
35
31
|
```
|
@@ -37,19 +33,18 @@ sudo gem install rest-client multi_json websocket-td
|
|
37
33
|
```
|
38
34
|
|
39
35
|
The library will use SSL connections by default. While we recommend using SSL
|
40
|
-
you may disable it if required by passing
|
41
|
-
parameter when creating your
|
36
|
+
you may disable it if required by passing ```enable_ssl: false``` as the third
|
37
|
+
parameter when creating your ```@config``` object.
|
42
38
|
|
43
39
|
|
44
40
|
Simple example
|
45
41
|
--------------
|
46
|
-
|
47
42
|
This example looks for anything that contains the word "football" in real-time,
|
48
43
|
and simply prints the content to the screen as they come in.
|
49
44
|
|
50
45
|
```ruby
|
51
46
|
require 'datasift'
|
52
|
-
@config = {:
|
47
|
+
@config = { username: 'DATASIFT_USERNAME', api_key: 'DATASIFT_API_KEY' }
|
53
48
|
@datasift = DataSift::Client.new(@config)
|
54
49
|
csdl = 'interaction.content contains "football"'
|
55
50
|
filter = @datasift.compile csdl
|
@@ -83,16 +78,13 @@ conn.on_datasift_message = on_datasift_message
|
|
83
78
|
conn.stream.read_thread.join
|
84
79
|
```
|
85
80
|
|
86
|
-
See the [Understanding the Output Data](http://dev.datasift.com/docs/getting-started/data) page on the DataSift Developer site for
|
87
|
-
full details of the data contained within each interaction.
|
88
|
-
|
89
81
|
Supported Operating Environment
|
90
82
|
-------------------------------
|
91
83
|
This version of the client library has been tested, and is known to work against the following language versions and Operating Systems:
|
92
84
|
|
93
85
|
### Language Versions
|
94
|
-
* Ruby 1.9.3 (
|
95
|
-
* Ruby 2.0
|
86
|
+
* Ruby 1.9.3 (Support for Ruby 1.x will be dropped from v4.0 of the library)
|
87
|
+
* Ruby 2.0
|
96
88
|
* Ruby 2.1
|
97
89
|
* Ruby 2.2
|
98
90
|
|
@@ -102,10 +94,19 @@ This version of the client library has been tested, and is known to work against
|
|
102
94
|
* OS X
|
103
95
|
* Windows 7/8
|
104
96
|
|
97
|
+
Contributing
|
98
|
+
------------
|
99
|
+
Contributions are always welcome and appreciated
|
100
|
+
|
101
|
+
1. Fork on GitHub
|
102
|
+
2. Create a feature branch (we use [Gitflow](http://datasift.github.io/gitflow/IntroducingGitFlow.html) for branching)
|
103
|
+
3. Commit your changes with tests
|
104
|
+
* New feature? Send a pull request against the develop branch.
|
105
|
+
* Bug fix? Send a pull request against the master branch.
|
106
|
+
* Please don't break backwards-compatibility :)
|
107
|
+
|
105
108
|
License
|
106
109
|
-------
|
107
|
-
|
108
110
|
All code contained in this repository is Copyright 2011-2015 MediaSift Ltd.
|
109
111
|
|
110
|
-
This code is released under the BSD license. Please see the [LICENSE](https://github.com/datasift/datasift-ruby/blob/master/LICENSE) file for
|
111
|
-
more details.
|
112
|
+
This code is released under the BSD license. Please see the [LICENSE](https://github.com/datasift/datasift-ruby/blob/master/LICENSE) file for more details.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.2.0
|
data/datasift.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'datasift'
|
3
3
|
s.version = File.open('VERSION').first
|
4
|
-
s.authors = ['DataSift']
|
4
|
+
s.authors = ['DataSift', 'Courtney Robinson', 'Jason Dugdale']
|
5
5
|
s.email = ['support@datasift.com']
|
6
6
|
s.description = %q{The official Ruby library for accessing the DataSift API. See http://datasift.com/ for full details and to sign up for an account.}
|
7
7
|
s.summary = %q{DataSift is a simple wrapper for the DataSift API.}
|
@@ -9,20 +9,14 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.license = 'BSD'
|
10
10
|
|
11
11
|
s.platform = Gem::Platform::RUBY
|
12
|
-
s.required_rubygems_version =
|
13
|
-
|
14
|
-
s.add_runtime_dependency('rest-client', '~> 1.6')
|
15
|
-
s.add_runtime_dependency('multi_json', '>= 1.7')
|
16
|
-
s.add_runtime_dependency('websocket-td', '~> 0.0.4')
|
17
|
-
|
18
|
-
s.add_development_dependency('rdoc', '>= 0')
|
19
|
-
s.add_development_dependency('webmock', '~> 1.17')
|
20
|
-
s.add_development_dependency('shoulda', '~> 2.11')
|
21
|
-
s.add_development_dependency('minitest', '~> 5.0')
|
22
|
-
s.add_development_dependency('rake', '>= 0')
|
23
|
-
s.add_development_dependency('simplecov', '>= 0')
|
24
|
-
|
12
|
+
s.required_rubygems_version = '>= 1.3.5'
|
13
|
+
s.required_ruby_version = '>= 2.0.0'
|
25
14
|
s.files = `git ls-files`.split("\n")
|
26
15
|
s.test_files = `git ls-files -- {test}/*`.split("\n")
|
27
16
|
s.require_paths = ["lib"]
|
17
|
+
|
18
|
+
s.add_runtime_dependency('rest-client', '~> 1.6')
|
19
|
+
s.add_runtime_dependency('multi_json', '~> 1.7')
|
20
|
+
s.add_runtime_dependency('websocket-td', '~> 0.0.5')
|
21
|
+
s.add_development_dependency('bundler', '~> 1.0')
|
28
22
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require './auth'
|
2
|
+
class AccountIdentityEg < DataSiftExample
|
3
|
+
def initialize
|
4
|
+
super
|
5
|
+
@datasift = DataSift::Client.new(@config)
|
6
|
+
run
|
7
|
+
end
|
8
|
+
|
9
|
+
def run
|
10
|
+
begin
|
11
|
+
puts "Create a new identity"
|
12
|
+
identity = @datasift.account_identity.create(
|
13
|
+
"Ruby Identity", "active", false
|
14
|
+
)
|
15
|
+
identity_id = identity[:data][:id]
|
16
|
+
puts identity.to_json
|
17
|
+
|
18
|
+
puts "\nList all existing identities"
|
19
|
+
puts @datasift.account_identity.list.to_json
|
20
|
+
|
21
|
+
puts "\nGet existing identity"
|
22
|
+
puts @datasift.account_identity.get(identity_id).to_json
|
23
|
+
|
24
|
+
puts "\nUpdate an identity"
|
25
|
+
puts @datasift.account_identity.update(
|
26
|
+
identity_id, 'Updated Ruby Identity'
|
27
|
+
).to_json
|
28
|
+
|
29
|
+
puts "\nDelete an identity"
|
30
|
+
puts @datasift.account_identity.delete(identity_id).to_json
|
31
|
+
|
32
|
+
rescue DataSiftError => dse
|
33
|
+
puts dse.message
|
34
|
+
# Then match specific error to take action;
|
35
|
+
# All errors thrown by the client extend DataSiftError
|
36
|
+
case dse
|
37
|
+
when ConnectionError
|
38
|
+
# some connection error
|
39
|
+
when AuthError
|
40
|
+
when BadRequestError
|
41
|
+
else
|
42
|
+
# do something else...
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
AccountIdentityEg.new
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require './auth'
|
2
|
+
class AccountIdentityLimitEg < DataSiftExample
|
3
|
+
def initialize
|
4
|
+
super
|
5
|
+
@datasift = DataSift::Client.new(@config)
|
6
|
+
run
|
7
|
+
end
|
8
|
+
|
9
|
+
def run
|
10
|
+
begin
|
11
|
+
puts "Create a new identity to apply Limits to"
|
12
|
+
identity = @datasift.account_identity.create(
|
13
|
+
"Ruby Identity for Token Limits", "active", false
|
14
|
+
)
|
15
|
+
identity_id = identity[:data][:id]
|
16
|
+
puts identity.to_json
|
17
|
+
|
18
|
+
puts "\nCreate a Limit for our Identity"
|
19
|
+
puts @datasift.account_identity_limit.create(
|
20
|
+
identity_id,
|
21
|
+
'facebook',
|
22
|
+
100_000
|
23
|
+
)
|
24
|
+
|
25
|
+
puts "\nList all existing Limits for this Service"
|
26
|
+
puts @datasift.account_identity_limit.list(
|
27
|
+
'facebook'
|
28
|
+
).to_json
|
29
|
+
|
30
|
+
puts "\nGet existing Limit by Identity and Service"
|
31
|
+
puts @datasift.account_identity_limit.get(
|
32
|
+
identity_id,
|
33
|
+
'facebook'
|
34
|
+
).to_json
|
35
|
+
|
36
|
+
puts "\nUpdate a Limit for a given Identity"
|
37
|
+
puts @datasift.account_identity_limit.update(
|
38
|
+
identity_id,
|
39
|
+
'facebook',
|
40
|
+
250_000
|
41
|
+
).to_json
|
42
|
+
|
43
|
+
puts "\nRemove the Limit from a given Identity and Service"
|
44
|
+
puts @datasift.account_identity_limit.delete(
|
45
|
+
identity_id,
|
46
|
+
'facebook'
|
47
|
+
).to_json
|
48
|
+
|
49
|
+
puts "\nCleanup and remove the Identity"
|
50
|
+
@datasift.account_identity.delete(identity_id)
|
51
|
+
|
52
|
+
rescue DataSiftError => dse
|
53
|
+
puts dse.message
|
54
|
+
# Then match specific error to take action;
|
55
|
+
# All errors thrown by the client extend DataSiftError
|
56
|
+
case dse
|
57
|
+
when ConnectionError
|
58
|
+
# some connection error
|
59
|
+
when AuthError
|
60
|
+
when BadRequestError
|
61
|
+
else
|
62
|
+
# do something else...
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
AccountIdentityLimitEg.new
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require './auth'
|
2
|
+
class AccountIdentityTokenEg < DataSiftExample
|
3
|
+
def initialize
|
4
|
+
super
|
5
|
+
@datasift = DataSift::Client.new(@config)
|
6
|
+
run
|
7
|
+
end
|
8
|
+
|
9
|
+
def run
|
10
|
+
begin
|
11
|
+
puts "Create a new identity to create tokens for"
|
12
|
+
identity = @datasift.account_identity.create(
|
13
|
+
"Ruby Identity for Tokens",
|
14
|
+
"active",
|
15
|
+
false
|
16
|
+
)
|
17
|
+
identity_id = identity[:data][:id]
|
18
|
+
puts identity.to_json
|
19
|
+
|
20
|
+
puts "\nCreate a Token for our Identity"
|
21
|
+
puts @datasift.account_identity_token.create(
|
22
|
+
identity_id,
|
23
|
+
'facebook',
|
24
|
+
'YOUR_TOKEN'
|
25
|
+
)
|
26
|
+
|
27
|
+
puts "\nList all existing Tokens for this Identity"
|
28
|
+
puts @datasift.account_identity_token.list(
|
29
|
+
identity_id
|
30
|
+
).to_json
|
31
|
+
|
32
|
+
puts "\nGet existing Token by Identity and Service"
|
33
|
+
puts @datasift.account_identity_token.get(
|
34
|
+
identity_id,
|
35
|
+
'facebook'
|
36
|
+
).to_json
|
37
|
+
|
38
|
+
puts "\nUpdate a Token for a given Identity"
|
39
|
+
puts @datasift.account_identity_token.update(
|
40
|
+
identity_id,
|
41
|
+
'facebook',
|
42
|
+
'YOUR_NEW_TOKEN'
|
43
|
+
).to_json
|
44
|
+
|
45
|
+
puts "\nDelete an Token for a given Identity and Service"
|
46
|
+
puts @datasift.account_identity_token.delete(
|
47
|
+
identity_id,
|
48
|
+
'facebook'
|
49
|
+
).to_json
|
50
|
+
|
51
|
+
puts "\nCleanup and remove the Identity"
|
52
|
+
@datasift.account_identity.delete(identity_id)
|
53
|
+
|
54
|
+
rescue DataSiftError => dse
|
55
|
+
puts dse.message
|
56
|
+
# Then match specific error to take action;
|
57
|
+
# All errors thrown by the client extend DataSiftError
|
58
|
+
case dse
|
59
|
+
when ConnectionError
|
60
|
+
# some connection error
|
61
|
+
when AuthError
|
62
|
+
when BadRequestError
|
63
|
+
else
|
64
|
+
# do something else...
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
AccountIdentityTokenEg.new
|
data/examples/auth.rb
CHANGED
@@ -3,9 +3,9 @@ class DataSiftExample
|
|
3
3
|
|
4
4
|
def initialize
|
5
5
|
@username = 'DATASIFT_USERNAME'
|
6
|
-
@api_key
|
7
|
-
@config
|
8
|
-
@params
|
6
|
+
@api_key = 'DATASIFT_API_KEY'
|
7
|
+
@config = { :username => @username, :api_key => @api_key }
|
8
|
+
@params = {
|
9
9
|
:output_type => 's3',
|
10
10
|
:output_params => {
|
11
11
|
:bucket => 'YOUR_BUCKET_NAME',
|
@@ -29,7 +29,7 @@ class DataSiftExample
|
|
29
29
|
@datasift = DataSift::Client.new(@config)
|
30
30
|
end
|
31
31
|
|
32
|
-
attr_reader :datasift
|
32
|
+
attr_reader :datasift, :params
|
33
33
|
|
34
34
|
def create_push(hash, is_historics_id = false)
|
35
35
|
create_params = @params.merge ({
|
data/examples/core_api_eg.rb
CHANGED
@@ -16,7 +16,7 @@ class CoreApiEg < DataSiftExample
|
|
16
16
|
# http://dev.datasift.com/docs/rest-api/compile
|
17
17
|
puts "\nCompile the CSDL and get a stream hash"
|
18
18
|
stream = @datasift.compile csdl
|
19
|
-
puts stream[:data]
|
19
|
+
puts stream[:data]
|
20
20
|
|
21
21
|
# http://dev.datasift.com/docs/rest-api/dpu
|
22
22
|
puts "\nGet the DPU cost of the compiled CSDL"
|
@@ -33,7 +33,6 @@ class CoreApiEg < DataSiftExample
|
|
33
33
|
usage = @datasift.usage
|
34
34
|
puts usage[:data]
|
35
35
|
|
36
|
-
#rescue DataSiftError
|
37
36
|
rescue DataSiftError => dse
|
38
37
|
puts dse.message
|
39
38
|
# Then match specific one to take action - All errors thrown by the client extend DataSiftError
|
data/examples/historics_eg.rb
CHANGED
@@ -22,8 +22,11 @@ class HistoricsApi < DataSiftExample
|
|
22
22
|
|
23
23
|
id = historics[:data][:id]
|
24
24
|
|
25
|
+
puts "\nCheck the DPU cost of this Historics query"
|
26
|
+
puts "#{@datasift.dpu('', id)[:data][:dpu]} DPUs"
|
27
|
+
|
25
28
|
puts "\nCreating push subscription for historics"
|
26
|
-
|
29
|
+
subscription = create_push(id, true)
|
27
30
|
|
28
31
|
puts "\nStarting historics #{id}"
|
29
32
|
puts @datasift.historics.start id
|
@@ -48,6 +51,9 @@ class HistoricsApi < DataSiftExample
|
|
48
51
|
|
49
52
|
puts "\nDeleting historics"
|
50
53
|
puts @datasift.historics.delete id
|
54
|
+
|
55
|
+
puts "\nCleanup and delete Push subscription"
|
56
|
+
puts @datasift.push.delete subscription[:data][:id]
|
51
57
|
rescue DataSiftError => dse
|
52
58
|
puts dse.message
|
53
59
|
end
|