gimme 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -7,8 +7,8 @@ group :development, :test do
7
7
  gem 'pry'
8
8
 
9
9
  gem 'rdoc'
10
+ gem 'rake'
10
11
 
11
- gem "jeweler", "~> 1.5.2"
12
12
  gem "rspec"
13
13
  gem "rspec-given"
14
14
  gem "cucumber"
data/Gemfile.lock CHANGED
@@ -13,7 +13,6 @@ GEM
13
13
  ffi (1.0.11)
14
14
  gherkin (2.9.0)
15
15
  json (>= 1.4.6)
16
- git (1.2.5)
17
16
  growl (1.0.3)
18
17
  guard (1.0.0)
19
18
  ffi (>= 0.5.0)
@@ -23,10 +22,6 @@ GEM
23
22
  guard (>= 0.8.3)
24
23
  guard-rspec (0.6.0)
25
24
  guard (>= 0.10.0)
26
- jeweler (1.5.2)
27
- bundler (~> 1.0.0)
28
- git (>= 1.2.5)
29
- rake
30
25
  json (1.6.5)
31
26
  method_source (0.7.0)
32
27
  multi_json (1.1.0)
@@ -64,8 +59,8 @@ DEPENDENCIES
64
59
  growl
65
60
  guard-cucumber
66
61
  guard-rspec
67
- jeweler (~> 1.5.2)
68
62
  pry
63
+ rake
69
64
  rb-fsevent
70
65
  rdoc
71
66
  rspec
data/README.markdown CHANGED
@@ -38,6 +38,22 @@ Next, wherever you set up your test environment, require gimme:
38
38
 
39
39
  require 'gimme'
40
40
 
41
+ And if you're using RSpec, you can get doubled class methods to teardown appropriately by configuring gimme as your mock framework:
42
+
43
+ ``` ruby
44
+ RSpec.configure do |config|
45
+ config.mock_framework = Gimme::RSpecAdapter
46
+ end
47
+ ```
48
+
49
+ If you're introducing gimme to a suite that already uses another double library, you can just as well do this:
50
+
51
+ ``` ruby
52
+ after(:each) do
53
+ Gimme.reset
54
+ end
55
+ ```
56
+
41
57
  ### Creating a double
42
58
  Once you're in your test or spec, to create a test double.
43
59
 
@@ -170,7 +186,7 @@ Here's an example where our Dog is again being doubled to facilitate some test,
170
186
 
171
187
  dog.meow #=> :purr
172
188
 
173
- We cam accomplish the same thing using `verify!`:
189
+ We can accomplish the same thing using `verify!`:
174
190
 
175
191
  dog = gimme(Dog)
176
192
 
data/Rakefile CHANGED
@@ -1,32 +1,27 @@
1
1
  # -*- coding: utf-8 -*-
2
- require 'rubygems'
3
- require 'bundler'
4
- begin
5
- Bundler.setup(:default, :development)
6
- rescue Bundler::BundlerError => e
7
- $stderr.puts e.message
8
- $stderr.puts "Run `bundle install` to install missing gems"
9
- exit e.status_code
10
- end
11
2
  require 'rake'
12
3
 
