bzproxies 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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