coverband 0.1.0.preRC9 → 1.0.0

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: dcd25d6b360168b39561e19c131ee97507457c71
4
- data.tar.gz: 8bd10e92ee92bfb3439943d036d02fe56f3815a9
3
+ metadata.gz: 577f3ba7a0b16748ac4ea09192da659ec70a2e9a
4
+ data.tar.gz: 2a56294e904a385080a97970830c23652f6323d0
5
5
  SHA512:
6
- metadata.gz: 3455ef1c7fe8aaf469ded5d2880a4ec941e83c044221de9381387126cb6990848101fcc14e8e06423b49793ad7d8914e3a4e3f4a78b0bd482d40323c6223a0c1
7
- data.tar.gz: 67f4dd4ce118865ee944d11cb36fbb46aa59bfd0bebedc33121c0613364a1e2d8ad19ff001e88dadd16255c102bae59ca4e57c76b610fde7fdfdcb6cc71b230d
6
+ metadata.gz: 3feecaf7cf2c268f03a23090f341b0102654ad546c2df8f5a47b6d0f7a807a67af70d6e357d8f4134b848b272afb7ee725d905728a501ade5acda02b18a2daa7
7
+ data.tar.gz: 9af8b91ba39ea2759cb59c97b8fd52f8fa803ec46566c49ac6bdcdfb3bc576b366c3379538531214bcb548f862238b96710238ba9115c0b418427a7240b535a8
data/coverband.gemspec CHANGED
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
23
  spec.add_development_dependency "mocha", "~> 0.14.0"
24
- spec.add_development_dependency "shoulda"
25
24
  spec.add_development_dependency "rack"
26
25
  spec.add_runtime_dependency "simplecov"
27
26
  spec.add_runtime_dependency "json"
@@ -126,10 +126,6 @@ module Coverband
126
126
  end
127
127
  end
128
128
 
129
- def add_from_tracepoint(trace_point)
130
- add_file(trace_point.path, trace_point.lineno)
131
- end
132
-
133
129
  def add_file(file, line)
