uirusu 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cf7de8705fa6a0e595f9c1a1781dd4936ea9df91
4
+ data.tar.gz: 698407a8dddc1a1b8fb9aac9de18afb33b2c4248
5
+ SHA512:
6
+ metadata.gz: 1e9dc51ae0271f2640578e26572e76014d78c29125d47bab199c1715b56d273e68402da9d317ee4e47be21af698bd776359cb56138b9edba5338cd632888cf5d
7
+ data.tar.gz: c86b7afc18da01de6482f0eb824684fa9534207e1f19fb1bee5993031f0fe1c2425ce9401ffb5b8cd42404589d88802c3670a76f89ccf70816c0bbb863ce5cb9
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Arxopia LLC.
1
+ Copyright (c) 2012-2013 Arxopia LLC.
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
@@ -1,8 +1,18 @@
1
1
  # News
2
2
 
3
+ # 0.0.4 (April 11, 2013)
4
+ - Added Proxy support [abenson]
5
+ - Copyright date updates
6
+ - Made sure each hash request waits for the timeout specified in the yaml file
7
+ - The default timeout is 15 seconds, by default virustotal.org only allows 4 requests per minute
8
+
9
+ # 0.0.3 ()
10
+ - Gemspec fix
11
+
3
12
  # 0.0.2 ()
4
- -
13
+ - Copyright fixes
5
14
 
6
15
  # 0.0.1 (March 4, 2012)
7
16
  - Rename ruby-virustotal/virustotal gem to uirusu, to prevent being sued.
8
17
  - Complete rewrite of the gem
18
+
@@ -2,12 +2,11 @@
2
2
 