13
- require 'jeweler'
14
- Jeweler::Tasks.new do |gem|
15
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
16
- gem.name = "gimme"
17
- gem.homepage = "http://github.com/searls/gimme"
18
- gem.license = "MIT"
19
- gem.summary = %Q{gimme — a low-specification test double library for Ruby}
20
- gem.description = %Q{gimme attempts to bring to Ruby a test double workflow akin to Mockito in Java. Major distinctions include preserving arrange-act-assert in tests, fast feedback for methods the double's real counterpart may not know how to respond to, no string/symbolic representations of methods, argument captors, and strong opinions (weakly held). }
21
- gem.email = "searls@gmail.com"
22
- gem.authors = ["Justin Searls"]
23
- # Include your dependencies below. Runtime dependencies are required when using your gem,
24
- # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
25
- # gem.add_runtime_dependency 'jabber4r', '> 0.1'
26
- gem.add_development_dependency "rspec", ">= 1.3.1"
27
- gem.add_development_dependency "cucumber", ">= 0.10.0"
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
8
+ gem.name = "gimme"
9
+ gem.homepage = "http://github.com/searls/gimme"
10
+ gem.license = "MIT"
11
+ gem.summary = %Q{gimme — a low-specification test double library for Ruby}
12
+ gem.description = %Q{gimme attempts to bring to Ruby a test double workflow akin to Mockito in Java. Major distinctions include preserving arrange-act-assert in tests, fast feedback for methods the double's real counterpart may not know how to respond to, no string/symbolic representations of methods, argument captors, and strong opinions (weakly held). }
13
+ gem.email = "searls@gmail.com"
14
+ gem.authors = ["Justin Searls"]
15
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
16
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
17
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
18
+ gem.add_development_dependency "rspec", ">= 1.3.1"
19
+ gem.add_development_dependency "cucumber", ">= 0.10.0"
20
+ end
21
+ Jeweler::RubygemsDotOrgTasks.new
22
+ rescue LoadError
23
+ puts "`gem install jeweler` and run outside of bundler to do jeweler stuff. You can thank its dependency on bundler ~> 1.0.0 for this hack."
28
24
  end
29
- Jeweler::RubygemsDotOrgTasks.new
30
25
 
31
26
  require 'rdoc/task'
32
27
  RDoc::Task.new do |rdoc|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -16,7 +16,7 @@ Feature: basic usage
16
16
 
17
17
  Scenario:
18
18
  Given we have this existing code:
19
- """
19
+ """
20
20
  class Apprentice
21
21
  def slice(thing)
22
22
  1000000.times.map do
@@ -37,7 +37,7 @@ Feature: basic usage
37
37
 
38
38
  class Chef
39
39
  def initialize(slicer = Apprentice.new, stove = Stove.new)
40
- @slicer = slicer
40
+ @slicer = slicer
41
41
  @stove = stove
42
42
  end
43
43
  end
@@ -0,0 +1,35 @@
1
+ Feature: class methods
2
+
3
+ Scenario: stubbing and verifying behavior
4
+ Given we have this existing code:
5
+ """
6
+ class Cat
7
+ def interact(type)
8
+ end
9
+ end
10
+
11
+ class CatRepository
12
+ def self.find(cat_id)
13
+ end
14
+ end
15
+ """
16
+ When we want to write some tests to help us write this method:
17
+ """
18
+ class ScratchesCat
19
+ def scratch(cat_id)
20
+ CatRepository.find(cat_id).interact(:scratch)
21
+ end
22
+ end
23
+ """
24
+ Then we can use gimme to isolate the unit under test:
25
+ """
26
+ cat = gimme(Cat)
27
+ give(CatRepository).find(12) { cat }
28
+
29
+ ScratchesCat.new.scratch(12)
30
+
31
+ verify(cat).interact(:scratch)
32
+
33
+ # to clear any class method stubbings, do this:
34
+ Gimme.reset # in RSpec, Gimme::RSpecAdapter can do this on teardown for you.
35
+ """
@@ -13,7 +13,7 @@ Feature: argument matchers
13
13
  <li>Defining your own matcher</li>
14
14
  </ul>
15
15
 
16
- In this example, we have a Mail object with a contents attribute. A DeliversMessages object adds Mail to
16
+ In this example, we have a Mail object with a contents attribute. A DeliversMessages object adds Mail to
17
17
  Recipients' mailboxes and checks off each delivery on its Checklist.
18
18
 
19
19
 
@@ -54,22 +54,22 @@ Feature: argument matchers
54
54
  end
55
55
  """
56
56
 
57
- Scenario: using the is_a matcher to specify a type
57
+ Scenario: stubbing with argument matchers
58
58
  Then we can use gimme to isolate the unit under test:
59
59
  """
60
+ # pretend we want to ensure the #deliver function returns
61
+ # whatever the Checlist#check_off method returns. We can
62
+ # specify that by stubbing the check_off method
60
63
  checklist = gimme(Checklist)
61
64
  recipient = gimme(Recipient)
65
+ give(checklist).check_off(anything, anything, is_a(Time)) { "Pandas!" }
62
66
 
63
- DeliversMessages.new(checklist).deliver("WHY HELLO GOOD SIR", recipient)
64
-
65
- #without access (or interest in) the mail object, we can just check it was of type Mail
66
- verify(recipient).add_to_mailbox(is_a(Mail))
67
+ result = DeliversMessages.new(checklist).deliver("WHY HELLO GOOD SIR", recipient)
67
68
 
68
- # ^-- we could have also used any(Mail) to allow the argument to have been nil, as well.
69
+ result.should == "Pandas!"
69
70
  """
70
71
 
71
- Scenario: using the anything matcher to allow for any value
72
-
72
+ Scenario: using some built-in matchers
73
73
  Then we can use gimme to isolate the unit under test:
74
74
  """
75
75
  checklist = gimme(Checklist)
@@ -77,8 +77,11 @@ Feature: argument matchers
77
77
 
78
78
  DeliversMessages.new(checklist).deliver("WHY HELLO GOOD SIR", recipient)
79
79
 
80
- #here we check the second param exactly, but allow the third to be anything
81
- verify(checklist).check_off(any(String), recipient, anything)
80
+ verify(recipient).add_to_mailbox(is_a(Mail)) #would force a Mail instance
81
+ verify(recipient).add_to_mailbox(any(Mail)) #would also have allowed nil
82
+
83
+ verify(checklist).check_off(any(String), recipient, anything) #anything matches anything
84
+
82
85
  """
83
86
 
84
87
  Scenario: using an argument captor to grab what was passed
@@ -102,7 +105,6 @@ Feature: argument matchers
102
105
 
103
106
  DeliversMessages.new(checklist).deliver("WHY HELLO GOOD SIR", recipient)
104
107
 
105
-
106
108
  class StartsWith
107
109
  def initialize(expected)
108
110
  @expected = expected
@@ -112,15 +114,9 @@ Feature: argument matchers
112
114
  actual.start_with?(@expected)
113
115
  end
114
116
  end
115
-
116
- verify(checklist).check_off(StartsWith.new("WHY"), anything, anything)
117
-
118
- # or, of course, you could add a more natural method for your matcher
119
-
120
117
  def starts_with(s)
121
118
  StartsWith.new(s)
122
119
  end
123
120
 
124
121
  verify(checklist).check_off(starts_with("WHY"), anything, anything)
125
-
126
122
  """
data/features/readme.md CHANGED
@@ -1,3 +1,14 @@
1
1
  # gimme
2
2
 
3
- Gimme is a test double library designed to help you write isolated unit specs for your Ruby code.
3
+ Gimme is a test double library designed to help you write isolated unit specs for your Ruby code.
4
+
5
+ Here are a few examples:
6
+
7
+ * [Basic usage](https://www.relishapp.com/searls/gimme/docs/basic-usage)
8
+ * [Argument matchers](https://www.relishapp.com/searls/gimme/docs/argument-matchers) (and argument captors)
9
+ * [Stubbing and verifying class methods](https://www.relishapp.com/searls/gimme/docs/class-methods)
10
+
11
+ Todo:
12
+
13
+ * Overriding method existence checks with ! (e.g. `give!()` or `verify!()`)
14
+ * Stubbing the next `new`'ing of a type (e.g. `gimme_next(Dog)` )
data/gimme.gemspec CHANGED
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{gimme}
8
- s.version = "0.3.1"
7
+ s.name = "gimme"
8
+ s.version = "0.3.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{Justin Searls}]
12
- s.date = %q{2012-03-03}
13
- s.description = %q{gimme attempts to bring to Ruby a test double workflow akin to Mockito in Java. Major distinctions include preserving arrange-act-assert in tests, fast feedback for methods the double's real counterpart may not know how to respond to, no string/symbolic representations of methods, argument captors, and strong opinions (weakly held). }
14
- s.email = %q{searls@gmail.com}
11
+ s.authors = ["Justin Searls"]
12
+ s.date = "2012-03-31"
13
+ s.description = "gimme attempts to bring to Ruby a test double workflow akin to Mockito in Java. Major distinctions include preserving arrange-act-assert in tests, fast feedback for methods the double's real counterpart may not know how to respond to, no string/symbolic representations of methods, argument captors, and strong opinions (weakly held). "
14
+ s.email = "searls@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.markdown",
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
29
29
  "Rakefile",
30
30
  "VERSION",
31
31
  "features/basics.feature",
32
+ "features/class_methods.feature",
32
33
  "features/matchers.feature",
33
34
  "features/old/argument_captors.feature",
34
35
  "features/old/gimme_next.feature",
@@ -82,27 +83,11 @@ Gem::Specification.new do |s|
82
83
  "spec/gimme/verifies_spec.rb",
83
84
  "spec/spec_helper.rb"
84
85
  ]
85
- s.homepage = %q{http://github.com/searls/gimme}
86
- s.licenses = [%q{MIT}]
87
- s.require_paths = [%q{lib}]
88
- s.rubygems_version = %q{1.8.6}
89
- s.summary = %q{gimme — a low-specification test double library for Ruby}
90
- s.test_files = [
91
- "spec/gimme/captor_spec.rb",
92
- "spec/gimme/errors_spec.rb",
93
- "spec/gimme/gives_class_methods_spec.rb",
94
- "spec/gimme/gives_spec.rb",
95
- "spec/gimme/matchers_spec.rb",
96
- "spec/gimme/resolves_methods_spec.rb",
97
- "spec/gimme/rspec_adapter_spec.rb",
98
- "spec/gimme/shared_examples/shared_gives_examples.rb",
99
- "spec/gimme/shared_examples/shared_verifies_examples.rb",
100
- "spec/gimme/spies_on_class_method_spec.rb",
101
- "spec/gimme/test_double_spec.rb",
102
- "spec/gimme/verifies_class_methods_spec.rb",
103
- "spec/gimme/verifies_spec.rb",
104
- "spec/spec_helper.rb"
105
- ]
86
+ s.homepage = "http://github.com/searls/gimme"
87
+ s.licenses = ["MIT"]
88
+ s.require_paths = ["lib"]
89
+ s.rubygems_version = "1.8.10"
90
+ s.summary = "gimme \342\200\224\302\240a low-specification test double library for Ruby"
106
91
 
107
92
  if s.respond_to? :specification_version then
108
93
  s.specification_version = 3
@@ -110,7 +95,7 @@ Gem::Specification.new do |s|
110
95
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
111
96
  s.add_development_dependency(%q<pry>, [">= 0"])
112
97
  s.add_development_dependency(%q<rdoc>, [">= 0"])
113
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
98
+ s.add_development_dependency(%q<rake>, [">= 0"])
114
99
  s.add_development_dependency(%q<rspec>, [">= 0"])
115
100
  s.add_development_dependency(%q<rspec-given>, [">= 0"])
116
101
  s.add_development_dependency(%q<cucumber>, [">= 0"])
@@ -124,7 +109,7 @@ Gem::Specification.new do |s|
124
109
  else
125
110
  s.add_dependency(%q<pry>, [">= 0"])
126
111
  s.add_dependency(%q<rdoc>, [">= 0"])
127
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
112
+ s.add_dependency(%q<rake>, [">= 0"])
128
113
  s.add_dependency(%q<rspec>, [">= 0"])
129
114
  s.add_dependency(%q<rspec-given>, [">= 0"])
130
115
  s.add_dependency(%q<cucumber>, [">= 0"])
@@ -139,7 +124,7 @@ Gem::Specification.new do |s|
139
124
  else
140
125
  s.add_dependency(%q<pry>, [">= 0"])
141
126
  s.add_dependency(%q<rdoc>, [">= 0"])
142
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
127
+ s.add_dependency(%q<rake>, [">= 0"])
143
128
  s.add_dependency(%q<rspec>, [">= 0"])
144
129
  s.add_dependency(%q<rspec-given>, [">= 0"])
145
130
  s.add_dependency(%q<cucumber>, [">= 0"])
data/lib/gimme/reset.rb CHANGED
@@ -11,11 +11,7 @@ module Gimme
11
11
  end
12
12
 
13
13
  def self.reset
14
- @@stuff_to_do_on_reset.delete_if do |stuff|
15
- stuff.call
16
- end
17
- @@stuff_to_do_on_every_reset.each do |stuff|
18
- stuff.call
19
- end
14
+ @@stuff_to_do_on_reset.delete_if { |stuff| stuff.call || true }
15
+ @@stuff_to_do_on_every_reset.each { |stuff| stuff.call }
20
16
  end
21
17
  end
metadata CHANGED
@@ -1,172 +1,219 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gimme
3
- version: !ruby/object:Gem::Version
4
- version: 0.3.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 2
10
+ version: 0.3.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Justin Searls
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-03-03 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: pry
16
- requirement: &890335710 !ruby/object:Gem::Requirement
17
+
18
+ date: 2012-03-31 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
22
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 3
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ requirement: *id001
31
+ prerelease: false
32
+ name: pry
22
33
  type: :development
34
+ - !ruby/object:Gem::Dependency
35
+ version_requirements: &id002 !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ hash: 3
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ requirement: *id002
23
45
  prerelease: false
24
- version_requirements: *890335710
25
- - !ruby/object:Gem::Dependency
26
46
  name: rdoc
27
- requirement: &890335450 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
33
47
  type: :development
34
- prerelease: false
35
- version_requirements: *890335450
36
- - !ruby/object:Gem::Dependency
37
- name: jeweler
38
- requirement: &890335170 !ruby/object:Gem::Requirement
48
+ - !ruby/object:Gem::Dependency
49
+ version_requirements: &id003 !ruby/object:Gem::Requirement
39
50
  none: false
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- version: 1.5.2
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ hash: 3
55
+ segments:
56
+ - 0
57
+ version: "0"
58
+ requirement: *id003
59
+ prerelease: false
60
+ name: rake
44
61
  type: :development
62
+ - !ruby/object:Gem::Dependency
63
+ version_requirements: &id004 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ hash: 3
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ requirement: *id004
45
73
  prerelease: false
46
- version_requirements: *890335170
47
- - !ruby/object:Gem::Dependency
48
74
  name: rspec
49
- requirement: &890334920 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
75
  type: :development
76
+ - !ruby/object:Gem::Dependency
77
+ version_requirements: &id005 !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ hash: 3
83
+ segments:
84
+ - 0
85
+ version: "0"
86
+ requirement: *id005
56
87
  prerelease: false
57
- version_requirements: *890334920
58
- - !ruby/object:Gem::Dependency
59
88
  name: rspec-given
60
- requirement: &890334650 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
66
89
  type: :development
90
+ - !ruby/object:Gem::Dependency
91
+ version_requirements: &id006 !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ hash: 3
97
+ segments:
98
+ - 0
99
+ version: "0"
100
+ requirement: *id006
67
101
  prerelease: false
68
- version_requirements: *890334650
69
- - !ruby/object:Gem::Dependency
70
102
  name: cucumber
71
- requirement: &890334380 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - ! '>='
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
103
  type: :development
104
+ - !ruby/object:Gem::Dependency
105
+ version_requirements: &id007 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ hash: 3
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ requirement: *id007
78
115
  prerelease: false
79
- version_requirements: *890334380
80
- - !ruby/object:Gem::Dependency
81
116
  name: simplecov
82
- requirement: &890334130 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
88
117
  type: :development
118
+ - !ruby/object:Gem::Dependency
119
+ version_requirements: &id008 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
127
+ version: "0"
128
+ requirement: *id008
89
129
  prerelease: false
90
- version_requirements: *890334130
91
- - !ruby/object:Gem::Dependency
92
130
  name: guard-cucumber
93
- requirement: &890333880 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
99
131
  type: :development
132
+ - !ruby/object:Gem::Dependency
133
+ version_requirements: &id009 !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ hash: 3
139
+ segments:
140
+ - 0
141
+ version: "0"
142
+ requirement: *id009
100
143
  prerelease: false
101
- version_requirements: *890333880
102
- - !ruby/object:Gem::Dependency
103
144
  name: guard-rspec
104
- requirement: &890333610 !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
145
  type: :development
146
+ - !ruby/object:Gem::Dependency
147
+ version_requirements: &id010 !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ hash: 3
153
+ segments:
154
+ - 0
155
+ version: "0"
156
+ requirement: *id010
111
157
  prerelease: false
112
- version_requirements: *890333610
113
- - !ruby/object:Gem::Dependency
114
158
  name: growl
115
- requirement: &890333370 !ruby/object:Gem::Requirement
116
- none: false
117
- requirements:
118
- - - ! '>='
119
- - !ruby/object:Gem::Version
120
- version: '0'
121
159
  type: :development
160
+ - !ruby/object:Gem::Dependency
161
+ version_requirements: &id011 !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ hash: 3
167
+ segments:
168
+ - 0
169
+ version: "0"
170
+ requirement: *id011
122
171
  prerelease: false
123
- version_requirements: *890333370
124
- - !ruby/object:Gem::Dependency
125
172
  name: rb-fsevent
126
- requirement: &890333130 !ruby/object:Gem::Requirement
127
- none: false
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
173
  type: :development
133
- prerelease: false
134
- version_requirements: *890333130
135
- - !ruby/object:Gem::Dependency
136
- name: rspec
137
- requirement: &890332880 !ruby/object:Gem::Requirement
174
+ - !ruby/object:Gem::Dependency
175
+ version_requirements: &id012 !ruby/object:Gem::Requirement
138
176
  none: false
139
- requirements:
140
- - - ! '>='
141
- - !ruby/object:Gem::Version
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ hash: 25
181
+ segments:
182
+ - 1
183
+ - 3
184
+ - 1
142
185
  version: 1.3.1
143
- type: :development
186
+ requirement: *id012
144
187
  prerelease: false
145
- version_requirements: *890332880
146
- - !ruby/object:Gem::Dependency
147
- name: cucumber
148
- requirement: &890332640 !ruby/object:Gem::Requirement
188
+ name: rspec
189
+ type: :development
190
+ - !ruby/object:Gem::Dependency
191
+ version_requirements: &id013 !ruby/object:Gem::Requirement
149
192
  none: false
150
- requirements:
151
- - - ! '>='
152
- - !ruby/object:Gem::Version
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ hash: 55
197
+ segments:
198
+ - 0
199
+ - 10
200
+ - 0
153
201
  version: 0.10.0
154
- type: :development
202
+ requirement: *id013
155
203
  prerelease: false
156
- version_requirements: *890332640
157
- description: ! 'gimme attempts to bring to Ruby a test double workflow akin to Mockito
158
- in Java. Major distinctions include preserving arrange-act-assert in tests, fast
159
- feedback for methods the double''s real counterpart may not know how to respond
160
- to, no string/symbolic representations of methods, argument captors, and strong
161
- opinions (weakly held). '
204
+ name: cucumber
205
+ type: :development
206
+ description: "gimme attempts to bring to Ruby a test double workflow akin to Mockito in Java. Major distinctions include preserving arrange-act-assert in tests, fast feedback for methods the double's real counterpart may not know how to respond to, no string/symbolic representations of methods, argument captors, and strong opinions (weakly held). "
162
207
  email: searls@gmail.com
163
208
  executables: []
209
+
164
210
  extensions: []
165
- extra_rdoc_files:
211
+
212
+ extra_rdoc_files:
166
213
  - LICENSE.txt
167
214
  - README.markdown
168
215
  - README.rdoc
169
- files:
216
+ files:
170
217
  - .document
171
218
  - .travis.yml
172
219
  - Gemfile
@@ -178,6 +225,7 @@ files:
178
225
  - Rakefile
179
226
  - VERSION
180
227
  - features/basics.feature
228
+ - features/class_methods.feature
181
229
  - features/matchers.feature
182
230
  - features/old/argument_captors.feature
183
231
  - features/old/gimme_next.feature
@@ -231,45 +279,37 @@ files:
231
279
  - spec/gimme/verifies_spec.rb
232
280
  - spec/spec_helper.rb
233
281
  homepage: http://github.com/searls/gimme
234
- licenses:
282
+ licenses:
235
283
  - MIT
236
284
  post_install_message:
237
285
  rdoc_options: []
238
- require_paths:
286
+
287
+ require_paths:
239
288
  - lib
240
- required_ruby_version: !ruby/object:Gem::Requirement
289
+ required_ruby_version: !ruby/object:Gem::Requirement
241
290
  none: false
242
- requirements:
243
- - - ! '>='
244
- - !ruby/object:Gem::Version
245
- version: '0'
246
- segments:
291
+ requirements:
292
+ - - ">="
293
+ - !ruby/object:Gem::Version
294
+ hash: 3
295
+ segments:
247
296
  - 0
248
- hash: 5661585
249
- required_rubygems_version: !ruby/object:Gem::Requirement
297
+ version: "0"
298
+ required_rubygems_version: !ruby/object:Gem::Requirement
250
299
  none: false
251
- requirements:
252
- - - ! '>='
253
- - !ruby/object:Gem::Version
254
- version: '0'
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ hash: 3
304
+ segments:
305
+ - 0
306
+ version: "0"
255
307
  requirements: []
308
+
256
309
  rubyforge_project:
257
- rubygems_version: 1.8.6
310
+ rubygems_version: 1.8.10
258
311
  signing_key:
259
312
  specification_version: 3
260
- summary: gimme — a low-specification test double library for Ruby
261
- test_files:
262
- - spec/gimme/captor_spec.rb
263
- - spec/gimme/errors_spec.rb
264
- - spec/gimme/gives_class_methods_spec.rb
265
- - spec/gimme/gives_spec.rb
266
- - spec/gimme/matchers_spec.rb
267
- - spec/gimme/resolves_methods_spec.rb
268
- - spec/gimme/rspec_adapter_spec.rb
269
- - spec/gimme/shared_examples/shared_gives_examples.rb
270
- - spec/gimme/shared_examples/shared_verifies_examples.rb
271
- - spec/gimme/spies_on_class_method_spec.rb
272
- - spec/gimme/test_double_spec.rb
273
- - spec/gimme/verifies_class_methods_spec.rb
274
- - spec/gimme/verifies_spec.rb
275
- - spec/spec_helper.rb
313
+ summary: "gimme \xE2\x80\x94\xC2\xA0a low-specification test double library for Ruby"
314
+ test_files: []
315
+