gimme 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+