3
3
  uirusu is an [Virustotal](http://www.virustotal.com) automation and convenience tool for hash, file and URL submission.
4
4
 
5
- The current version is 0.0.1
5
+ The current version is 0.0.4.
6
6
 
7
7
  ## Requirements
8
8
 
9
9
  * ruby
10
- * rubygems
11
10
  * json
12
11
  * rest-client
13
12
 
@@ -73,4 +72,4 @@ print results if results != nil
73
72
  Uirusu is licensed under the BSD license see the `LICENSE` file for the full license.
74
73
 
75
74
  ## Contact
76
- You can reach me at uirusu[@]arxopia[dot]com or http://www.arxopia.com
75
+ You can reach the team at uirusu[@]arxopia[dot]com or http://www.arxopia.com
data/Rakefile CHANGED
@@ -1,20 +1,20 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
2
  # All rights reserved.
3
- #
3
+ #
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
6
- #
7
- # Redistributions of source code must retain the above copyright notice,
6
+ #
7
+ # Redistributions of source code must retain the above copyright notice,
8
8
  # this list of conditions and the following disclaimer.
9
9
  #
10
- # Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
10
+ # Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
12
  # and/or other materials provided with the distribution.
13
13
  #
14
- # Neither the name of the project's author nor the names of its contributors
15
- # may be used to endorse or promote products derived from this software
14
+ # Neither the name of the project's author nor the names of its contributors
15
+ # may be used to endorse or promote products derived from this software
16
16
  # without specific prior written permission.
17
- #
17
+ #
18
18
  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
19
  # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
20
  # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -39,7 +39,7 @@ end
39
39
 
40
40
  task :release => :build do
41
41
  system "gem push #{Uirusu::APP_NAME}-#{Uirusu::VERSION}.gem"
42
- puts "Just released #{Uirusu::APP_NAME} v#{Uirusu::VERSION}. #{Uirusu::APP_NAME} is always available in RubyGems! More information at http://hammackj.com/projects/uirusu/"
42
+ puts "Just released #{Uirusu::APP_NAME} v#{Uirusu::VERSION}. #{Uirusu::APP_NAME} is rubygem for using the Virustotal web service! More information at http://arxopia.com/projects/uirusu/"
43
43
  end
44
44
 
45
45
  task :clean do
@@ -3,3 +3,4 @@
3
3
  **Release dates are estimates, and features can be changed at any time.**
4
4
 
5
5
  - TESTS!!!!
6
+ - Better docs
data/bin/uirusu CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ #!/usr/bin/env ruby
2
+
3
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
4
  # All rights reserved.
3
5
  #
4
6
  # Redistribution and use in source and binary forms, with or without
@@ -26,8 +28,6 @@
26
28
  # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
29
  # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
30
 
29
- #!/usr/bin/env ruby
30
-
31
31
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/../lib'))
32
32
 
33
33
  require 'rubygems'
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
2
  # All rights reserved.
3
3
  #
4
4
  # Redistribution and use in source and binary forms, with or without
@@ -28,7 +28,7 @@
28
28
 
29
29
  module Uirusu
30
30
  APP_NAME = "uirusu"
31
- VERSION = "0.0.3"
31
+ VERSION = "0.0.4"
32
32
  CONFIG_FILE = "~/.uirusu"
33
33
  end
34
34
 
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
2
  # All rights reserved.
3
3
  #
4
4
  # Redistribution and use in source and binary forms, with or without
@@ -48,6 +48,7 @@ module Uirusu
48
48
  begin
49
49
  @options['output'] = :stdout
50
50
  @options['verbose'] = false
51
+ @options[:timeout] = 25
51
52
 
52
53
  opt = OptionParser.new do |opt|
53
54
  opt.banner = "#{APP_NAME} v#{VERSION}\nJacob Hammack\nhttp://www.hammackj.com\n\n"
@@ -116,6 +117,10 @@ module Uirusu
116
117
  end
117
118
  end
118
119
 
120
+ opt.on('-p PROXY', '--proxy-server', 'Uses a specified proxy server') do |proxy|
121
+ @options['proxy'] = proxy
122
+ end
123
+
119
124
  opt.on('--[no-]verbose', 'Print verbose information') do |v|
120
125
  @options["verbose"] = v
121
126
  end
@@ -155,6 +160,8 @@ module Uirusu
155
160
  STDERR.puts "[!] #{CONFIG_FILE} does not exist. Please run #{APP_NAME} --create-config, to create it."
156
161
  exit
157
162
  end
163
+
164
+ @options[:timeout] = @config["virustotal"]["timeout"] if @config["virustotal"]["timeout"] != nil
158
165
  end
159
166
 
160
167
  # Submits a file/url and waits for analysis to be complete and returns the results.
@@ -203,7 +210,7 @@ module Uirusu
203
210
  nil
204
211
  end
205
212
  rescue => e
206
- STDERR.puts "[!] An error has occured retrieving the report. Retrying 60 seconds up #{retries} retries.\n" if @options["verbose"]
213
+ STDERR.puts "[!] An error has occurred retrieving the report. Retrying 60 seconds up #{retries} retries.\n" if @options["verbose"]
207
214
  if retries >= 0
208
215
  sleep 60
209
216
  retry
@@ -227,6 +234,10 @@ module Uirusu
227
234
  print "<results>\n"
228
235
  end
229
236
 
237
+ if @options['proxy'] != nil
238
+ RestClient.proxy = @options['proxy']
239
+ end
240
+
230
241
  if @files_of_hashes != nil
231
242
  @files_of_hashes.each do |file|
232
243
  f = File.open(file, 'r')
@@ -239,26 +250,29 @@ module Uirusu
239
250
  end
240
251
 
241
252
  if @hashes != nil
242
- @hashes.each do |hash|
253
+ @hashes.each_with_index do |hash, index|
243
254
  results = Uirusu::VTFile.query_report(@config["virustotal"]["api-key"], hash)
244
255
  result = Uirusu::VTResult.new(hash, results)
245
256
  print result.send output_method if result != nil
257
+ sleep @options[:timeout] if index != @hashes.length - 1
246
258
  end
247
259
  end
248
260
 
249
261
  if @sites != nil
250
- @sites.each do |url|
262
+ @sites.each_with_index do |url, index|
251
263
  results = scan_and_wait(Uirusu::VTUrl, url, 5)
252
264
  result = Uirusu::VTResult.new(results[0], results[1])
253
265
  print result.send output_method if result != nil
266
+ sleep @options[:timeout] if index != @sites.length - 1
254
267
  end
255
268
  end
256
269
 
257
270
  if @uploads != nil
258
- @uploads.each do |upload|
271
+ @uploads.each_with_index do |upload, index|
259
272
  results = scan_and_wait(Uirusu::VTFile, upload, 5)
260
273
  result = Uirusu::VTResult.new(results[0], results[1])
261
274
  print result.send output_method if result != nil
275
+ sleep @options[:timeout] if index != @uploads.length - 1
262
276
  end
263
277
  end
264
278
 
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
2
  # All rights reserved.
3
3
  #
4
4
  # Redistribution and use in source and binary forms, with or without
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
2
  # All rights reserved.
3
3
  #
4
4
  # Redistribution and use in source and binary forms, with or without
@@ -46,7 +46,7 @@ module Uirusu
46
46
  end
47
47
 
48
48
  if resource == nil
49
- raise "Invalid resource, must be MD5/sha1/sha256/scan_id"
49
+ raise "Invalid resource, must be md5/sha1/sha256/scan_id"
50
50
  end
51
51
 
52
52
  response = RestClient.post REPORT_URL, :apikey => api_key, :resource => resource
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
2
  # All rights reserved.
3
3
  #
4
4
  # Redistribution and use in source and binary forms, with or without
@@ -87,7 +87,7 @@ module Uirusu
87
87
  end
88
88
  end
89
89
 
90
- #if we didn't have any results let create a fake not found
90
+ #if we didn't have any results lets create a fake not found
91
91
  if @results.size == 0
92
92
  res = Hash.new
93
93
  res['hash'] = hash
@@ -111,7 +111,7 @@ module Uirusu
111
111
  result_string = String.new
112
112
  @results.each do |result|
113
113
  result_string << "#{result['hash']}: Scanner: #{result['scanner']} Result: #{result['result']}\n"
114
- end
114
+ end if @results != nil
115
115
 
116
116
  print result_string
117
117
  end
@@ -131,7 +131,7 @@ module Uirusu
131
131
  result_string << " date: #{result['date']}\n"
132
132
  result_string << " permalink: #{result['permalink']}\n" unless result['permalink'] == nil
133
133
  result_string << " result: #{result['result']}\n\n"
134
- end
134
+ end if @results != nil
135
135
 
136
136
  print result_string
137
137
  end
@@ -152,7 +152,7 @@ module Uirusu
152
152
  result_string << "\t\t<permalink>#{result['permalink']}</permalink>\n" unless result['permalink'] == nil
153
153
  result_string << "\t\t<result>#{result['result']}</result>\n"
154
154
  result_string << "\t</vtresult>\n"
155
- end
155
+ end if @results != nil
156
156
 
157
157
  print result_string
158
158
  end
@@ -1,20 +1,20 @@
1
- # Copyright (c) 2012 Arxopia LLC.
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
2
  # All rights reserved.
3
- #
3
+ #
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
6
- #
7
- # Redistributions of source code must retain the above copyright notice,
6
+ #
7
+ # Redistributions of source code must retain the above copyright notice,
8
8
  # this list of conditions and the following disclaimer.
9
9
  #
10
- # Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
10
+ # Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
12
  # and/or other materials provided with the distribution.
13
13
  #
14
- # Neither the name of the project's author nor the names of its contributors
15
- # may be used to endorse or promote products derived from this software
14
+ # Neither the name of the project's author nor the names of its contributors
15
+ # may be used to endorse or promote products derived from this software
16
16
  # without specific prior written permission.
17
- #
17
+ #
18
18
  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
19
  # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
20
  # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -32,7 +32,7 @@ module Uirusu
32
32
  module VTUrl
33
33
  SCAN_URL = "https://www.virustotal.com/vtapi/v2/url/scan"
34
34
  REPORT_URL = "http://www.virustotal.com/vtapi/v2/url/report"
35
-
35
+
36
36
  # Submits a URL to be scanned by Virustotal.com
37
37
  #
38
38
  # @param api_key Virustotal.com API key
@@ -43,13 +43,13 @@ module Uirusu
43
43
  if api_key == nil
44
44
  raise "Invalid API Key"
45
45
  end
46
-
46
+
47
47
  if resource == nil
48
48
  raise "Invalid resource, must be a valid url"
49
49
  end
50
-
50
+
51
51
  response = RestClient.post SCAN_URL, :apikey => api_key, :url => resource
52
-
52
+
53
53
  case response.code
54
54
  when 429
55
55
  raise "Virustotal limit reached. Try again later."
@@ -59,10 +59,10 @@ module Uirusu
59
59
  JSON.parse(response)
60
60
  else
61
61
  raise "Unknown Server error."
62
- end
62
+ end
63
63
  end
64
-
65
- # Searchs reports by URL from Virustotal.com
64
+
65
+ # Searches reports by URL from Virustotal.com
66
66
  #
67
67
  # @param api_key Virustotal.com API key
68
68
  # @param resource url to search
@@ -72,13 +72,13 @@ module Uirusu
72
72
  if api_key == nil
73
73
  raise "Invalid API Key"
74
74
  end
75
-
75
+
76
76
  if resource == nil
77
77
  raise "Invalid resource, must be a valid url"
78
78
  end
79
-
79
+
80
80
  response = RestClient.post REPORT_URL, :apikey => api_key, :resource => resource
81
-
81
+
82
82
  case response.code
83
83
  when 429
84
84
  raise "Virustotal limit reached. Try again later."
@@ -88,7 +88,7 @@ module Uirusu
88
88
  JSON.parse(response)
89
89
  else
90
90
  raise "Unknown Server error."
91
- end
91
+ end
92
92
  end
93
93
  end
94
94
  end
@@ -1,31 +1,58 @@
1
+ # Copyright (c) 2012-2013 Arxopia LLC.
2
+ # All rights reserved.
3
+ #
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+ #
7
+ # Redistributions of source code must retain the above copyright notice,
8
+ # this list of conditions and the following disclaimer.
9
+ #
10
+ # Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
+ # and/or other materials provided with the distribution.
13
+ #
14
+ # Neither the name of the project's author nor the names of its contributors
15
+ # may be used to endorse or promote products derived from this software
16
+ # without specific prior written permission.
17
+ #
18
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
22
+ # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+
1
29
  base = __FILE__
2
30
  $:.unshift(File.join(File.dirname(base), 'lib'))
3
31
 
4
32
  require 'uirusu'
5
33
 
6
34
  Gem::Specification.new do |s|
7
- s.name = Uirusu::APP_NAME
8
- s.version = Uirusu::VERSION
9
- s.homepage = "http://github.com/hammackj/uirusu/"
10
- s.summary = Uirusu::APP_NAME
11
- s.description = "uirusu is library for interacting with Virustotal.org"
12
- s.license = "BSD"
13
-
14
- s.author = "Jacob Hammack"
15
- s.email = "jacob.hammack@hammackj.com"
16
-
17
- s.files = Dir['[A-Z]*'] + Dir['lib/**/*'] + ['uirusu.gemspec']
18
- s.default_executable = 'uirusu'
19
- s.executables = ['uirusu']
20
- s.require_paths = ["lib"]
21
-
22
- s.required_ruby_version = '>= 1.9.2'
35
+ s.name = Uirusu::APP_NAME
36
+ s.version = Uirusu::VERSION
37
+ s.homepage = "http://github.com/arxopia/uirusu/"
38
+ s.summary = Uirusu::APP_NAME
39
+ s.description = "uirusu is library for interacting with Virustotal.org"
40
+ s.license = "BSD"
41
+
42
+ s.author = "Jacob Hammack"
43
+ s.email = "uirusu@arxopia.com"
44
+
45
+ s.files = Dir['[A-Z]*'] + Dir['lib/**/*'] + ['uirusu.gemspec']
46
+ s.default_executable = 'uirusu'
47
+ s.executables = ['uirusu']
48
+ s.require_paths = ["lib"]
49
+
50
+ s.required_ruby_version = '>= 1.9.3'
23
51
  s.required_rubygems_version = ">= 1.8.16"
24
52
 
25
- s.has_rdoc = 'yard'
26
- s.extra_rdoc_files = ["README.markdown", "LICENSE", "NEWS.markdown", "TODO.markdown"]
53
+ s.has_rdoc = 'yard'
54
+ s.extra_rdoc_files = ["README.markdown", "LICENSE", "NEWS.markdown", "TODO.markdown"]
27
55
 
28
56
  s.add_dependency('json', '>= 1.5.1')
29
57
  s.add_dependency('rest-client', '>= 1.6.1')
30
-
31
58
  end
metadata CHANGED
@@ -1,50 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uirusu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jacob Hammack
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-16 00:00:00.000000000 Z
11
+ date: 2013-04-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: json
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.5.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.5.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rest-client
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 1.6.1
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 1.6.1
46
41
  description: uirusu is library for interacting with Virustotal.org
47
- email: jacob.hammack@hammackj.com
42
+ email: uirusu@arxopia.com
48
43
  executables:
49
44
  - uirusu
50
45
  extensions: []
@@ -54,42 +49,42 @@ extra_rdoc_files:
54
49
  - NEWS.markdown
55
50
  - TODO.markdown
56
51
  files:
57
- - README.markdown
58
- - LICENSE
59
- - NEWS.markdown
60
52
  - TODO.markdown
61
53
  - Rakefile
62
- - lib/uirusu/vturl.rb
63
- - lib/uirusu/vtfile.rb
54
+ - NEWS.markdown
55
+ - README.markdown
56
+ - LICENSE
57
+ - lib/uirusu.rb
64
58
  - lib/uirusu/cli/application.rb
65
- - lib/uirusu/vtcomment.rb
66
59
  - lib/uirusu/vtresult.rb
67
- - lib/uirusu.rb
60
+ - lib/uirusu/vtcomment.rb
61
+ - lib/uirusu/vtfile.rb
62
+ - lib/uirusu/vturl.rb
68
63
  - uirusu.gemspec
69
64
  - bin/uirusu
70
- homepage: http://github.com/hammackj/uirusu/
65
+ homepage: http://github.com/arxopia/uirusu/
71
66
  licenses:
72
67
  - BSD
68
+ metadata: {}
73
69
  post_install_message:
74
70
  rdoc_options: []
75
71
  require_paths:
76
72
  - lib
77
73
  required_ruby_version: !ruby/object:Gem::Requirement
78
- none: false
79
74
  requirements:
80
- - - ! '>='
75
+ - - '>='
81
76
  - !ruby/object:Gem::Version
82
- version: 1.9.2
77
+ version: 1.9.3
83
78
  required_rubygems_version: !ruby/object:Gem::Requirement
84
- none: false
85
79
  requirements:
86
- - - ! '>='
80
+ - - '>='
87
81
  - !ruby/object:Gem::Version
88
82
  version: 1.8.16
89
83
  requirements: []
90
84
  rubyforge_project:
91
- rubygems_version: 1.8.24
85
+ rubygems_version: 2.0.0
92
86
  signing_key:
93
- specification_version: 3
87
+ specification_version: 4
94
88
  summary: uirusu
95
89
  test_files: []
90
+ has_rdoc: yard