gnip-client 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gnip/gnip-rules/rules.rb +62 -14
- data/lib/gnip/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29fc5f29ca80ad4cc0890c96fe11ede63cc3cfae
|
4
|
+
data.tar.gz: 343351bcd72e115270688bdd71d17952a4072ad7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3d24eac3276135861abe708a47c17d15a16fb9ccf2676fb7f430d087e5c9b9991325f45cf33ec1b13183af2f27f933f27e9d8cfd63b6645b4aa6d53cf882f73
|
7
|
+
data.tar.gz: 8c2624f96f34bea6d7bb8fa5cbd1a0e2d5b37d8dad6f903802fe1c4af8f947be90e8b662ad6e07ca7671490c43e856edf171632aca9823e9bf49dff90982a2e3
|
@@ -14,37 +14,85 @@ module Gnip
|
|
14
14
|
#Add rules to PowerTrack rules
|
15
15
|
#rules should be an hash in the format {"rules": [{"value": "rule1", "tag": "tag1"}, {"value":"rule2"}]}"
|
16
16
|
def add(rules)
|
17
|
-
|
17
|
+
begin
|
18
|
+
response = self.class.post(self.rules_url, basic_auth: @auth, body: rules.to_json)
|
19
|
+
if response.parsed_response["error"].present?
|
20
|
+
{ status: :error, code: response.response.code, error: response.parsed_response["error"]["message"] }
|
21
|
+
else
|
22
|
+
{ status: :success, code: response.response.code }
|
23
|
+
end
|
24
|
+
rescue Exception => e
|
25
|
+
{ status: :error, code: 500, error: e.message }
|
26
|
+
end
|
27
|
+
|
18
28
|
end
|
19
29
|
|
20
30
|
#Remove rules from PowerTrack rules
|
21
31
|
#rules should be an hash in the format {"rules": [{"value": "rule1", "tag": "tag1"}, {"value":"rule2"}]}"
|
22
32
|
def remove(rules)
|
23
|
-
|
33
|
+
begin
|
34
|
+
response = self.class.delete(self.rules_url, basic_auth: @auth, body: rules.to_json)
|
35
|
+
if response.parsed_response["error"].present?
|
36
|
+
{ status: :error, code: response.response.code, error: response.parsed_response["error"]["message"] }
|
37
|
+
else
|
38
|
+
{ status: :success, code: response.response.code }
|
39
|
+
end
|
40
|
+
rescue Exception => e
|
41
|
+
{ status: :error, code: 500, error: e.message }
|
42
|
+
end
|
43
|
+
|
24
44
|
end
|
25
45
|
|
26
46
|
#Get the full list of rules
|
27
47
|
def list
|
28
|
-
|
48
|
+
begin
|
49
|
+
response = self.class.get(self.rules_url, basic_auth: @auth)
|
50
|
+
{ rules: response.parsed_response["rules"], status: :success, code: response.response.code }
|
51
|
+
rescue Exception => e
|
52
|
+
{ status: :error, code: 500, error: e.message }
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
#Get the full list of rules by tag
|
57
|
+
def list_by_tag(tag)
|
58
|
+
begin
|
59
|
+
response = self.class.get(self.rules_url, basic_auth: @auth)
|
60
|
+
rules = response.parsed_response["rules"]
|
61
|
+
return { rules: rules.select{|rule| rule["tag"] == tag} }.merge({ status: :success, code: response.response.code })
|
62
|
+
rescue Exception => e
|
63
|
+
{ status: :error, code: 500, error: e.message }
|
64
|
+
end
|
65
|
+
|
29
66
|
end
|
30
67
|
|
31
68
|
#delete all rules from PowerTrack
|
32
69
|
#http://support.gnip.com/apis/powertrack/api_reference.html#DeleteRules
|
33
70
|
#Request Body Size Limit 1 MB (~5000 rules)
|
34
71
|
def delete_all!
|
35
|
-
|
36
|
-
|
37
|
-
self.
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
self.
|
43
|
-
|
44
|
-
|
72
|
+
retry_times = 0
|
73
|
+
begin
|
74
|
+
rules_list = self.list
|
75
|
+
rules_list["rules"].in_groups_of(2, false).each do |group_of_rules|
|
76
|
+
self.remove({ "rules": group_of_rules })
|
77
|
+
end
|
78
|
+
sleep 0.05
|
79
|
+
rules_list = self.list
|
80
|
+
if !rules_list["rules"].size.zero?
|
81
|
+
self.delete_all!
|
82
|
+
else
|
83
|
+
return { status: :success, code: 200, rules: []}
|
84
|
+
end
|
85
|
+
rescue Exception => e
|
86
|
+
retry_times += 1
|
87
|
+
if retry_times <= 3
|
88
|
+
retry
|
89
|
+
else
|
90
|
+
{ status: :error, code: 500, error: e.message}
|
91
|
+
end
|
45
92
|
end
|
93
|
+
|
46
94
|
end
|
95
|
+
|
47
96
|
end
|
48
|
-
|
49
97
|
end
|
50
98
|
end
|
data/lib/gnip/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Gnip
|
2
|
-
VERSION = "0.1.
|
3
|
-
end
|
2
|
+
VERSION = "0.1.9"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gnip-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Duccio Giovannelli
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07
|
11
|
+
date: 2015-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|