veracodecli 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d86671ebe7e7e93e6b99fa5f5721077f83bc914
4
- data.tar.gz: 0302d869bf676c5a9a13c80f1b9b824c5aa036f4
3
+ metadata.gz: 74b3b2fddb38344c96cd938c9f27ec1ba5642125
4
+ data.tar.gz: 3d2934ffea90f22732d1be2d5861e3e371d41993
5
5
  SHA512:
6
- metadata.gz: cce72b0d8a252b2871740809e137cda2f59c55f74ab0a416f69ca53e25d820ddc95c302d7018115f878968b4cb745709a6483172ed8f675e33fc3ca05ecce661
7
- data.tar.gz: 4fd15c923437ede2bd593d88ad9402ee428752ef6b634e086698426da319079f36a78f666ce695452fea6f11cab8b01e22f1bd51f42b5e1b1cb83d56b7bc61ae
6
+ metadata.gz: 4a97bfed947f96df61ca3f142243fc7861ffbcdd248e846d3832c08ee7903a2314052d81df6880b4a20a23696c700be9ce4738fde91c995f2cb81688179104ce
7
+ data.tar.gz: fe856103bdbd2a8946710fec5ecb6209146de7770f3fe68bae41f7fb7b0fcfb6ee9d7f92f53196018a3421eb82792fa1cdf3b5eb4244b262a19b3793faea405a
data/README.md CHANGED
@@ -33,6 +33,11 @@ This gem uses [jeweler](https://github.com/technicalpickles/jeweler) for develop
33
33
  * Commit and push until you are happy with your contribution.
34
34
  * Make a pull request to this repo.
35
35
 
36
+ ## Roadmap
37
+ Ideas for future development.
38
+
39
+ * Config file: Make this cli scanner/tool agnostic. Should work with rest api services from other tools
40
+
36
41
  ## License
37
42
 
38
43
  [MIT](https://tldrlegal.com/license/mit-license)
data/bin/veracodecli CHANGED
@@ -3,6 +3,8 @@
3
3
  require 'commander'
4
4
  require 'veracodecli'
5
5
  include VeracodeApiResults
6
+ include VeracodeApiScan
7
+ include VeracodeApiBase
6
8
 
7
9
  Commander.configure do
8
10
  program :name, 'veracodecli'
@@ -10,9 +12,8 @@ Commander.configure do
10
12
  program :description, 'CLI for automating veracode api requests'
11
13
  program :help, 'Author', 'Isaiah Thiessen <isaiah.thiessen@telus.com>'
12
14
 
13
-
14
15
  command :scan do |c|
15
- c.syntax = 'veracodecli scan [hostname] [archive_path]'
16
+ c.syntax = 'veracodecli scan [app_name] [archive_path]'
16
17
  c.description = 'Submits a scan request to Veracode.'
17
18
  c.action do |args|
18
19
  fail 'Specify application Name.' if args.first.nil?
@@ -32,7 +33,7 @@ Commander.configure do
32
33
 
33
34
  command :get_status do |c|
34
35
  c.syntax = 'veracodecli get-status [app_id]'
35
- c.description = 'Gets scan state of current build from Veracode.'
36
+ c.description = 'Gets scan state from Veracode.'
36
37
  c.action do |args|
37
38
  fail 'Specify app_id.' if args.first.nil?
38
39
  VeracodeApiResults.get_build_status args.first
@@ -9,22 +9,9 @@ module VeracodeApiBase
9
9
 
10
10
  def veracode_api_request(api_call, api_version: '4.0', **params)
11
11
  check_environment_login_variables
12
- # puts "Making call to #{api_call}"
13
12
  response = RestClient.get "https://#{ENV['VERACODE_USERNAME']}:#{ENV['VERACODE_PASSWORD']}@analysiscenter.veracode.com/api/#{api_version}/#{api_call}", { params: params }
14
13
  response.body
15
14
  end
16
-
17
- def xml_to_json(string)
18
- json = Hash.from_xml(string).to_json
19
- JSON.parse json
20
- end
21
-
22
- def write(data, to_file:)
23
- data = xml_to_json data
24
- f = File.open "../testdata/#{to_file}.json", 'w'
25
- f.write JSON.pretty_generate data
26
- f.close
27
- end
28
15
  end
29
16
 
30
17
  module VeracodeApiScan
@@ -38,25 +25,22 @@ module VeracodeApiScan
38
25
  return app_list.scan(/app_id=\"(.+)\" app_name=\"#{of}\"/)[0][0]
39
26
  else
40
27
  puts 'Record not found, creating one'
41
- create_app_result = veracode_api_request 'createapp.do', app_name: of, description: "Static Scanning profile for #{of}.", business_criticality: 'High', business_unit: 'TELUS Digital', web_application: 'true', teams: "#{ENV['VERACODE_TEAM']}"
28
+ create_app_result = veracode_api_request 'createapp.do', app_name: of, description: "Static Scanning profile for #{of}.", business_criticality: 'High', business_unit: "#{ENV['VERACODE_TEAM']}", web_application: 'true', teams: "#{ENV['VERACODE_TEAM']}"
42
29
  app_id = create_app_result.scan(/app_id=\"(.+)\" app_name=\"#{of}\"/)[0][0]
43
30
  puts "Record successfully created, app_id is #{app_id}"
44
31
  return app_id
45
32
  end
46
33
  end
47
34
 
48
- def submit_scan(hostname, archive_path)
49
- app_id = validate_existance of: hostname
50
- # NOTE: curl must be used here because of a bug in the Veracode api. Ruby cannot be used while this bug is present.
35
+ def submit_scan(app_name, archive_path)
36
+ app_id = validate_existance of: app_name
37
+ # NOTE: curl must be used here because of a bug in the Veracode api. rest-client cannot be used while this bug is present.
51
38
  # NOTE: preferred code: upload_result = veracode_api_request 'uploadfile.do', app_id: app_id, file: "#{archive_path}"
52
39
  upload_result = `curl --url "https://#{ENV['VERACODE_USERNAME']}:#{ENV['VERACODE_PASSWORD']}@analysiscenter.veracode.com/api/4.0/uploadfile.do" -F 'app_id=#{app_id}' -F 'file=@#{archive_path}'`
53
40
  puts upload_result
54
- # write upload_result, to_file: "#{app_id}_upload_result"
55
41
  prescan_submission_result = veracode_api_request 'beginprescan.do', app_id: app_id, auto_scan: 'true'
56
42
  puts prescan_submission_result
57
43
  puts "Submit complete for #{app_id}"
58
- # File.write 'VERACODE_SCAN_RESULT_CHECK_QUEUE', app_id
59
- # write prescan_submission_result, to_file: "#{app_id}_prescan_submission_result"
60
44
  end
61
45
  end
62
46
 
@@ -65,7 +49,6 @@ module VeracodeApiResults
65
49
 
66
50
  def get_most_recent_build_id(using:)
67
51
  build_list = veracode_api_request 'getbuildlist.do', app_id: using
68
- # write build_list, to_file: "#{using}_build_list"
69
52
  build_list.scan(/build_id="(.*?)"/).last[0]
70
53
  end
71
54
 
@@ -79,13 +62,12 @@ module VeracodeApiResults
79
62
  def get_prescan_results(app_id)
80
63
  results = veracode_api_request 'getprescanresults.do', app_id: app_id
81
64
  puts "Fetched prescan results for #{app_id}"
82
- # write results, to_file: "#{app_id}_prescan_results"
65
+ puts results
83
66
  end
84
67
 
85
68
  def get_scan_report(app_id)
86
69
  build_id = get_most_recent_build_id using: app_id
87
70
  report = veracode_api_request 'detailedreport.do', api_version: '3.0', build_id: build_id
88
- puts "Fetched report for #{app_id}, build #{build_id}"
89
- # write report, to_file: "#{app_id}_report"
71
+ puts report
90
72
  end
91
73
  end
@@ -1,7 +1,20 @@
1
- require 'helper'
1
+ require 'test/unit'
2
+ require 'shoulda/context'
3
+ require_relative '../lib/veracodecli/api'
4
+ include VeracodeApiScan
2
5
 
3
6
  class TestVeracodecli < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
7
+ context 'VeracodeApi' do
8
+
9
+ setup do
10
+ ENV['VERACODE_USERNAME'] = 'foo'
11
+ ENV['VERACODE_PASSWORD'] = 'bar'
12
+ ENV['VERACODE_TEAM'] = 'foobar'
13
+ end
14
+
15
+ should 'Return HTTP 401' do
16
+ assert_equal response.code, veracode_api_request('getapplist.do', '')
17
+ end
18
+
6
19
  end
7
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veracodecli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - isaiah thiessen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-28 00:00:00.000000000 Z
11
+ date: 2015-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -178,20 +178,6 @@ dependencies:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: 2.1.0
181
- - !ruby/object:Gem::Dependency
182
- name: rubocop
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: 0.32.1
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: 0.32.1
195
181
  description: Ruby based CLI for accessing veracode's api
196
182
  email: isaiah.thiessen@telus.com
197
183
  executables:
@@ -201,21 +187,14 @@ extra_rdoc_files:
201
187
  - LICENSE.txt
202
188
  - README.md
203
189
  files:
204
- - ".document"
205
- - ".gitignore"
206
- - Gemfile
207
- - Gemfile.lock
208
190
  - LICENSE.txt
209
191
  - README.md
210
- - Rakefile
211
- - VERSION
212
192
  - bin/veracodecli
213
193
  - lib/veracodecli.rb
214
194
  - lib/veracodecli/api.rb
215
195
  - test/API.rb
216
196
  - test/helper.rb
217
197
  - test/test_veracodecli.rb
218
- - veracodecli.gemspec
219
198
  homepage: http://github.com/isand3r/veracodecli
220
199
  licenses:
221
200
  - MIT
@@ -240,4 +219,8 @@ rubygems_version: 2.4.8
240
219
  signing_key:
241
220
  specification_version: 4
242
221
  summary: Ruby based CLI for accessing veracode's api
243
- test_files: []
222
+ test_files:
223
+ - test/API.rb
224
+ - test/helper.rb
225
+ - test/test_veracodecli.rb
226
+ has_rdoc:
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/.gitignore DELETED
@@ -1,49 +0,0 @@
1
- # rcov generated
2
- coverage
3
- coverage.data
4
-
5
- # rdoc generated
6
- rdoc
7
-
8
- # yard generated
9
- doc
10
- .yardoc
11
-
12
- # bundler
13
- .bundle
14
-
15
- # jeweler generated
16
- pkg
17
-
18
- # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
19
- #
20
- # * Create a file at ~/.gitignore
21
- # * Include files you want ignored
22
- # * Run: git config --global core.excludesfile ~/.gitignore
23
- #
24
- # After doing this, these files will be ignored in all your git projects,
25
- # saving you from having to 'pollute' every project you touch with them
26
- #
27
- # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
28
- #
29
- # For MacOS:
30
- #
31
- #.DS_Store
32
-
33
- # For TextMate
34
- #*.tmproj
35
- #tmtags
36
-
37
- # For emacs:
38
- #*~
39
- #\#*
40
- #.\#*
41
-
42
- # For vim:
43
- #*.swp
44
-
45
- # For redcar:
46
- #.redcar
47
-
48
- # For rubinius:
49
- #*.rbc
data/Gemfile DELETED
@@ -1,18 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gem 'json'
4
- gem 'activesupport'
5
- gem 'rest-client'
6
- gem 'commander'
7
-
8
- group :development do
9
- gem "shoulda", ">= 0"
10
- gem "yard", "~> 0.7"
11
- gem "rdoc", "~> 3.12"
12
- gem "bundler", "~> 1.0"
13
- gem "jeweler", "~> 2.0.1"
14
- gem "simplecov", ">= 0"
15
- gem "reek", "~> 1.2.8"
16
- gem "roodi", "~> 2.1.0"
17
- gem "rubocop", "~> 0.32.1"
18
- end
data/Gemfile.lock DELETED
@@ -1,136 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- activesupport (4.2.4)
5
- i18n (~> 0.7)
6
- json (~> 1.7, >= 1.7.7)
7
- minitest (~> 5.1)
8
- thread_safe (~> 0.3, >= 0.3.4)
9
- tzinfo (~> 1.1)
10
- addressable (2.3.8)
11
- ast (2.0.0)
12
- astrolabe (1.3.1)
13
- parser (~> 2.2)
14
- builder (3.2.2)
15
- commander (4.3.5)
16
- highline (~> 1.7.2)
17
- descendants_tracker (0.0.4)
18
- thread_safe (~> 0.3, >= 0.3.1)
19
- docile (1.1.5)
20
- domain_name (0.5.24)
21
- unf (>= 0.0.5, < 1.0.0)
22
- faraday (0.9.1)
23
- multipart-post (>= 1.2, < 3)
24
- git (1.2.9.1)
25
- github_api (0.12.4)
26
- addressable (~> 2.3)
27
- descendants_tracker (~> 0.0.4)
28
- faraday (~> 0.8, < 0.10)
29
- hashie (>= 3.4)
30
- multi_json (>= 1.7.5, < 2.0)
31
- nokogiri (~> 1.6.6)
32
- oauth2
33
- hashie (3.4.2)
34
- highline (1.7.6)
35
- http-cookie (1.0.2)
36
- domain_name (~> 0.5)
37
- i18n (0.7.0)
38
- jeweler (2.0.1)
39
- builder
40
- bundler (>= 1.0)
41
- git (>= 1.2.5)
42
- github_api
43
- highline (>= 1.6.15)
44
- nokogiri (>= 1.5.10)
45
- rake
46
- rdoc
47
- json (1.8.3)
48
- jwt (1.5.1)
49
- mime-types (2.6.2)
50
- mini_portile (0.6.2)
51
- minitest (5.8.0)
52
- multi_json (1.11.2)
53
- multi_xml (0.5.5)
54
- multipart-post (2.0.0)
55
- netrc (0.10.3)
56
- nokogiri (1.6.6.2)
57
- mini_portile (~> 0.6.0)
58
- oauth2 (1.0.0)
59
- faraday (>= 0.8, < 0.10)
60
- jwt (~> 1.0)
61
- multi_json (~> 1.3)
62
- multi_xml (~> 0.5)
63
- rack (~> 1.2)
64
- parser (2.2.2.6)
65
- ast (>= 1.1, < 3.0)
66
- powerpack (0.1.1)
67
- rack (1.6.4)
68
- rainbow (2.0.0)
69
- rake (10.4.2)
70
- rdoc (3.12.2)
71
- json (~> 1.4)
72
- reek (1.2.13)
73
- ripper_ruby_parser (~> 0.0.7)
74
- ruby2ruby (~> 1.2.5)
75
- ruby_parser (~> 2.0)
76
- sexp_processor (~> 3.0)
77
- rest-client (1.8.0)
78
- http-cookie (>= 1.0.2, < 2.0)
79
- mime-types (>= 1.16, < 3.0)
80
- netrc (~> 0.7)
81
- ripper_ruby_parser (0.0.8)
82
- sexp_processor (~> 3.0)
83
- roodi (2.1.0)
84
- ruby_parser
85
- rubocop (0.32.1)
86
- astrolabe (~> 1.3)
87
- parser (>= 2.2.2.5, < 3.0)
88
- powerpack (~> 0.1)
89
- rainbow (>= 1.99.1, < 3.0)
90
- ruby-progressbar (~> 1.4)
91
- ruby-progressbar (1.7.5)
92
- ruby2ruby (1.2.5)
93
- ruby_parser (~> 2.0)
94
- sexp_processor (~> 3.0)
95
- ruby_parser (2.3.1)
96
- sexp_processor (~> 3.0)
97
- sexp_processor (3.2.0)
98
- shoulda (3.5.0)
99
- shoulda-context (~> 1.0, >= 1.0.1)
100
- shoulda-matchers (>= 1.4.1, < 3.0)
101
- shoulda-context (1.2.1)
102
- shoulda-matchers (2.8.0)
103
- activesupport (>= 3.0.0)
104
- simplecov (0.10.0)
105
- docile (~> 1.1.0)
106
- json (~> 1.8)
107
- simplecov-html (~> 0.10.0)
108
- simplecov-html (0.10.0)
109
- thread_safe (0.3.5)
110
- tzinfo (1.2.2)
111
- thread_safe (~> 0.1)
112
- unf (0.1.4)
113
- unf_ext
114
- unf_ext (0.0.7.1)
115
- yard (0.8.7.6)
116
-
117
- PLATFORMS
118
- ruby
119
-
120
- DEPENDENCIES
121
- activesupport
122
- bundler (~> 1.0)
123
- commander
124
- jeweler (~> 2.0.1)
125
- json
126
- rdoc (~> 3.12)
127
- reek (~> 1.2.8)
128
- rest-client
129
- roodi (~> 2.1.0)
130
- rubocop (~> 0.32.1)
131
- shoulda
132
- simplecov
133
- yard (~> 0.7)
134
-
135
- BUNDLED WITH
136
- 1.10.6
data/Rakefile DELETED
@@ -1,67 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
13
-
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
17
- gem.name = "veracodecli"
18
- gem.homepage = "http://github.com/isand3r/veracodecli"
19
- gem.license = "MIT"
20
- gem.summary = %Q{Ruby based CLI for accessing veracode's api}
21
- gem.description = %Q{Ruby based CLI for accessing veracode's api}
22
- gem.email = "isaiah.thiessen@telus.com"
23
- gem.authors = ["isaiah thiessen"]
24
- gem.files = `git ls-files`.split("\n")
25
- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
26
- gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
27
- gem.require_paths = ['lib']
28
- # dependencies defined in Gemfile
29
- end
30
- Jeweler::RubygemsDotOrgTasks.new
31
-
32
- require 'rake/testtask'
33
- Rake::TestTask.new(:test) do |test|
34
- test.libs << 'lib' << 'test'
35
- test.pattern = 'test/**/test_*.rb'
36
- test.verbose = true
37
- end
38
-
39
- require 'rubocop/rake_task'
40
- RuboCop::RakeTask.new(:rubocop) do |task|
41
- task.patterns = ['lib/**/*.rb']
42
- task.fail_on_error = false
43
- end
44
-
45
- desc "Code coverage detail"
46
- task :simplecov do
47
- ENV['COVERAGE'] = "true"
48
- Rake::Task['test'].execute
49
- end
50
-
51
- require 'reek/rake/task'
52
- Reek::Rake::Task.new do |t|
53
- t.fail_on_error = true
54
- t.verbose = false
55
- t.source_files = 'lib/**/*.rb'
56
- end
57
-
58
- require 'roodi'
59
- require 'roodi_task'
60
- RoodiTask.new do |t|
61
- t.verbose = false
62
- end
63
-
64
- task :default => :test
65
-
66
- require 'yard'
67
- YARD::Rake::YardocTask.new
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.1
data/veracodecli.gemspec DELETED
@@ -1,78 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: veracodecli 0.1.1 ruby lib
6
-
7
- Gem::Specification.new do |s|
8
- s.name = "veracodecli"
9
- s.version = "0.1.1"
10
-
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["isaiah thiessen"]
14
- s.date = "2015-09-22"
15
- s.description = "Ruby based CLI for accessing veracode's api"
16
- s.email = "isaiah.thiessen@telus.com"
17
- s.executables = ["veracodecli"]
18
- s.extra_rdoc_files = [
19
- "LICENSE.txt",
20
- "README.md"
21
- ]
22
- s.files = [
23
- "bin/veracodecli",
24
- "lib/veracodecli.rb",
25
- "lib/veracodecli/api.rb"
26
- ]
27
- s.homepage = "http://github.com/isand3r/veracodecli"
28
- s.licenses = ["MIT"]
29
- s.rubygems_version = "2.4.6"
30
- s.summary = "Ruby based CLI for accessing veracode's api"
31
- s.test_files = ["test/API.rb", "test/helper.rb", "test/test_veracodecli.rb"]
32
-
33
- if s.respond_to? :specification_version then
34
- s.specification_version = 4
35
-
36
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
37
- s.add_runtime_dependency(%q<json>, [">= 0"])
38
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
39
- s.add_runtime_dependency(%q<rest-client>, [">= 0"])
40
- s.add_runtime_dependency(%q<commander>, [">= 0"])
41
- s.add_development_dependency(%q<shoulda>, [">= 0"])
42
- s.add_development_dependency(%q<yard>, ["~> 0.7"])
43
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
44
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
45
- s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
46
- s.add_development_dependency(%q<simplecov>, [">= 0"])
47
- s.add_development_dependency(%q<reek>, ["~> 1.2.8"])
48
- s.add_development_dependency(%q<roodi>, ["~> 2.1.0"])
49
- else
50
- s.add_dependency(%q<json>, [">= 0"])
51
- s.add_dependency(%q<activesupport>, [">= 0"])
52
- s.add_dependency(%q<rest-client>, [">= 0"])
53
- s.add_dependency(%q<commander>, [">= 0"])
54
- s.add_dependency(%q<shoulda>, [">= 0"])
55
- s.add_dependency(%q<yard>, ["~> 0.7"])
56
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
57
- s.add_dependency(%q<bundler>, ["~> 1.0"])
58
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
59
- s.add_dependency(%q<simplecov>, [">= 0"])
60
- s.add_dependency(%q<reek>, ["~> 1.2.8"])
61
- s.add_dependency(%q<roodi>, ["~> 2.1.0"])
62
- end
63
- else
64
- s.add_dependency(%q<json>, [">= 0"])
65
- s.add_dependency(%q<activesupport>, [">= 0"])
66
- s.add_dependency(%q<rest-client>, [">= 0"])
67
- s.add_dependency(%q<commander>, [">= 0"])
68
- s.add_dependency(%q<shoulda>, [">= 0"])
69
- s.add_dependency(%q<yard>, ["~> 0.7"])
70
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
71
- s.add_dependency(%q<bundler>, ["~> 1.0"])
72
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
73
- s.add_dependency(%q<simplecov>, [">= 0"])
74
- s.add_dependency(%q<reek>, ["~> 1.2.8"])
75
- s.add_dependency(%q<roodi>, ["~> 2.1.0"])
76
- end
77
- end
78
-