developwithpassion_fakes 0.0.6 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: developwithpassion_fakes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-03-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec-core
16
- requirement: &70305150924500 !ruby/object:Gem::Requirement
16
+ requirement: &70351808026040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70305150924500
24
+ version_requirements: *70351808026040
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec-expectations
27
- requirement: &70305150924040 !ruby/object:Gem::Requirement
27
+ requirement: &70351808025520 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70305150924040
35
+ version_requirements: *70351808025520
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70305150923580 !ruby/object:Gem::Requirement
38
+ requirement: &70351808025040 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70305150923580
46
+ version_requirements: *70351808025040
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: guard
49
- requirement: &70305150923140 !ruby/object:Gem::Requirement
49
+ requirement: &70351808024600 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70305150923140
57
+ version_requirements: *70351808024600
58
58
  description: Faking library that allows inspection of received calls after they have
59
59
  been made. Also supports tracking calls with multiple argument sets.
60
60
  email:
@@ -69,14 +69,6 @@ files:
69
69
  - Guardfile
70
70
  - README.md
71
71
  - Rakefile
72
- - developwithpassion_fakes.gemspec
73
- - lib/developwithpassion_fakes.rb
74
- - lib/developwithpassion_fakes/arg_behaviour.rb
75
- - lib/developwithpassion_fakes/arg_set.rb
76
- - lib/developwithpassion_fakes/fake.rb
77
- - lib/developwithpassion_fakes/ignore_set.rb
78
- - lib/developwithpassion_fakes/method_stub.rb
79
- - lib/developwithpassion_fakes/version.rb
80
72
  - spec/spec_helper.rb
81
73
  - spec/specs/arg_behaviour_spec.rb
82
74
  - spec/specs/arg_set_spec.rb
@@ -1,27 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib",__FILE__)
3
- require "developwithpassion_fakes/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "developwithpassion_fakes"
7
- s.version = DevelopWithPassion::Fakes::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ["Develop With Passion®"]
10
- s.email = ["open_source@developwithpassion.com"]
11
- s.homepage = "http://www.developwithpassion.com"
12
- s.summary = %q{Simple faking library}
13
- s.description = %q{Faking library that allows inspection of received calls after they have been made. Also supports tracking calls with multiple argument sets.}
14
- s.rubyforge_project = "developwithpassion_fakes"
15
-
16
- s.files = `git ls-files`.split("\n")
17
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib"]
20
-
21
- # specify any dependencies here; for example:
22
- s.add_development_dependency "rspec-core"
23
- s.add_development_dependency "rspec-expectations"
24
- s.add_development_dependency "rake"
25
- s.add_development_dependency "guard"
26
- # s.add_runtime_dependency "rest-client"
27
- end
@@ -1,24 +0,0 @@
1
- module DevelopWithPassion
2
- module Fakes
3
- module ArgBehaviour
4
- attr_accessor :return_value,:times_called
5
-
6
- def and_return(item)
7
- @return_value = item
8
- end
9
-
10
- def capture_args(args)
11
- @times_called += 1
12
- @called_args = args
13
- end
14
-
15
- def matches?(args)
16
- return @args == args
17
- end
18
-
19
- def was_called_with?(args)
20
- return @called_args == args
21
- end
22
- end
23
- end
24
- end
@@ -1,12 +0,0 @@
1
- module DevelopWithPassion
2
- module Fakes
3
- class ArgSet
4
- include ArgBehaviour
5
-
6
- def initialize(args)
7
- @args = args
8
- @times_called = 0
9
- end
10
- end
11
- end
12
- end
@@ -1,31 +0,0 @@
1
- module DevelopWithPassion
2
- module Fakes
3
- class Fake
4
- def initialize(invocation_set = {})
5
- @method_invocations = invocation_set
6
- end
7
-
8
- def method_missing(name,*args,&block)
9
- return @method_invocations.has_key?(name.to_sym) ? @method_invocations[name.to_sym].invoke(args) : handle_unexpected_method_invocation(name,args,block)
10
- end
11
-
12
- def handle_unexpected_method_invocation(name,args,block)
13
- method = stub(name.to_sym)
14
- method.ignore_arg
15
- return method.invoke(args)
16
- end
17
-
18
- def stub(symbol)
19
- return @method_invocations[symbol] || @method_invocations[symbol] = MethodStub.new
20
- end
21
-
22
- def received(symbol)
23
- return @method_invocations[symbol]
24
- end
25
-
26
- def never_received?(symbol)
27
- return !@method_invocations.has_key?(symbol)
28
- end
29
- end
30
- end
31
- end
@@ -1,26 +0,0 @@
1
- module DevelopWithPassion
2
- module Fakes
3
- class IgnoreSet
4
- include ArgBehaviour
5
- attr_reader :arg_sets
6
-
7
- def initialize
8
- @times_called = 0
9
- @arg_sets = []
10
- end
11
-
12
- def matches?(args)
13
- return true
14
- end
15
-
16
- def capture_args(args)
17
- @times_called += 1
18
- @arg_sets << args
19
- end
20
-
21
- def was_called_with?(args)
22
- return @arg_sets.select{|set| set == args}.count > 0
23
- end
24
- end
25
- end
26
- end
@@ -1,42 +0,0 @@
1
- module DevelopWithPassion
2
- module Fakes
3
- class MethodStub
4
- def initialize(arg_sets = [])
5
- @arg_sets = arg_sets
6
- end
7
-
8
- def with(*args)
9
- return add_new_set(ArgSet.new(args))
10
- end
11
-
12
- def add_new_set(set)
13
- @arg_sets << set
14
- return set
15
- end
16
-
17
- def ignore_arg
18
- return add_new_set(IgnoreSet.new)
19
- end
20
-
21
- def and_return(item)
22
- ignore_arg.and_return(item)
23
- end
24
-
25
-
26
- def invoke(args)
27
- set = @arg_sets.find{|item| item.matches?(args)} || ignore_arg
28
- set.capture_args(args)
29
- return set.return_value
30
- end
31
-
32
- def called_with(*args)
33
- return @arg_sets.find{|item| item.was_called_with?(args)}
34
- end
35
-
36
- def times?(value)
37
- total = @arg_sets.inject(0){|sum,item|sum += item.times_called}
38
- return total == value
39
- end
40
- end
41
- end
42
- end
@@ -1,5 +0,0 @@
1
- module DevelopWithPassion
2
- module Fakes
3
- VERSION = "0.0.6"
4
- end
5
- end
@@ -1,11 +0,0 @@
1
- require 'developwithpassion_fakes/arg_behaviour'
2
- require 'developwithpassion_fakes/arg_set'
3
- require 'developwithpassion_fakes/fake'
4
- require 'developwithpassion_fakes/ignore_set'
5
- require 'developwithpassion_fakes/method_stub'
6
-
7
- module Kernel
8
- def fake
9
- return DevelopWithPassion::Fakes::Fake.new
10
- end
11
- end