bzproxies 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/bzproxies.gemspec +2 -2
- data/lib/bzproxies/base.rb +2 -1
- data/lib/bzproxies/owner.rb +6 -2
- data/lib/bzproxies/version.rb +1 -1
- data/spec/accessors_spec.rb +6 -0
- data/spec/fixtures/accessors.rb +10 -0
- metadata +6 -6
data/bzproxies.gemspec
CHANGED
@@ -14,8 +14,8 @@ Gem::Specification.new do |s|
|
|
14
14
|
|
15
15
|
s.rubyforge_project = "bzproxies"
|
16
16
|
|
17
|
-
s.
|
18
|
-
s.add_development_dependency "rspec", "~> 2
|
17
|
+
s.add_dependency "bundler", "~> 1"
|
18
|
+
s.add_development_dependency "rspec", "~> 2"
|
19
19
|
|
20
20
|
s.files = `git ls-files`.split("\n")
|
21
21
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
data/lib/bzproxies/base.rb
CHANGED
@@ -48,7 +48,8 @@ module Proxies
|
|
48
48
|
@proxies = []
|
49
49
|
if (args.last.kind_of?(::Hash) && (args.length > 1))
|
50
50
|
@proxies << args.last[:proxy] << args.last[:proxies]
|
51
|
-
|
51
|
+
@options = args.last[:options]
|
52
|
+
args.pop if (args.last.keys - [:proxy, :proxies, :options]).empty?
|
52
53
|
end
|
53
54
|
|
54
55
|
@proxies.flatten!
|
data/lib/bzproxies/owner.rb
CHANGED
@@ -13,7 +13,11 @@ module Proxies
|
|
13
13
|
proxies = []
|
14
14
|
if (args.last.kind_of?(::Hash) && (args.length > 1))
|
15
15
|
opts = args.pop
|
16
|
-
|
16
|
+
p1 = opts.delete(:proxy)
|
17
|
+
p2 = opts.delete(:proxies)
|
18
|
+
proxies << p1 if p1
|
19
|
+
proxies << p2 if p2
|
20
|
+
options ||= opts
|
17
21
|
end
|
18
22
|
proxies.flatten!
|
19
23
|
proxies.compact!
|
@@ -30,7 +34,7 @@ module Proxies
|
|
30
34
|
if v.respond_to? :stub?
|
31
35
|
val = v
|
32
36
|
else
|
33
|
-
val = proxy.send :new, v, :proxies => proxies
|
37
|
+
val = proxy.send :new, v, :proxies => proxies, :options => options
|
34
38
|
end
|
35
39
|
#instance_exec(val){|x| instance_eval("@#{name} = x")}
|
36
40
|
instance_eval("@#{name} = val")
|
data/lib/bzproxies/version.rb
CHANGED
data/spec/accessors_spec.rb
CHANGED
@@ -84,5 +84,11 @@ describe Proxies::Owner::Accessors do
|
|
84
84
|
owner.children = [1,2,owner]
|
85
85
|
owner.children.should each_respond_to :check
|
86
86
|
end
|
87
|
+
|
88
|
+
it "accepts other options for proxy" do
|
89
|
+
owner = Ex6.new
|
90
|
+
owner.test = "test"
|
91
|
+
owner.test.options.should == {:rumbabumba => "trololo"}
|
92
|
+
end
|
87
93
|
|
88
94
|
end
|
data/spec/fixtures/accessors.rb
CHANGED
@@ -26,6 +26,12 @@ class MyProxy2 < Proxy
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
+
class MyProxy3 < Proxy
|
30
|
+
def options
|
31
|
+
@options
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
29
35
|
class Ex3
|
30
36
|
proxy_accessor :test1, :proxy => MyProxy1
|
31
37
|
proxy_accessor :test2, :proxy => MyProxy2
|
@@ -38,4 +44,8 @@ end
|
|
38
44
|
|
39
45
|
class Ex5
|
40
46
|
proxy_accessor :children, :proxies => [ArrayProxy, MyProxy1]
|
47
|
+
end
|
48
|
+
|
49
|
+
class Ex6
|
50
|
+
proxy_accessor :test, :proxy => MyProxy3, :rumbabumba => "trololo"
|
41
51
|
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.
|
4
|
+
version: 0.1.5
|
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-
|
12
|
+
date: 2012-11-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '1
|
21
|
+
version: '1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1
|
29
|
+
version: '1'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: rspec
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: '2
|
37
|
+
version: '2'
|
38
38
|
type: :development
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: '2
|
45
|
+
version: '2'
|
46
46
|
description: collection of reusable proxies and accessors and etc.
|
47
47
|
email: !binary |-
|
48
48
|
Ym9tYmF6b29rQGdtYWlsLmNvbQ==
|