performify 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/performify/base.rb +14 -8
- data/lib/performify/callbacks.rb +1 -1
- data/lib/performify/validation.rb +1 -1
- data/lib/performify/version.rb +1 -1
- 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: 367bfe01f77286f482805897593ecc737774a018
|
4
|
+
data.tar.gz: 2c3c2ea399f9ada30d3bea8816fea838e0808dde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a2447ad50e473e7d49c49c94f633d0f269286a5aaa96e502d8e184491dc3281ac40cfd89037abd6904291f7a8e138c8e7df3aae4c6317fd854bcb92420f3be7
|
7
|
+
data.tar.gz: e850cd17689446b5ba68e58d91829b46896370a8976c83439d7a3596c07a60098af758d3659fe924bbfe274e8427a6b65936bdc63eb6acf4ef8875eb5a888558
|
data/lib/performify/base.rb
CHANGED
@@ -7,17 +7,13 @@ module Performify
|
|
7
7
|
extend Performify::Validation
|
8
8
|
|
9
9
|
attr_reader :current_user
|
10
|
+
attr_reader :args
|
10
11
|
|
11
12
|
def initialize(current_user = nil, **args)
|
12
13
|
@current_user = current_user
|
14
|
+
@args = args
|
13
15
|
|
14
|
-
|
15
|
-
return if defined?(@result)
|
16
|
-
super(&block)
|
17
|
-
end
|
18
|
-
|
19
|
-
validate(args)
|
20
|
-
define_singleton_methods(args)
|
16
|
+
prepare_instance
|
21
17
|
|
22
18
|
fail!(with_callbacks: true) if errors?
|
23
19
|
end
|
@@ -73,7 +69,17 @@ module Performify
|
|
73
69
|
@result.blank?
|
74
70
|
end
|
75
71
|
|
76
|
-
private def
|
72
|
+
private def prepare_instance
|
73
|
+
define_singleton_method(:execute!) do |&block|
|
74
|
+
return if defined?(@result)
|
75
|
+
super(&block)
|
76
|
+
end
|
77
|
+
|
78
|
+
validate
|
79
|
+
define_singleton_methods
|
80
|
+
end
|
81
|
+
|
82
|
+
private def define_singleton_methods
|
77
83
|
param_names = schema ? schema.rules.keys : args.keys
|
78
84
|
param_names.each do |param_name|
|
79
85
|
define_singleton_method(param_name) { args[param_name] }
|
data/lib/performify/callbacks.rb
CHANGED
@@ -24,7 +24,7 @@ module Performify
|
|
24
24
|
raise UnknownTypeOfCallbackError, "Type #{type_of_callback} is not allowed"
|
25
25
|
end
|
26
26
|
cbs = (@service_callbacks || {}).fetch(type_of_callback, [])
|
27
|
-
cbs.each { |cb| instance.instance_eval(&cb) }
|
27
|
+
cbs.each { |cb| cb.is_a?(Proc) ? instance.instance_eval(&cb) : instance.send(cb) }
|
28
28
|
nil
|
29
29
|
end
|
30
30
|
|
data/lib/performify/version.rb
CHANGED