snfoil 0.8.5 → 0.9.1
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 +4 -4
- data/lib/sn_foil/adapters/orms/active_record.rb +1 -1
- data/lib/sn_foil/adapters/orms/base_adapter.rb +1 -1
- data/lib/sn_foil/contexts/build_context.rb +3 -3
- data/lib/sn_foil/contexts/change_context.rb +1 -1
- data/lib/sn_foil/contexts/create_context.rb +11 -11
- data/lib/sn_foil/contexts/destroy_context.rb +5 -5
- data/lib/sn_foil/contexts/index_context.rb +3 -3
- data/lib/sn_foil/contexts/setup_context.rb +3 -5
- data/lib/sn_foil/contexts/show_context.rb +3 -3
- data/lib/sn_foil/contexts/update_context.rb +6 -6
- data/lib/sn_foil/searcher.rb +3 -7
- data/lib/sn_foil/version.rb +1 -1
- metadata +6 -121
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 173328b6728ebfcb446950784710f6d412c0ddbbeeadb18604f71a48c4ad117b
|
|
4
|
+
data.tar.gz: e38867a665e12d7d9401a23c322441ca5a5f62fe15d4f5f44f75e20c5ada6123
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 915ed60cf1316ed04123e954f7f652b3f62a3a392d6b922e2b96d3ed4c8da651a9822e09c2c8b8bf9cd24d18e3f69821be4be0a9ca925570772efdb78ccafc8d
|
|
7
|
+
data.tar.gz: 656ecda526fb07bf725ceadf387d4fac4cee94bd05f35f13dc7b30e2fc84f42354e643932a10959b3ed59572dce44d1840efce51d4e4f5c9fdc4648c800be565
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'active_support/concern'
|
|
4
|
-
require_relative '
|
|
4
|
+
require_relative 'setup_context'
|
|
5
5
|
|
|
6
6
|
module SnFoil
|
|
7
7
|
module Contexts
|
|
@@ -59,9 +59,9 @@ module SnFoil
|
|
|
59
59
|
|
|
60
60
|
def before_setup_build_object(**options)
|
|
61
61
|
options = setup(**options)
|
|
62
|
-
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
62
|
+
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
63
63
|
options = setup_build(**options)
|
|
64
|
-
setup_build_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
64
|
+
setup_build_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'active_support/concern'
|
|
4
|
-
require_relative '
|
|
4
|
+
require_relative 'change_context'
|
|
5
5
|
|
|
6
6
|
module SnFoil
|
|
7
7
|
module Contexts
|
|
@@ -108,9 +108,9 @@ module SnFoil
|
|
|
108
108
|
|
|
109
109
|
def before_setup_create_object(**options)
|
|
110
110
|
options = setup_change(**options)
|
|
111
|
-
options = setup_change_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
111
|
+
options = setup_change_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
112
112
|
options = setup_create(**options)
|
|
113
|
-
setup_create_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
113
|
+
setup_create_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
114
114
|
end
|
|
115
115
|
|
|
116
116
|
# This method is private to help protect the order of execution of hooks
|
|
@@ -128,30 +128,30 @@ module SnFoil
|
|
|
128
128
|
|
|
129
129
|
def before_create_save(**options)
|
|
130
130
|
options = before_change(**options)
|
|
131
|
-
options = before_change_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
131
|
+
options = before_change_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
132
132
|
options = before_create(**options)
|
|
133
|
-
before_create_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
133
|
+
before_create_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
def after_create_save(**options)
|
|
137
137
|
options = after_change(**options)
|
|
138
|
-
options = after_change_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
138
|
+
options = after_change_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
139
139
|
options = after_create(**options)
|
|
140
|
-
after_create_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
140
|
+
after_create_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
141
141
|
end
|
|
142
142
|
|
|
143
143
|
def after_create_save_success(**options)
|
|
144
144
|
options = after_change_success(**options)
|
|
145
|
-
options = after_change_success_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
145
|
+
options = after_change_success_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
146
146
|
options = after_create_success(**options)
|
|
147
|
-
after_create_success_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
147
|
+
after_create_success_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
148
148
|
end
|
|
149
149
|
|
|
150
150
|
def after_create_save_failure(**options)
|
|
151
151
|
options = after_change_failure(**options)
|
|
152
|
-
options = after_change_failure_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
152
|
+
options = after_change_failure_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
153
153
|
options = after_create_failure(**options)
|
|
154
|
-
after_create_failure_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
154
|
+
after_create_failure_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
155
155
|
end
|
|
156
156
|
end
|
|
157
157
|
end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'active_support/concern'
|
|
4
|
-
require_relative '
|
|
5
|
-
require_relative '
|
|
4
|
+
require_relative 'setup_context'
|
|
5
|
+
require_relative 'change_context'
|
|
6
6
|
|
|
7
7
|
module SnFoil
|
|
8
8
|
module Contexts
|
|
@@ -113,11 +113,11 @@ module SnFoil
|
|
|
113
113
|
|
|
114
114
|
def before_setup_destroy_object(**options)
|
|
115
115
|
options = setup(**options)
|
|
116
|
-
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
116
|
+
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
117
117
|
options = setup_change(**options)
|
|
118
|
-
options = setup_change_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
118
|
+
options = setup_change_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
119
119
|
options = setup_destroy(**options)
|
|
120
|
-
setup_destroy_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
120
|
+
setup_destroy_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
# This method is private to help protect the order of execution of hooks
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'active_support/concern'
|
|
4
|
-
require_relative '
|
|
4
|
+
require_relative 'change_context'
|
|
5
5
|
|
|
6
6
|
module SnFoil
|
|
7
7
|
module Contexts
|
|
@@ -55,9 +55,9 @@ module SnFoil
|
|
|
55
55
|
|
|
56
56
|
def before_setup_index(**options)
|
|
57
57
|
options = setup(**options)
|
|
58
|
-
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
58
|
+
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
59
59
|
options = setup_index(**options)
|
|
60
|
-
setup_index_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
60
|
+
setup_index_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
end
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'pundit'
|
|
4
3
|
require 'active_support/concern'
|
|
5
4
|
require 'active_support/core_ext/string/inflections'
|
|
6
5
|
|
|
@@ -91,7 +90,7 @@ module SnFoil
|
|
|
91
90
|
|
|
92
91
|
return send(hook[:method], **options) if hook[:method]
|
|
93
92
|
|
|
94
|
-
instance_exec
|
|
93
|
+
instance_exec(**options, &hook[:block])
|
|
95
94
|
end
|
|
96
95
|
|
|
97
96
|
def hook_valid?(hook, **options)
|
|
@@ -105,11 +104,10 @@ module SnFoil
|
|
|
105
104
|
|
|
106
105
|
def lookup_policy(object, options)
|
|
107
106
|
lookup = if options[:policy]
|
|
108
|
-
options[:policy].new(entity, object
|
|
107
|
+
options[:policy].new(entity, object)
|
|
109
108
|
elsif policy
|
|
110
|
-
policy.new(entity, object
|
|
109
|
+
policy.new(entity, object)
|
|
111
110
|
else
|
|
112
|
-
SnFoil.logger.debug 'No policy found. Looking up policy using Pundit. `options` will not be passed to policy'
|
|
113
111
|
Pundit.policy!(entity, object)
|
|
114
112
|
end
|
|
115
113
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'active_support/concern'
|
|
4
|
-
require_relative '
|
|
4
|
+
require_relative 'setup_context'
|
|
5
5
|
|
|
6
6
|
module SnFoil
|
|
7
7
|
module Contexts
|
|
@@ -53,9 +53,9 @@ module SnFoil
|
|
|
53
53
|
|
|
54
54
|
def before_setup_show(**options)
|
|
55
55
|
options = setup(**options)
|
|
56
|
-
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
56
|
+
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
57
57
|
options = setup_show(**options)
|
|
58
|
-
setup_show_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
58
|
+
setup_show_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'active_support/concern'
|
|
4
|
-
require_relative '
|
|
5
|
-
require_relative '
|
|
4
|
+
require_relative 'setup_context'
|
|
5
|
+
require_relative 'change_context'
|
|
6
6
|
|
|
7
7
|
module SnFoil
|
|
8
8
|
module Contexts
|
|
@@ -19,7 +19,7 @@ module SnFoil
|
|
|
19
19
|
:i_after_update_success_hooks, :i_after_update_failure_hooks
|
|
20
20
|
|
|
21
21
|
def update(id:, params:, entity: nil, **options)
|
|
22
|
-
new(entity).update(
|
|
22
|
+
new(entity).update(id: id, **options, params: params)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def setup_update(method = nil, **options, &block)
|
|
@@ -117,11 +117,11 @@ module SnFoil
|
|
|
117
117
|
|
|
118
118
|
def before_setup_update_object(**options)
|
|
119
119
|
options = setup(**options)
|
|
120
|
-
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
120
|
+
options = setup_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
121
121
|
options = setup_change(**options)
|
|
122
|
-
options = setup_change_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
122
|
+
options = setup_change_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
123
123
|
options = setup_update(**options)
|
|
124
|
-
setup_update_hooks.reduce(options) { |opts, hook| run_hook(hook, opts) }
|
|
124
|
+
setup_update_hooks.reduce(options) { |opts, hook| run_hook(hook, **opts) }
|
|
125
125
|
end
|
|
126
126
|
|
|
127
127
|
# This method is private to help protect the order of execution of hooks
|
data/lib/sn_foil/searcher.rb
CHANGED
|
@@ -99,14 +99,10 @@ module SnFoil
|
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
def transform_params_booleans(params)
|
|
102
|
-
params.
|
|
103
|
-
value = if booleans.include?(key.to_sym)
|
|
104
|
-
value_to_boolean(value)
|
|
105
|
-
else
|
|
106
|
-
value
|
|
107
|
-
end
|
|
102
|
+
params.to_h do |key, value|
|
|
103
|
+
value = value_to_boolean(value) if booleans.include?(key.to_sym)
|
|
108
104
|
[key, value]
|
|
109
|
-
end
|
|
105
|
+
end
|
|
110
106
|
end
|
|
111
107
|
|
|
112
108
|
def value_to_boolean(value)
|
data/lib/sn_foil/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: snfoil
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matthew Howes
|
|
8
8
|
- Danny Murphy
|
|
9
9
|
- Cliff Campbell
|
|
10
|
-
autorequire:
|
|
11
10
|
bindir: bin
|
|
12
11
|
cert_chain: []
|
|
13
|
-
date:
|
|
12
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
14
13
|
dependencies:
|
|
15
14
|
- !ruby/object:Gem::Dependency
|
|
16
15
|
name: activesupport
|
|
@@ -54,119 +53,6 @@ dependencies:
|
|
|
54
53
|
- - "~>"
|
|
55
54
|
- !ruby/object:Gem::Version
|
|
56
55
|
version: '2.0'
|
|
57
|
-
- !ruby/object:Gem::Dependency
|
|
58
|
-
name: bundler
|
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
|
60
|
-
requirements:
|
|
61
|
-
- - "~>"
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
version: '2.2'
|
|
64
|
-
type: :development
|
|
65
|
-
prerelease: false
|
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
67
|
-
requirements:
|
|
68
|
-
- - "~>"
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: '2.2'
|
|
71
|
-
- !ruby/object:Gem::Dependency
|
|
72
|
-
name: dry-struct
|
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
|
74
|
-
requirements:
|
|
75
|
-
- - "~>"
|
|
76
|
-
- !ruby/object:Gem::Version
|
|
77
|
-
version: '1.0'
|
|
78
|
-
type: :development
|
|
79
|
-
prerelease: false
|
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
81
|
-
requirements:
|
|
82
|
-
- - "~>"
|
|
83
|
-
- !ruby/object:Gem::Version
|
|
84
|
-
version: '1.0'
|
|
85
|
-
- !ruby/object:Gem::Dependency
|
|
86
|
-
name: pry-byebug
|
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
|
88
|
-
requirements:
|
|
89
|
-
- - "~>"
|
|
90
|
-
- !ruby/object:Gem::Version
|
|
91
|
-
version: '3.9'
|
|
92
|
-
type: :development
|
|
93
|
-
prerelease: false
|
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
95
|
-
requirements:
|
|
96
|
-
- - "~>"
|
|
97
|
-
- !ruby/object:Gem::Version
|
|
98
|
-
version: '3.9'
|
|
99
|
-
- !ruby/object:Gem::Dependency
|
|
100
|
-
name: rake
|
|
101
|
-
requirement: !ruby/object:Gem::Requirement
|
|
102
|
-
requirements:
|
|
103
|
-
- - "~>"
|
|
104
|
-
- !ruby/object:Gem::Version
|
|
105
|
-
version: '13.0'
|
|
106
|
-
type: :development
|
|
107
|
-
prerelease: false
|
|
108
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
109
|
-
requirements:
|
|
110
|
-
- - "~>"
|
|
111
|
-
- !ruby/object:Gem::Version
|
|
112
|
-
version: '13.0'
|
|
113
|
-
- !ruby/object:Gem::Dependency
|
|
114
|
-
name: rspec
|
|
115
|
-
requirement: !ruby/object:Gem::Requirement
|
|
116
|
-
requirements:
|
|
117
|
-
- - "~>"
|
|
118
|
-
- !ruby/object:Gem::Version
|
|
119
|
-
version: '3.9'
|
|
120
|
-
type: :development
|
|
121
|
-
prerelease: false
|
|
122
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
123
|
-
requirements:
|
|
124
|
-
- - "~>"
|
|
125
|
-
- !ruby/object:Gem::Version
|
|
126
|
-
version: '3.9'
|
|
127
|
-
- !ruby/object:Gem::Dependency
|
|
128
|
-
name: rubocop
|
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
|
130
|
-
requirements:
|
|
131
|
-
- - "~>"
|
|
132
|
-
- !ruby/object:Gem::Version
|
|
133
|
-
version: '1.18'
|
|
134
|
-
type: :development
|
|
135
|
-
prerelease: false
|
|
136
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
-
requirements:
|
|
138
|
-
- - "~>"
|
|
139
|
-
- !ruby/object:Gem::Version
|
|
140
|
-
version: '1.18'
|
|
141
|
-
- !ruby/object:Gem::Dependency
|
|
142
|
-
name: rubocop-performance
|
|
143
|
-
requirement: !ruby/object:Gem::Requirement
|
|
144
|
-
requirements:
|
|
145
|
-
- - "~>"
|
|
146
|
-
- !ruby/object:Gem::Version
|
|
147
|
-
version: '1.11'
|
|
148
|
-
type: :development
|
|
149
|
-
prerelease: false
|
|
150
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
151
|
-
requirements:
|
|
152
|
-
- - "~>"
|
|
153
|
-
- !ruby/object:Gem::Version
|
|
154
|
-
version: '1.11'
|
|
155
|
-
- !ruby/object:Gem::Dependency
|
|
156
|
-
name: rubocop-rspec
|
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
|
158
|
-
requirements:
|
|
159
|
-
- - "~>"
|
|
160
|
-
- !ruby/object:Gem::Version
|
|
161
|
-
version: '2.4'
|
|
162
|
-
type: :development
|
|
163
|
-
prerelease: false
|
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
165
|
-
requirements:
|
|
166
|
-
- - "~>"
|
|
167
|
-
- !ruby/object:Gem::Version
|
|
168
|
-
version: '2.4'
|
|
169
|
-
description:
|
|
170
56
|
email:
|
|
171
57
|
- howeszy@gmail.com
|
|
172
58
|
- dmurph24@gmail.com
|
|
@@ -197,8 +83,8 @@ files:
|
|
|
197
83
|
homepage: https://github.com/limited-effort/snfoil
|
|
198
84
|
licenses:
|
|
199
85
|
- MIT
|
|
200
|
-
metadata:
|
|
201
|
-
|
|
86
|
+
metadata:
|
|
87
|
+
rubygems_mfa_required: 'true'
|
|
202
88
|
rdoc_options: []
|
|
203
89
|
require_paths:
|
|
204
90
|
- lib
|
|
@@ -206,15 +92,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
206
92
|
requirements:
|
|
207
93
|
- - ">="
|
|
208
94
|
- !ruby/object:Gem::Version
|
|
209
|
-
version:
|
|
95
|
+
version: '3.0'
|
|
210
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
97
|
requirements:
|
|
212
98
|
- - ">="
|
|
213
99
|
- !ruby/object:Gem::Version
|
|
214
100
|
version: '0'
|
|
215
101
|
requirements: []
|
|
216
|
-
rubygems_version: 3.
|
|
217
|
-
signing_key:
|
|
102
|
+
rubygems_version: 3.6.9
|
|
218
103
|
specification_version: 4
|
|
219
104
|
summary: A boilerplate gem for providing basic contexts
|
|
220
105
|
test_files: []
|