snfoil-controller 1.1.1 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c972e74246450b38ea6f71e0acb425565f85d5a4f2304a6832246b79eb0e0313
4
- data.tar.gz: 4d048b56d294d390bd8c3dd71e5f3a52dafacc2e3392b51aa29e0eb788c43ba4
3
+ metadata.gz: 30037f7a35419e8de1da92218600be13dc1100f66038cd9c8e01a44bcea66581
4
+ data.tar.gz: 3a89ea36f71ec450eb20d37eed391fec23d7f836b13ad0226d2e2cc413358a4b
5
5
  SHA512:
6
- metadata.gz: 5669ecd96671cefc89e5ba4bd17d77a803ef87354a0517465f44f0a693b0a2272df77901a2107da0e1d7d25d2c14cf8b82703a32e7d934e92946877cabca9888
7
- data.tar.gz: a04525d6fa57c7e4b7c75c23dd7a7d18f121e23aec90927d16924a3b92b40864ebaca553c77cb5f535c69a8541640c8351d5e31f8fb0fc4bf5482960111fbbef
6
+ metadata.gz: 102c59b528fe811eab77dfaa69d5061a37227575f2608a4cdbbb6949da59d646313265aec275c1cfe4ba80d68222554213438b25eac60c0e19254673bfa03750
7
+ data.tar.gz: 528df87e07ee5a48a61466c8d9dce0dca57af18fb9c128a381a3e5afe943fc887d56c231d123b599961448fba2fcf58233f1c1b0a929e080177f47b8a0dd536c
data/Gemfile CHANGED
@@ -4,3 +4,14 @@ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in snfoil-policy.gemspec
6
6
  gemspec
7
+
8
+ group :development, :text do
9
+ gem 'bundle-audit', '~> 0.1.0'
10
+ gem 'fasterer', '~> 0.10.0'
11
+ gem 'pry-byebug', '~> 3.9', platform: :mri
12
+ gem 'rake', '~> 13.0'
13
+ gem 'rspec', '~> 3.10'
14
+ gem 'rubocop', '1.33'
15
+ gem 'rubocop-performance', '1.14.3'
16
+ gem 'rubocop-rspec', '2.12.1'
17
+ end
@@ -16,6 +16,6 @@
16
16
 
17
17
  module SnFoil
18
18
  module Controller
19
- VERSION = '1.1.1'
19
+ VERSION = '1.1.3'
20
20
  end
21
21
  end
@@ -46,7 +46,19 @@ module SnFoil
46
46
 
47
47
  def apply_transforms(output, input)
48
48
  (self.class.snfoil_attribute_transforms || {}).reduce(output) do |transformed_output, transform|
49
- apply_transform(transformed_output, input, transform[0], **transform[1])
49
+ transform_options = transform[1]
50
+ next transformed_output if transform_options[:if] && !check_conditional(transform_options[:if], input)
51
+ next transformed_output if transform_options[:unless] && check_conditional(transform_options[:unless], input)
52
+
53
+ apply_transform(transformed_output, input, transform[0], **transform_options)
54
+ end
55
+ end
56
+
57
+ def check_conditional(conditional, input)
58
+ if conditional.is_a? Symbol
59
+ send(conditional, input)
60
+ else
61
+ instance_exec(input, &conditional)
50
62
  end
51
63
  end
52
64
 
@@ -63,7 +75,7 @@ module SnFoil
63
75
 
64
76
  def parse_attribute_transform(output, input, key, **options)
65
77
  value = find_attribute(input, key, **options)
66
- return output unless value
78
+ return output if value.nil?
67
79
 
68
80
  output.merge key => value
69
81
  end
@@ -63,7 +63,7 @@ module SnFoil
63
63
 
64
64
  def parse_attribute_transform(output, input, key, **options)
65
65
  value = find_attribute(input[:attributes], key, **options)
66
- return output unless value
66
+ return output if value.nil?
67
67
 
68
68
  output.merge key => value
