method_man 2.1.3 → 2.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/method_object/version.rb +1 -1
- data/lib/method_object.rb +14 -6
- data/spec/method_man_spec.rb +6 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81b47336f9cc1310f47c3c8b1bcdac7710594f81
|
4
|
+
data.tar.gz: 36486a9aee423f69cb5e405a046c2ab5f31dd34e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ebe52a266f21791980166006d113ea8e2fafadf26780075fed51f48996e82b8cc207d0d7e2e0b7449a4ec11b9e28138b84a101f7f930e367b6120a71a8ddddd
|
7
|
+
data.tar.gz: b7470917710d58ac6002e5868ea97a824c841b248dae462afaf0b40a9acc1b7335b58121464c363dd5d1be5ede93fd7c156e1c30db3b87dcb13f41ceff8185cb
|
data/CHANGELOG.md
CHANGED
data/lib/method_object.rb
CHANGED
@@ -66,12 +66,20 @@ class MethodObject
|
|
66
66
|
|
67
67
|
def define_delegated_method(delegate)
|
68
68
|
self.class.class_eval(
|
69
|
-
|
70
|
-
|
71
|
-
#{delegate.
|
72
|
-
.#{delegate.method_to_call_on_delegate}(
|
73
|
-
|
74
|
-
|
69
|
+
if delegate.method_to_call_on_delegate.to_s.end_with?('=')
|
70
|
+
<<-RUBY
|
71
|
+
def #{delegate.delegated_method}(arg)
|
72
|
+
#{delegate.attribute}.#{delegate.method_to_call_on_delegate}(arg)
|
73
|
+
end
|
74
|
+
RUBY
|
75
|
+
else
|
76
|
+
<<-RUBY
|
77
|
+
def #{delegate.delegated_method}(*args, &block)
|
78
|
+
#{delegate.attribute}
|
79
|
+
.#{delegate.method_to_call_on_delegate}(*args, &block)
|
80
|
+
end
|
81
|
+
RUBY
|
82
|
+
end
|
75
83
|
)
|
76
84
|
end
|
77
85
|
|
data/spec/method_man_spec.rb
CHANGED
@@ -25,6 +25,8 @@ RSpec.describe(MethodObject) do
|
|
25
25
|
attrs(:company, :user)
|
26
26
|
|
27
27
|
def call
|
28
|
+
self.name = 'New Company Name'
|
29
|
+
self.company_name = 'New Company Name 2'
|
28
30
|
{
|
29
31
|
address: address,
|
30
32
|
respond_to_address: respond_to_missing?(:address),
|
@@ -58,10 +60,11 @@ RSpec.describe(MethodObject) do
|
|
58
60
|
let(:company_name) { 'Periscope Data' }
|
59
61
|
let(:user) { double('user', name: user_name) }
|
60
62
|
let(:user_name) { 'Woody' }
|
61
|
-
|
62
63
|
let(:result) { subject.call(company: company, user: user) }
|
63
64
|
|
64
65
|
specify do
|
66
|
+
expect(company).to receive(:name=).ordered.with('New Company Name')
|
67
|
+
expect(company).to receive(:name=).ordered.with('New Company Name 2')
|
65
68
|
expect(result).to eq(
|
66
69
|
address: company_address,
|
67
70
|
respond_to_address: true,
|
@@ -173,7 +176,8 @@ RSpec.describe(MethodObject) do
|
|
173
176
|
end
|
174
177
|
|
175
178
|
specify do
|
176
|
-
expect(subject.call(company: company))
|
179
|
+
expect(subject.call(company: company))
|
180
|
+
.to eq([company_name, company_name])
|
177
181
|
end
|
178
182
|
end
|
179
183
|
end
|