mock_lobster 0.7 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mock_lobster.rb +19 -4
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c64baa6dc25d834854c1e3ace6dd65810e9fd78b
4
- data.tar.gz: 9894d875adf471c6be24fa0ec3898a02a013d7aa
3
+ metadata.gz: 95938acbaa892a320c315a450cc7667595087273
4
+ data.tar.gz: ce63347d18343ca105072d92bd931fba0a152a58
5
5
  SHA512:
6
- metadata.gz: bbe8015a0b97aebc2b02065adc4b220a1f73db75824b18a2a0c9158eb94884ce8e7cd36592b2e4bf399c346b14247532153e5f0b731b7c639ea7da2f771e85da
7
- data.tar.gz: b9a6eb72faf31252512002833e7e9123f132490d33ba7e6682e9cf197e94c1a29f2c27771d13b01cb5100bed23aeb00ab4aeae17c051bcac98c68b35939b106a
6
+ metadata.gz: 24854008be720906f525354bf8331d04542563f974fa598860a9a679d8efad0501a873da5471e00c2b76199deaa5178428a23b1df8a8a44a2b1e319964f083e3
7
+ data.tar.gz: 57027b10f26592974d826dd5012a63e85650ad2bc7dd58d632d8cbd67aea8cb20192c205613caa657cde8261bf6f1bf96344d07be6b7762add401ae52834d936
data/lib/mock_lobster.rb CHANGED
@@ -5,14 +5,29 @@ class Object
5
5
  Mock.new(OpenStruct.new(method))
6
6
  end
7
7
 
8
- def stub(method)
9
- method.each_pair do |method_name, return_value|
10
- self.send(:define_singleton_method, method_name) do
11
- return return_value
8
+ def stubbify(hash)
9
+ index = 0
10
+ hash.each do |method_name, return_value|
11
+ if methods.include?(hash.to_a[index].first)
12
+ instance_variable_set("@copied_#{method_name}", method(hash.to_a[index].first))
13
+ index += 1
14
+ (@altered_methods ||= []) << method_name
12
15
  end
16
+ self.send(:define_singleton_method, method_name) { return_value }
13
17
  end
14
18
  end
15
19
 
20
+ def reset
21
+ modified_variables = instance_variables.select {|e| e.to_s if e.to_s.include?("copied")}
22
+ @altered_methods.each do |name|
23
+ self.send(:define_singleton_method, name) do
24
+ instance_variable_get("@copied_" + name.to_s).call
25
+ end
26
+ modified_variables.shift #
27
+ end
28
+ end
29
+
30
+
16
31
  def expect(method, param)
17
32
  Expectation.new(method, param, self)
18
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mock_lobster
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.7'
4
+ version: '0.8'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lev Kravinsky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-24 00:00:00.000000000 Z
11
+ date: 2015-07-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: see github.com/levthedev/mock_lobster for documentation
14
14
  email: kravinskylev@gmail.com