69
69
  end
@@ -29,16 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ['lib']
30
30
 
31
31
  spec.add_dependency 'activesupport', '>= 5.2.6'
32
- spec.add_dependency 'jsonapi-serializer', '~> 2.2'
33
32
  spec.add_dependency 'snfoil-context', '>= 1.0.1', '< 2.0'
34
-
35
- spec.add_development_dependency 'bundle-audit', '~> 0.1.0'
36
- spec.add_development_dependency 'fasterer', '~> 0.10.0'
37
- spec.add_development_dependency 'oj'
38
- spec.add_development_dependency 'pry-byebug', '~> 3.9'
39
- spec.add_development_dependency 'rake', '~> 13.0'
40
- spec.add_development_dependency 'rspec', '~> 3.10'
41
- spec.add_development_dependency 'rubocop', '1.33'
42
- spec.add_development_dependency 'rubocop-performance', '1.14.3'
43
- spec.add_development_dependency 'rubocop-rspec', '2.12.1'
44
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snfoil-controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Howes
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-08-08 00:00:00.000000000 Z
12
+ date: 2023-03-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 5.2.6
28
- - !ruby/object:Gem::Dependency
29
- name: jsonapi-serializer
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: '2.2'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '2.2'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: snfoil-context
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -59,132 +45,6 @@ dependencies:
59
45
  - - "<"
60
46
  - !ruby/object:Gem::Version
61
47
  version: '2.0'
62
- - !ruby/object:Gem::Dependency
63
- name: bundle-audit
64
- requirement: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.1.0
69
- type: :development
70
- prerelease: false
71
- version_requirements: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 0.1.0
76
- - !ruby/object:Gem::Dependency
77
- name: fasterer
78
- requirement: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 0.10.0
83
- type: :development
84
- prerelease: false
85
- version_requirements: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 0.10.0
90
- - !ruby/object:Gem::Dependency
91
- name: oj
92
- requirement: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- type: :development
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- - !ruby/object:Gem::Dependency
105
- name: pry-byebug
106
- requirement: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '3.9'
111
- type: :development
112
- prerelease: false
113
- version_requirements: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '3.9'
118
- - !ruby/object:Gem::Dependency
119
- name: rake
120
- requirement: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '13.0'
125
- type: :development
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '13.0'
132
- - !ruby/object:Gem::Dependency
133
- name: rspec
134
- requirement: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '3.10'
139
- type: :development
140
- prerelease: false
141
- version_requirements: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '3.10'
146
- - !ruby/object:Gem::Dependency
147
- name: rubocop
148
- requirement: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - '='
151
- - !ruby/object:Gem::Version
152
- version: '1.33'
153
- type: :development
154
- prerelease: false
155
- version_requirements: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - '='
158
- - !ruby/object:Gem::Version
159
- version: '1.33'
160
- - !ruby/object:Gem::Dependency
161
- name: rubocop-performance
162
- requirement: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - '='
165
- - !ruby/object:Gem::Version
166
- version: 1.14.3
167
- type: :development
168
- prerelease: false
169
- version_requirements: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - '='
172
- - !ruby/object:Gem::Version
173
- version: 1.14.3
174
- - !ruby/object:Gem::Dependency
175
- name: rubocop-rspec
176
- requirement: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - '='
179
- - !ruby/object:Gem::Version
180
- version: 2.12.1
181
- type: :development
182
- prerelease: false
183
- version_requirements: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - '='
186
- - !ruby/object:Gem::Version
187
- version: 2.12.1
188
48
  description: A context-like experience for your controllers
189
49
  email:
190
50
  - howeszy@gmail.com
@@ -227,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
87
  - !ruby/object:Gem::Version
228
88
  version: '0'
229
89
  requirements: []
230
- rubygems_version: 3.1.6
90
+ rubygems_version: 3.3.7
231
91
  signing_key:
232
92
  specification_version: 4
233
93
  summary: Seperate Display Logic from Business Logic