light_operations 0.0.8 → 0.0.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 300fd25aaa9f8a3883fe4e55219329c8d00f029c
4
- data.tar.gz: 756acce1ac950f4c6d7b3f73bbb873ac1fc0ce20
3
+ metadata.gz: daff2324f298c8c3565ac162ad4f898b46a67444
4
+ data.tar.gz: c29a35d3bb49d0f939dd0ceda12d7199bf818af4
5
5
  SHA512:
6
- metadata.gz: 11148d39c37a1e9eef7d7be388a4c43a0ac685ff0ac121ef9919a5be66975b469ef0911f85456d9ac3f9c69dcd487ba5fcb776b644f857377bd4bfeb0640a8fe
7
- data.tar.gz: dfaaa48d2ebb1104a0bd503b4b894ee45d8f516ee73fc7e7fe4963a5d706cf4ecebb3eea74f590d9566b3944301a034de9adcc22656b814f859f67cb529cdf51
6
+ metadata.gz: e49fc15fc00e7a754d7cbcf9d1b42543b01ab1233916e57af9238453de7f222e55d7d515d49b6bebaa15f00856a773fb46f2fe728f4d203ee86e460d0ecfa377
7
+ data.tar.gz: 75f5551894d511923473fd6644c836510586b1a74f0bfdcb0b04e22da3b8127493146102deb57b7d7d7714d1c3e6dd4751b47b843d62b040ee40e919be9a7ea7
@@ -102,7 +102,7 @@ module LightOperations
102
102
  action.call(subject, errors) if action.is_a?(Proc)
103
103
  end
104
104
 
105
- def fail!(fail_obj = [])
105
+ def fail!(fail_obj = true)
106
106
  @errors = nil
107
107
  @fail_errors = fail_obj
108
108
  end
@@ -1,3 +1,3 @@
1
1
  module LightOperations
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: light_operations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pawel Niemczyk
@@ -154,7 +154,6 @@ files:
154
154
  - Rakefile
155
155
  - lib/light_operations.rb
156
156
  - lib/light_operations/core.rb
157
- - lib/light_operations/crud_core.rb
158
157
  - lib/light_operations/version.rb
159
158
  - light_operations.gemspec
160
159
  - spec/lib/core_spec.rb
@@ -1,124 +0,0 @@
1
- require 'active_support'
2
-
3
- module CrudOperations
4
- class Core
5
- include ::ActiveSupport::Rescuable
6
- MissingDependency = Class.new(StandardError)
7
-
8
- attr_reader :dependencies, :bind_object, :subject
9
-
10
- def initialize(dependencies = {})
11
- @dependencies = dependencies
12
- end
13
-
14
- # do no.t override this method
15
- def run(params = {})
16
- clear_subject_with_errors!
17
- @subject = execute(params)
18
- execute_actions
19
- self
20
- rescue => exception
21
- rescue_with_handler(exception) || raise
22
- self
23
- end
24
-
25
- def on_success(binded_method = nil, &block)
26
- actions[:success] = binded_method || block
27
- self
28
- end
29
-
30
- def on_fail(binded_method = nil, &block)
31
- actions[:fail] = binded_method || block
32
- self
33
- end
34
-
35
- def on(actions_with_responses = {})
36
- actions_assign(actions_with_responses, :success, :fail)
37
- self
38
- end
39
-
40
- def clear!
41
- clear_actions!
42
- unbind!
43
- clear_subject_with_errors!
44
- self
45
- end
46
-
47
- def unbind!
48
- @bind_object = nil
49
- self
50
- end
51
-
52
- def clear_subject_with_errors!
53
- @subject, @fail_errors, @errors = nil, nil, nil
54
- self
55
- end
56
-
57
- def clear_actions!
58
- @actions = {}
59
- self
60
- end
61
-
62
- def bind_with(bind_object)
63
- @bind_object = bind_object
64
- self
65
- end
66
-
67
- def errors
68
- @errors ||= fail_errors || (subject.respond_to?(:errors) ? subject.errors : [])
69
- end
70
-
71
- def fail?
72
- !success?
73
- end
74
-
75
- def success?
76
- errors.respond_to?(:empty?) ? errors.empty? : !errors
77
- end
78
-
79
- protected
80
-
81
- attr_reader :fail_errors
82
-
83
- def actions_assign(hash, *keys)
84
- keys.each { |key| actions[key] = hash[key] if hash.key?(key) }
85
- end
86
-
87
- def execute_actions
88
- success? ? execute_success_action : execute_fail_action
89
- end
90
-
91
- def execute_success_action
92
- return unless actions.key?(:success)
93
- action = actions[:success]
94
- bind_object.send(action, subject) if action.is_a?(Symbol) && bind_object
95
- action.call(subject) if action.is_a?(Proc)
96
- end
97
-
98
- def execute_fail_action
99
- return unless actions.key?(:fail)
100
- action = actions[:fail]
101
- bind_object.send(action, subject, errors) if action.is_a?(Symbol) && bind_object
102
- action.call(subject, errors) if action.is_a?(Proc)
103
- end
104
-
105
- def fail!(errors = [])
106
- @errors = nil
107
- @fail_errors = errors
108
- end
109
-
110
- def actions
111
- @actions ||= {}
112
- end
113
-
114
- def execute(_params = {})
115
- fail 'Not implemented yet'
116
- end
117
-
118
- def dependency(name)
119
- dependencies.fetch(name)
120
- rescue KeyError => e
121
- raise MissingDependency, e.message
122
- end
123
- end
124
- end