bzproxies 0.1.4 → 0.1.5
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.
- 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==
|