134
130
  if !file.match(/(\/gems\/|internal\:prelude)/) && file.match(@project_directory) && !@ignore_patterns.any?{|pattern| file.match(/#{pattern}/) }
135
131
  add_file_without_checks(file, line)
@@ -63,6 +63,27 @@ module Coverband
63
63
  fixed_report
64
64
  end
65
65
 
66
+ # [0,0,1,0,1]
67
+ # [nil,0,1,0,0]
68
+ # merge to
69
+ # [0,0,1,0,1]
70
+ def self.merge_arrays(first, second)
71
+ merged = []
72
+ longest = if first.length > second.length
73
+ first
74
+ else
75
+ second
76
+ end
77
+ longest.each_with_index do |line, index|
78
+ if first[index] || second[index]
79
+ merged[index] = (first[index].to_i + second[index].to_i >= 1 ? 1 : 0)
80
+ else
81
+ merged[index] = nil
82
+ end
83
+ end
84
+ merged
85
+ end
86
+
66
87
  def self.report_scov(redis, existing_coverage, roots, open_report)
67
88
  scov_style_report = {}
68
89
  redis.smembers('coverband').each do |key|
@@ -73,7 +94,8 @@ module Coverband
73
94
  line_key = line_data.keys.first
74
95
  previous_line_hash = scov_style_report[line_key]
75
96
  if previous_line_hash
76
- line_data[line_key] = line_data[line_key].merge(previous_line_hash)
97
+
98
+ line_data[line_key] = merge_arrays(line_data[line_key], previous_line_hash)
77
99
  end
78
100
  scov_style_report.merge!(line_data)
79
101
  end
@@ -1,3 +1,3 @@
1
1
  module Coverband
2
- VERSION = "0.1.0.preRC9"
2
+ VERSION = "1.0.0"
3
3
  end
data/test/test_helper.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'simplecov'
3
3
  require 'test/unit'
4
- require 'shoulda'
5
4
  require 'mocha/setup'
6
5
  require 'ostruct'
7
6
  require 'json'
@@ -16,6 +15,19 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
16
15
  $LOAD_PATH.unshift(File.dirname(__FILE__))
17
16
  Mocha::Configuration.prevent(:stubbing_non_existent_method)
18
17
 
18
+ def test(name, &block)
19
+ test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
20
+ defined = instance_method(test_name) rescue false
21
+ raise "#{test_name} is already defined in #{self}" if defined
22
+ if block_given?
23
+ define_method(test_name, &block)
24
+ else
25
+ define_method(test_name) do
26
+ flunk "No implementation provided for #{name}"
27
+ end
28
+ end
29
+ end
30
+
19
31
  require 'coverband'
20
32
 
21
33
  unless File.exist?('./tmp/coverband_baseline.json')
@@ -2,15 +2,20 @@ require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
3
  class BaseTest < Test::Unit::TestCase
4
4
 
5
- should "start should enable coverage" do
5
+ test "start should enable coverage" do
6
6
  coverband = Coverband::Base.instance.reset_instance
7
7
  assert_equal false, coverband.instance_variable_get("@enabled")
8
8
  coverband.expects(:record_coverage).once
9
9
  coverband.start
10
10
  assert_equal true, coverband.instance_variable_get("@enabled")
11
11
  end
12
+
13
+ test "extended should default to false" do
14
+ coverband = Coverband::Base.instance.reset_instance
15
+ assert_equal false, coverband.extended?
16
+ end
12
17
 
13
- should "stop should disable coverage" do
18
+ test "stop should disable coverage" do
14
19
  coverband = Coverband::Base.instance.reset_instance
15
20
  assert_equal false, coverband.instance_variable_get("@enabled")
16
21
  coverband.expects(:record_coverage).once
@@ -21,7 +26,7 @@ class BaseTest < Test::Unit::TestCase
21
26
  assert_equal false, coverband.instance_variable_get("@tracer_set")
22
27
  end
23
28
 
24
- should "allow for sampling with a block and enable when 100 percent sample" do
29
+ test "allow for sampling with a block and enable when 100 percent sample" do
25
30
  logger = Logger.new(STDOUT)
26
31
  coverband = Coverband::Base.instance.reset_instance
27
32
  coverband.instance_variable_set("@sample_percentage", 100.0)
@@ -34,7 +39,7 @@ class BaseTest < Test::Unit::TestCase
34
39
  assert_equal true, coverband.instance_variable_get("@enabled")
35
40
  end
36
41
 
37
- should "allow reporting with start stop save" do
42
+ test "allow reporting with start stop save" do
38
43
  logger = Logger.new(STDOUT)
39
44
  coverband = Coverband::Base.instance.reset_instance
40
45
  coverband.instance_variable_set("@sample_percentage", 100.0)
@@ -49,7 +54,7 @@ class BaseTest < Test::Unit::TestCase
49
54
  coverband.save
50
55
  end
51
56
 
52
- should "allow reporting to redis start stop save" do
57
+ test "allow reporting to redis start stop save" do
53
58
  coverband = Coverband::Base.instance.reset_instance
54
59
  coverband.instance_variable_set("@sample_percentage", 100.0)
55
60
  coverband.instance_variable_set("@verbose", true)
@@ -3,7 +3,7 @@ require 'rack'
3
3
 
4
4
  class MiddlewareTest < Test::Unit::TestCase
5
5
 
6
- should "call app" do
6
+ test "call app" do
7
7
  request = Rack::MockRequest.env_for("/anything.json")
8
8
  Coverband::Base.instance.reset_instance
9
9
  middleware = Coverband::Middleware.new(fake_app)
@@ -11,14 +11,14 @@ class MiddlewareTest < Test::Unit::TestCase
11
11
  assert_equal "/anything.json", results.last
12
12
  end
13
13
 
14
- should 'pass all rack lint checks' do
14
+ test 'pass all rack lint checks' do
15
15
  Coverband::Base.instance.reset_instance
16
16
  app = Rack::Lint.new(Coverband::Middleware.new(fake_app))
17
17
  env = Rack::MockRequest.env_for('/hello')
18
18
  app.call(env)
19
19
  end
20
20
 
21
- should 'always be enabled with sample percentage of 100' do
21
+ test 'always be enabled with sample percentage of 100' do
22
22
  request = Rack::MockRequest.env_for("/anything.json")
23
23
  Coverband::Base.instance.reset_instance
24
24
  middleware = Coverband::Middleware.new(fake_app)
@@ -28,7 +28,7 @@ class MiddlewareTest < Test::Unit::TestCase
28
28
  assert_equal true, Coverband::Base.instance.instance_variable_get("@enabled")
29
29
  end
30
30
 
31
- should 'never be enabled with sample percentage of 0' do
31
+ test 'never be enabled with sample percentage of 0' do
32
32
  request = Rack::MockRequest.env_for("/anything.json")
33
33
  Coverband::Base.instance.reset_instance
34
34
  middleware = Coverband::Middleware.new(fake_app)
@@ -38,7 +38,7 @@ class MiddlewareTest < Test::Unit::TestCase
38
38
  assert_equal false, Coverband::Base.instance.instance_variable_get("@enabled")
39
39
  end
40
40
 
41
- should 'always unset function when sampling' do
41
+ test 'always unset function when sampling' do
42
42
  request = Rack::MockRequest.env_for("/anything.json")
43
43
  Coverband::Base.instance.reset_instance
44
44
  middleware = Coverband::Middleware.new(fake_app)
@@ -48,7 +48,7 @@ class MiddlewareTest < Test::Unit::TestCase
48
48
  assert_equal false, Coverband::Base.instance.instance_variable_get("@tracer_set")
49
49
  end
50
50
 
51
- should 'always unset function when not sampling' do
51
+ test 'always unset function when not sampling' do
52
52
  request = Rack::MockRequest.env_for("/anything.json")
53
53
  Coverband::Base.instance.reset_instance
54
54
  middleware = Coverband::Middleware.new(fake_app)
@@ -58,7 +58,7 @@ class MiddlewareTest < Test::Unit::TestCase
58
58
  assert_equal false, Coverband::Base.instance.instance_variable_get("@tracer_set")
59
59
  end
60
60
 
61
- should 'always record coverage, set trace func, and add_files when sampling' do
61
+ test 'always record coverage, set trace func, and add_files when sampling' do
62
62
  request = Rack::MockRequest.env_for("/anything.json")
63
63
  Coverband::Base.instance.reset_instance
64
64
  middleware = Coverband::Middleware.new(fake_app)
@@ -69,7 +69,7 @@ class MiddlewareTest < Test::Unit::TestCase
69
69
  assert_equal true, Coverband::Base.instance.instance_variable_get("@enabled")
70
70
  end
71
71
 
72
- should 'always report coverage when sampling' do
72
+ test 'always report coverage when sampling' do
73
73
  request = Rack::MockRequest.env_for("/anything.json")
74
74
  Coverband::Base.instance.reset_instance
75
75
 
@@ -1,8 +1,20 @@
1
1
  require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
- class RedisStoreTest < Test::Unit::TestCase
4
- context '#store_report' do
5
- setup do
3
+ class RedisTest < Test::Unit::TestCase
4
+
5
+ private
6
+
7
+ def test_data
8
+ {
9
+ "/Users/danmayer/projects/cover_band_server/app.rb"=>[54, 55],
10
+ "/Users/danmayer/projects/cover_band_server/server.rb"=>[5]
11
+ }
12
+ end
13
+ end
14
+
15
+ class RedisStoreTestV3 < RedisTest
16
+
17
+ def setup
6
18
  @redis = Redis.current.tap { |redis|
7
19
  redis.stubs(:sadd).with(anything, anything)
8
20
  redis.stubs(:info).returns({'redis_version' => 3.0})
@@ -11,7 +23,7 @@ class RedisStoreTest < Test::Unit::TestCase
11
23
  @store = Coverband::RedisStore.new(@redis)
12
24
  end
13
25
 
14
- should "it stores the files into coverband" do
26
+ test "it stores the files into coverband" do
15
27
  @redis.expects(:sadd).with('coverband', [
16
28
  '/Users/danmayer/projects/cover_band_server/app.rb',
17
29
  '/Users/danmayer/projects/cover_band_server/server.rb'
@@ -20,7 +32,7 @@ class RedisStoreTest < Test::Unit::TestCase
20
32
  @store.store_report(test_data)
21
33
  end
22
34
 
23
- should "it stores the file lines of the file app.rb" do
35
+ test "it stores the file lines of the file app.rb" do
24
36
  @redis.expects(:sadd).with(
25
37
  'coverband./Users/danmayer/projects/cover_band_server/app.rb',
26
38
  [54, 55]
@@ -29,7 +41,7 @@ class RedisStoreTest < Test::Unit::TestCase
29
41
  @store.store_report(test_data)
30
42
  end
31
43
 
32
- should "it stores the file lines of the file server.rb" do
44
+ test "it stores the file lines of the file server.rb" do
33
45
  @redis.expects(:sadd).with(
34
46
  'coverband./Users/danmayer/projects/cover_band_server/server.rb',
35
47
  [5]
@@ -38,46 +50,42 @@ class RedisStoreTest < Test::Unit::TestCase
38
50
  @store.store_report(test_data)
39
51
  end
40
52
 
41
- context 'when the redis server version is too old' do
42
- setup do
43
- @redis.stubs(:info).returns("redis_version"=>"2.2.3")
44
- end
53
+ end
45
54
 
46
- should "it store the files with separate calls into coverband" do
47
- @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/app.rb')
48
- @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/server.rb')
55
+ class RedisStoreTestV223 < RedisTest
49
56
 
50
- @store.store_report(test_data)
51
- end
57
+ def setup
58
+ @redis = Redis.current.tap { |redis|
59
+ redis.stubs(:sadd).with(anything, anything)
60
+ redis.stubs(:info).returns({'redis_version' => "2.2.3"})
61
+ }
62
+
63
+ @store = Coverband::RedisStore.new(@redis)
52
64
  end
53
65
 
54
- context 'when the redis gem version is too old' do
55
- setup do
56
- @gem_version = Redis::VERSION
57
- Redis.send(:remove_const, :VERSION)
58
- Redis::VERSION = '2.2.2'
59
- end
66
+ test "it store the files with separate calls into coverband" do
67
+ @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/app.rb')
68
+ @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/server.rb')
60
69
 
61
- teardown do
62
- Redis.send(:remove_const, :VERSION)
63
- Redis::VERSION = @gem_version
64
- end
70
+ @store.store_report(test_data)
71
+ end
72
+ end
65
73
 
66
- should "it store the files with separate calls into coverband" do
67
- @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/app.rb')
68
- @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/server.rb')
74
+ class RedisStoreTestV222 < RedisTest
69
75
 
70
- @store.store_report(test_data)
71
- end
76
+ def setup
77
+ @redis = Redis.current.tap { |redis|
78
+ redis.stubs(:sadd).with(anything, anything)
79
+ redis.stubs(:info).returns({'redis_version' => "2.2.2"})
80
+ }
81
+
82
+ @store = Coverband::RedisStore.new(@redis)
72
83
  end
73
- end
74
84
 
75
- private
85
+ test "it store the files with separate calls into coverband" do
86
+ @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/app.rb')
87
+ @redis.expects(:sadd).with('coverband', '/Users/danmayer/projects/cover_band_server/server.rb')
76
88
 
77
- def test_data
78
- {
79
- "/Users/danmayer/projects/cover_band_server/app.rb"=>[54, 55],
80
- "/Users/danmayer/projects/cover_band_server/server.rb"=>[5]
81
- }
82
- end
89
+ @store.store_report(test_data)
90
+ end
83
91
  end
@@ -2,7 +2,7 @@ require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
3
  class ReporterTest < Test::Unit::TestCase
4
4
 
5
- should "record baseline" do
5
+ test "record baseline" do
6
6
  Coverage.expects(:start).at_least_once
7
7
  Coverage.expects(:result).returns({'fake' => [0,1]}).at_least_once
8
8
  File.expects(:open).once
@@ -14,7 +14,7 @@ class ReporterTest < Test::Unit::TestCase
14
14
  }
15
15
  end
16
16
 
17
- should "report data" do
17
+ test "report data" do
18
18
  Coverband.configure do |config|
19
19
  config.redis = fake_redis
20
20
  config.reporter = 'std_out'
@@ -44,7 +44,7 @@ class ReporterTest < Test::Unit::TestCase
44
44
  # shows that it has become a disaster of self methods relying on side effects.
45
45
  # Fix to standard class and methods.
46
46
  ####
47
- should "fix filename from a key with a swappable path" do
47
+ test "filename_from_key fix filename from a key with a swappable path" do
48
48
  Coverband.configure do |config|
49
49
  config.redis = fake_redis
50
50
  config.reporter = 'std_out'
@@ -52,19 +52,43 @@ class ReporterTest < Test::Unit::TestCase
52
52
  end
53
53
 
54
54
  key = "/app/is/a/path.rb"
55
- #the code takes config.root expands and adds a '/'
55
+ #the code takes config.root expands and adds a '/' for the final path in roots
56
56
  roots = ["/app/", '/full/remote_app/path/']
57
57
 
58
58
  assert_equal "/full/remote_app/path/is/a/path.rb", Coverband::Reporter.filename_from_key(key, roots)
59
59
  end
60
60
 
61
- ####
62
- # TODO
63
- # attempting to write some tests around this reporter
64
- # shows that it has become a disaster of self methods relying on side effects.
65
- # Fix to standard class and methods.
66
- ####
67
- should "leave filename from a key with a local path" do
61
+ test "filename_from_key fix filename a changing deploy path with double quotes" do
62
+ Coverband.configure do |config|
63
+ config.redis = fake_redis
64
+ config.reporter = 'std_out'
65
+ config.root = '/full/remote_app/path'
66
+ end
67
+
68
+ key = "/box/apps/app_name/releases/20140725203539/app/models/user.rb"
69
+ # the code takes config.root expands and adds a '/' for the final path in roots
70
+ # note to get regex to work for changing deploy directories it must be double escaped in double quotes or use single qoutes
71
+ roots = ["/box/apps/app_name/releases/\\d+/", '/full/remote_app/path/']
72
+
73
+ assert_equal "/full/remote_app/path/app/models/user.rb", Coverband::Reporter.filename_from_key(key, roots)
74
+ end
75
+
76
+ test "filename_from_key fix filename a changing deploy path with single quotes" do
77
+ Coverband.configure do |config|
78
+ config.redis = fake_redis
79
+ config.reporter = 'std_out'
80
+ config.root = '/full/remote_app/path'
81
+ end
82
+
83
+ key = "/box/apps/app_name/releases/20140725203539/app/models/user.rb"
84
+ # the code takes config.root expands and adds a '/' for the final path in roots
85
+ # note to get regex to work for changing deploy directories it must be double escaped in double quotes or use single qoutes
86
+ roots = ['/box/apps/app_name/releases/\d+/', '/full/remote_app/path/']
87
+
88
+ assert_equal "/full/remote_app/path/app/models/user.rb", Coverband::Reporter.filename_from_key(key, roots)
89
+ end
90
+
91
+ test "filename_from_key leave filename from a key with a local path" do
68
92
  Coverband.configure do |config|
69
93
  config.redis = fake_redis
70
94
  config.reporter = 'std_out'
@@ -72,12 +96,72 @@ class ReporterTest < Test::Unit::TestCase
72
96
  end
73
97
 
74
98
  key = "/full/remote_app/path/is/a/path.rb"
75
- #the code takes config.root expands and adds a '/'
99
+ #the code takes config.root expands and adds a '/' for the final path in roots
76
100
  roots = ["/app/", '/full/remote_app/path/']
77
101
 
78
102
  assert_equal "/full/remote_app/path/is/a/path.rb", Coverband::Reporter.filename_from_key(key, roots)
79
103
  end
80
104
 
105
+ test "line_hash gets correct hash entry for a line key" do
106
+ Coverband.configure do |config|
107
+ config.redis = fake_redis
108
+ config.reporter = 'std_out'
109
+ config.root = '/full/remote_app/path'
110
+ end
111
+
112
+ key = "/full/remote_app/path/is/a/path.rb"
113
+ #the code takes config.root expands and adds a '/'
114
+ roots = ["/app/", '/full/remote_app/path/']
115
+
116
+ current_redis = fake_redis
117
+ lines_hit = ['1','3','6']
118
+ current_redis.stubs(:smembers).returns(lines_hit)
119
+ #expects to show hit counts on 1,3,6
120
+ expected = {"/full/remote_app/path/is/a/path.rb" => [1,0,1,0,0,1]}
121
+ File.stubs(:exists?).returns(true)
122
+ File.stubs(:foreach).returns(['line 1','line2','line3','line4','line5','line6'])
123
+
124
+ assert_equal expected, Coverband::Reporter.line_hash(current_redis, key, roots)
125
+ end
126
+
127
+ test "line_hash adjusts relative paths" do
128
+ Coverband.configure do |config|
129
+ config.redis = fake_redis
130
+ config.reporter = 'std_out'
131
+ config.root = '/full/remote_app/path'
132
+ end
133
+
134
+ key = "./is/a/path.rb"
135
+ #the code takes config.root expands and adds a '/'
136
+ roots = ["/app/", '/full/remote_app/path/']
137
+
138
+ current_redis = fake_redis
139
+ lines_hit = ['1','3','6']
140
+ current_redis.stubs(:smembers).returns(lines_hit)
141
+ #expects to show hit counts on 1,3,6
142
+ expected = {"/full/remote_app/path/is/a/path.rb" => [1,0,1,0,0,1]}
143
+ File.stubs(:exists?).returns(true)
144
+ File.stubs(:foreach).returns(['line 1','line2','line3','line4','line5','line6'])
145
+
146
+ assert_equal expected, Coverband::Reporter.line_hash(current_redis, key, roots)
147
+ end
148
+
149
+ test "#merge_arrays basic merge preserves order and counts" do
150
+ first = [0,0,1,0,1]
151
+ second = [nil,0,1,0,0]
152
+ expects = [0,0,1,0,1]
153
+
154
+ assert_equal expects, Coverband::Reporter.merge_arrays(first, second)
155
+ end
156
+
157
+ test "#merge_arrays basic merge preserves order and counts different lenths" do
158
+ first = [0,0,1,0,1]
159
+ second = [nil,0,1,0,0,0,0,1]
160
+ expects = [0,0,1,0,1,0,0,1]
161
+
162
+ assert_equal expects, Coverband::Reporter.merge_arrays(first, second)
163
+ end
164
+
81
165
  private
82
166
 
83
167
  def fake_redis
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coverband
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.preRC9
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Mayer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-25 00:00:00.000000000 Z
11
+ date: 2014-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.14.0
55
- - !ruby/object:Gem::Dependency
56
- name: shoulda
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rack
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -167,9 +153,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
153
  version: '0'
168
154
  required_rubygems_version: !ruby/object:Gem::Requirement
169
155
  requirements:
170
- - - ">"
156
+ - - ">="
171
157
  - !ruby/object:Gem::Version
172
- version: 1.3.1
158
+ version: '0'
173
159
  requirements: []
174
160
  rubyforge_project:
175
161
  rubygems_version: 2.2.2