bzproxies 0.1.7 → 0.1.8

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.
@@ -44,7 +44,7 @@ module Proxies
44
44
  end
45
45
 
46
46
  def initialize *args
47
- @target = args.first
47
+ __setobj__(args.first)
48
48
  @proxies = []
49
49
  if (args.last.kind_of?(::Hash) && (args.length > 1))
50
50
  @proxies << args.last[:proxy] << args.last[:proxies]
@@ -60,7 +60,10 @@ module Proxies
60
60
  self.target
61
61
  end
62
62
 
63
-
63
+ def __setobj__ value
64
+ @target = value
65
+ end
66
+
64
67
  def method_missing m, *args, &block
65
68
  __getobj__.__send__ m, *args, &block
66
69
  end
@@ -1,3 +1,3 @@
1
1
  module Bzproxies
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
data/spec/base_spec.rb CHANGED
@@ -121,6 +121,11 @@ describe Proxies::Base do
121
121
  end
122
122
  end
123
123
 
124
+
125
+ it "should correctly use __setobj__" do
126
+ Inherited.new({:a=>1}).class.should == Hash
127
+ OverrideSetobj.new({:a=>1}).class.should == String
128
+ end
124
129
 
125
130
 
126
131
  end
@@ -11,3 +11,9 @@ class Tester < Proxy
11
11
  @target[:test]
12
12
  end
13
13
  end
14
+
15
+ class OverrideSetobj < Proxy
16
+ def __setobj__ value
17
+ @target = value.inspect
18
+ end
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bzproxies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-14 00:00:00.000000000 Z
12
+ date: 2012-12-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler