tigre-client 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,15 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tigre-client (0.2.3)
5
- curb (~> 0.7.12)
4
+ tigre-client (0.2.4)
6
5
  faraday (~> 0.6.0)
7
6
 
8
7
  GEM
9
8
  remote: http://rubygems.org/
10
9
  specs:
11
10
  addressable (2.2.4)
12
- curb (0.7.15)
13
11
  diff-lcs (1.1.2)
14
12
  faraday (0.6.0)
15
13
  addressable (~> 2.2.4)
data/lib/tigre-client.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'curb'
2
1
  require 'faraday'
3
2
 
4
3
  require 'tigre-client/multipart_with_file'
@@ -22,6 +22,7 @@ module Tigre
22
22
  # required params
23
23
  # sha256 => String
24
24
  # occurrence_id => String
25
+ # params_hash => Hash
25
26
  def self.update(sha256, occurrence_id, params_hash={})
26
27
  raise ArguementError, "Missing sha256 parameter" if sha256 == ''
27
28
 
@@ -1,7 +1,6 @@
1
1
  module Tigre
2
2
  class Sample
3
3
 
4
- # mimics a curl POST request using Curl
5
4
  # required params
6
5
  # file_location => String path to the file
7
6
  # md5 => String
@@ -28,6 +27,7 @@ module Tigre
28
27
 
29
28
  # required params
30
29
  # md5 => String
30
+ # params_hash => Hash
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)
@@ -64,12 +64,36 @@ module Tigre
64
64
  raise ArguementError, "Missing tags parameter"
65
65
  end
66
66
 
67
- tags = tags.join(',') if tags.is_a?(Array)
68
-
67
+ if tags.is_a?(Array)
68
+ tags = tags.map {|t| t.strip}.join(',')
69
+ else
70
+ tags = tags.split(',').map {|t| t.strip}.join(',')
71
+ end
72
+
69
73
  options[:page] ||= 0
70
74
  options[:per] ||= 50
71
75
  Tigre.get_connection("/samples/tagged_with?tags=#{tags}&page=#{options[:page]}&per=#{options[:per]}")
72
76
  end
73
77
 
78
+ # required
79
+ # md5 => String
80
+ # tags => String => I.E 'foo'
81
+ # tags => String (comma seperated) => I.E 'foo,bar,baz'
82
+ # tags => Array => ['foo', 'bar', 'baz']
83
+ def self.add_tags(md5, tags)
84
+ if md5 == '' || tags == ''
85
+ raise ArguementError, "Missing tags parameter"
86
+ end
87
+
88
+ if tags.is_a?(Array)
89
+ tags = tags.map {|t| t.strip}.join(',')
90
+ else
91
+ tags = tags.split(',').map {|t| t.strip}.join(',')
92
+ end
93
+ update_data = {"tag_list" => tags}
94
+
95
+ Tigre.put_connection("/samples/#{md5}/add_tags", update_data)
96
+ end
97
+
74
98
  end
75
99
  end
@@ -27,11 +27,10 @@ module Tigre
27
27
 
28
28
  # required
29
29
  # sha256 => String
30
- # options => Hash
31
- # :source_name => String
30
+ # params_hash => Hash
32
31
  def self.update(sha256, params_hash)
33
- if sha256 == ''
34
- raise ArguementError, "Missing url parameter"
32
+ if sha256 == '' || params_hash.empty?
33
+ raise ArguementError, "Missing url parameter or params_hash is empty"
35
34
  end
36
35
 
37
36
  update_data = params_hash.map { |k, v| {"url[#{k.to_s}]" => v.to_s} }
@@ -44,7 +43,7 @@ module Tigre
44
43
  # tags => String (comma seperated) => I.E 'foo,bar,baz'
45
44
  # tags => Array => ['foo', 'bar', 'baz']
46
45
  def self.add_tags(sha256, tags)
47
- if sha256 == '' || tags == ''
46
+ if sha256 == '' || tags == ''
48
47
  raise ArguementError, "Missing tags parameter"
49
48
  end
50
49
 
@@ -68,7 +67,7 @@ module Tigre
68
67
  end
69
68
 
70
69
  # required params
71
- # sha256 => String
70
+ # md5 => String
72
71
  def self.get_md5(md5)
73
72
  if md5 == ''
74
73
  raise ArguementError, "Missing md5 parameter"
@@ -1,5 +1,5 @@
1
1
  module Tigre
2
2
  module Client
3
- VERSION = "0.2.4"
3
+ VERSION = "0.2.5"
4
4
  end
5
5
  end
data/tigre-client.gemspec CHANGED
@@ -23,7 +23,6 @@ Gem::Specification.new do |s|
23
23
 
24
24
  s.add_development_dependency "rspec"
25
25
 
26
- s.add_dependency('curb', '~> 0.7.12')
27
26
  s.add_dependency('faraday', '~> 0.6.0')
28
27
 
29
28
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: tigre-client
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.4
5
+ version: 0.2.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Marcio Castilho
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-04-11 00:00:00 -04:00
14
+ date: 2011-04-12 00:00:00 -04:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
@@ -25,28 +25,17 @@ dependencies:
25
25
  version: "0"
26
26
  type: :development
27
27
  version_requirements: *id001
28
- - !ruby/object:Gem::Dependency
29
- name: curb
30
- prerelease: false
31
- requirement: &id002 !ruby/object:Gem::Requirement
32
- none: false
33
- requirements:
34
- - - ~>
35
- - !ruby/object:Gem::Version
36
- version: 0.7.12
37
- type: :runtime
38
- version_requirements: *id002
39
28
  - !ruby/object:Gem::Dependency
40
29
  name: faraday
41
30
  prerelease: false
42
- requirement: &id003 !ruby/object:Gem::Requirement
31
+ requirement: &id002 !ruby/object:Gem::Requirement
43
32
  none: false
44
33
  requirements:
45
34
  - - ~>
46
35
  - !ruby/object:Gem::Version
47
36
  version: 0.6.0
48
37
  type: :runtime
49
- version_requirements: *id003
38
+ version_requirements: *id002
50
39
  description: Tigre Client API Library
51
40
  email:
52
41
  - marcioc@sunbelt-software.com