service_factory 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module ServiceFactory
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -7,12 +7,21 @@ module ServiceFactory
7
7
  end
8
8
  module_function :register
9
9
 
10
- def self.method_missing(m, *args)
11
- if @blocks.include?(m)
12
- @blocks[m].call(*args)
13
- else
14
- super
10
+ class << self
11
+
12
+ def method_missing(m, *args)
13
+ if @blocks.include?(m)
14
+ @blocks[m].call(*args)
15
+ else
16
+ super
17
+ end
15
18
  end
19
+
20
+ def respond_to?(m)
21
+ @blocks.include?(m) || super(m)
22
+ end
23
+ alias public_method_defined? respond_to?
24
+
16
25
  end
17
26
 
18
27
  class Builder
@@ -98,4 +98,12 @@ describe ServiceFactory do
98
98
  end
99
99
  expect(ServiceFactory.sample_var).not_to eq("test2")
100
100
  end
101
+
102
+ it "responds to method name" do
103
+ ServiceFactory.register do
104
+ sample_var { "test" }
105
+ end
106
+ expect(ServiceFactory.respond_to?(:sample_var)).to be_truthy
107
+ expect(ServiceFactory.public_method_defined?(:sample_var)).to be_truthy
108
+ end
101
109
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: service_factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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: 2015-06-02 00:00:00.000000000 Z
12
+ date: 2016-07-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails