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 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==