tigre-client 0.2.2 → 0.2.3
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.
- data/Gemfile.lock +1 -1
- data/lib/tigre-client/occurrence.rb +5 -5
- data/lib/tigre-client/sample.rb +30 -10
- data/lib/tigre-client/url.rb +39 -16
- data/lib/tigre-client/version.rb +1 -1
- metadata +1 -1
data/Gemfile.lock
CHANGED
@@ -3,7 +3,7 @@ module Tigre
|
|
3
3
|
|
4
4
|
# return all the occurrences for a given sha256 URL
|
5
5
|
# required params
|
6
|
-
# sha256
|
6
|
+
# sha256 => String
|
7
7
|
def self.for_sha(sha256)
|
8
8
|
raise ArguementError, "Missing sha256 parameter" if sha256 == ''
|
9
9
|
Tigre.get_connection("/urls/#{sha256}/occurrences")
|
@@ -11,8 +11,8 @@ module Tigre
|
|
11
11
|
|
12
12
|
# return an individual occurrence for a given sha256 URL
|
13
13
|
# required params
|
14
|
-
# sha256
|
15
|
-
# occurrence_id
|
14
|
+
# sha256 => String
|
15
|
+
# occurrence_id => String
|
16
16
|
def self.get(sha256, occurrence_id)
|
17
17
|
raise ArguementError, "Missing sha256 or occurrence_id parameter" if (sha256 == '' || occurrence_id == '')
|
18
18
|
Tigre.get_connection("/urls/#{sha256}/occurrences/#{occurrence_id}")
|
@@ -20,8 +20,8 @@ module Tigre
|
|
20
20
|
|
21
21
|
# updated an individual occurrence for a given sha256 URL
|
22
22
|
# required params
|
23
|
-
# sha256
|
24
|
-
# occurrence_id
|
23
|
+
# sha256 => String
|
24
|
+
# occurrence_id => String
|
25
25
|
def self.update(sha256, occurrence_id, params_hash={})
|
26
26
|
raise ArguementError, "Missing sha256 parameter" if sha256 == ''
|
27
27
|
|
data/lib/tigre-client/sample.rb
CHANGED
@@ -3,10 +3,10 @@ module Tigre
|
|
3
3
|
|
4
4
|
# mimics a curl POST request using Curl
|
5
5
|
# required params
|
6
|
-
# file_location
|
7
|
-
# md5
|
6
|
+
# file_location => String path to the file
|
7
|
+
# md5 => String
|
8
8
|
# optional params
|
9
|
-
# options
|
9
|
+
# options => Hash (reserved for future use)
|
10
10
|
def self.post(file_location, md5, options={})
|
11
11
|
if file_location == ''|| md5 == ''
|
12
12
|
raise ArguementError, "File_location or md5 parameter cannot be empty"
|
@@ -17,9 +17,9 @@ module Tigre
|
|
17
17
|
end
|
18
18
|
|
19
19
|
# optional params
|
20
|
-
# options
|
21
|
-
# :page
|
22
|
-
# :per
|
20
|
+
# options => Hash
|
21
|
+
# :page => Integer, :default => 0
|
22
|
+
# :per => Integer, :default => 50
|
23
23
|
def self.index(options={})
|
24
24
|
options[:page] ||= 0
|
25
25
|
options[:per] ||= 50
|
@@ -27,29 +27,49 @@ module Tigre
|
|
27
27
|
end
|
28
28
|
|
29
29
|
# required params
|
30
|
-
# md5
|
30
|
+
# md5 => String
|
31
31
|
def self.update(md5, params_hash={})
|
32
32
|
update_data = params_hash.map { |k, v| {"sample[#{k.to_s}]" => v.to_s} }
|
33
33
|
Tigre.put_connection("/samples/#{md5}", update_data)
|
34
34
|
end
|
35
35
|
|
36
36
|
# required params
|
37
|
-
# md5
|
37
|
+
# md5 => String
|
38
38
|
def self.md5(md5)
|
39
39
|
Tigre.get_connection("/samples/md5/#{md5}")
|
40
40
|
end
|
41
41
|
|
42
42
|
# required params
|
43
|
-
# sha1
|
43
|
+
# sha1 => String
|
44
44
|
def self.sha1(sha1)
|
45
45
|
Tigre.get_connection("/samples/sha1/#{sha1}")
|
46
46
|
end
|
47
47
|
|
48
48
|
# required params
|
49
|
-
# sha256
|
49
|
+
# sha256 => String
|
50
50
|
def self.sha256(sha256)
|
51
51
|
Tigre.get_connection("/samples/sha256/#{sha256}")
|
52
52
|
end
|
53
53
|
|
54
|
+
# required params
|
55
|
+
# tags => String => I.E 'foo'
|
56
|
+
# tags => String (comma seperated) => I.E 'foo,bar,baz'
|
57
|
+
# tags => Array => ['foo', 'bar', 'baz']
|
58
|
+
# optional params
|
59
|
+
# options => Hash
|
60
|
+
# :page => Integer, :default => 0
|
61
|
+
# :per => Integer, :default => 50
|
62
|
+
def self.tagged_with(tags, options={})
|
63
|
+
if tags == ''
|
64
|
+
raise ArguementError, "Missing tags parameter"
|
65
|
+
end
|
66
|
+
|
67
|
+
tags = tags.join(',') if tags.is_a?(Array)
|
68
|
+
|
69
|
+
options[:page] ||= 0
|
70
|
+
options[:per] ||= 50
|
71
|
+
Tigre.get_connection("/samples/tagged_with?tags=#{tags}&page=#{options[:page]}&per=#{options[:per]}")
|
72
|
+
end
|
73
|
+
|
54
74
|
end
|
55
75
|
end
|
data/lib/tigre-client/url.rb
CHANGED
@@ -2,12 +2,12 @@ module Tigre
|
|
2
2
|
class Url
|
3
3
|
|
4
4
|
# required params
|
5
|
-
# url
|
6
|
-
# options
|
7
|
-
# :source_name
|
5
|
+
# url => String
|
6
|
+
# options => Hash
|
7
|
+
# :source_name => String
|
8
8
|
# optional params
|
9
|
-
# options
|
10
|
-
# :shareable
|
9
|
+
# options => Hash
|
10
|
+
# :shareable => Boolean, :default => false
|
11
11
|
def self.post(url, options={})
|
12
12
|
if url == ''
|
13
13
|
raise ArguementError, "Missing url parameter"
|
@@ -26,9 +26,9 @@ module Tigre
|
|
26
26
|
end
|
27
27
|
|
28
28
|
# required
|
29
|
-
# sha256
|
30
|
-
# options
|
31
|
-
# :source_name
|
29
|
+
# sha256 => String
|
30
|
+
# options => Hash
|
31
|
+
# :source_name => String
|
32
32
|
def self.update(sha256, params_hash)
|
33
33
|
if sha256 == ''
|
34
34
|
raise ArguementError, "Missing url parameter"
|
@@ -39,7 +39,7 @@ module Tigre
|
|
39
39
|
end
|
40
40
|
|
41
41
|
# required params
|
42
|
-
# sha256
|
42
|
+
# sha256 => String
|
43
43
|
def self.get(sha256)
|
44
44
|
if sha256 == ''
|
45
45
|
raise ArguementError, "Missing sha256 parameter"
|
@@ -48,7 +48,7 @@ module Tigre
|
|
48
48
|
end
|
49
49
|
|
50
50
|
# required params
|
51
|
-
# sha256
|
51
|
+
# sha256 => String
|
52
52
|
def self.get_md5(md5)
|
53
53
|
if md5 == ''
|
54
54
|
raise ArguementError, "Missing md5 parameter"
|
@@ -57,9 +57,9 @@ module Tigre
|
|
57
57
|
end
|
58
58
|
|
59
59
|
# optional params
|
60
|
-
# options
|
61
|
-
# :page
|
62
|
-
# :per
|
60
|
+
# options => Hash
|
61
|
+
# :page => Integer, :default => 0
|
62
|
+
# :per => Integer, :default => 50
|
63
63
|
def self.index(options={})
|
64
64
|
options[:page] ||= 0
|
65
65
|
options[:per] ||= 50
|
@@ -67,7 +67,7 @@ module Tigre
|
|
67
67
|
end
|
68
68
|
|
69
69
|
# required params
|
70
|
-
# options
|
70
|
+
# options => Hash
|
71
71
|
# :after => Ruby DateTime object OR Integer (epoch time)
|
72
72
|
# :before => Ruby DateTime object OR Integer (epoch time)
|
73
73
|
def self.daterange(options={})
|
@@ -88,11 +88,13 @@ module Tigre
|
|
88
88
|
end
|
89
89
|
|
90
90
|
# required params
|
91
|
-
# domain
|
91
|
+
# domain => String
|
92
92
|
# optional params
|
93
|
-
# options
|
93
|
+
# options => Hash
|
94
94
|
# :after => Ruby DateTime object OR Integer (epoch time)
|
95
95
|
# :before => Ruby DateTime object OR Integer (epoch time)
|
96
|
+
# :page => Integer, :default => 0
|
97
|
+
# :per => Integer, :default => 50
|
96
98
|
def self.domains(domain, options={})
|
97
99
|
if domain == ''
|
98
100
|
raise ArguementError, "Missing domain parameter"
|
@@ -109,6 +111,27 @@ module Tigre
|
|
109
111
|
options[:per] ||= 50
|
110
112
|
Tigre.get_connection("/urls/domains?domain=#{domain}&after=#{options[:after]}&before=#{options[:before]}&page=#{options[:page]}&per=#{options[:per]}")
|
111
113
|
end
|
114
|
+
|
115
|
+
# required params
|
116
|
+
# tags => String => I.E 'foo'
|
117
|
+
# tags => String (comma seperated) => I.E 'foo,bar,baz'
|
118
|
+
# tags => Array => ['foo', 'bar', 'baz']
|
119
|
+
# optional params
|
120
|
+
# options => Hash
|
121
|
+
# :page => Integer, :default => 0
|
122
|
+
# :per => Integer, :default => 50
|
123
|
+
def self.tagged_with(tags, options={})
|
124
|
+
if tags == ''
|
125
|
+
raise ArguementError, "Missing tags parameter"
|
126
|
+
end
|
127
|
+
|
128
|
+
tags = tags.join(',') if tags.is_a?(Array)
|
129
|
+
|
130
|
+
options[:page] ||= 0
|
131
|
+
options[:per] ||= 50
|
132
|
+
Tigre.get_connection("/urls/tagged_with?tags=#{tags}&page=#{options[:page]}&per=#{options[:per]}")
|
133
|
+
end
|
134
|
+
|
112
135
|
end
|
113
136
|
|
114
137
|
end
|
data/lib/tigre-client/version.rb
CHANGED