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 CHANGED
@@ -14,8 +14,8 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.rubyforge_project = "bzproxies"
16
16
 
17
- s.add_runtime_dependency "bundler", "~> 1.0"
18
- s.add_development_dependency "rspec", "~> 2.6"
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")
@@ -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
- args.pop if (args.last.keys - [:proxy, :proxies]).empty?
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!
@@ -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
- proxies << opts[:proxy] << opts[:proxies]
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")
@@ -1,3 +1,3 @@
1
1
  module Bzproxies
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -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
@@ -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
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-09-28 00:00:00.000000000 Z
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.0'
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.0'
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.6'
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.6'
45
+ version: '2'
46
46
  description: collection of reusable proxies and accessors and etc.
47
47
  email: !binary |-
48
48
  Ym9tYmF6b29rQGdtYWlsLmNvbQ==