base_editing_bootstrap 0.3.0 → 0.4.0

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
  SHA256:
3
- metadata.gz: 7468c063d06ad4be7aea4786ffe79b06e7aea328286d1f3db23a9c8155e16112
4
- data.tar.gz: 495f2835ef4de6c905cf39b8ed886d1187231dd566d3e005437c951f8fb6723c
3
+ metadata.gz: 0c34b968628eb0454335d3d95796e381ec478cb236a44941cbf267220377df6b
4
+ data.tar.gz: ac7a7f7106bf53615569782e55a19aafccd3c2d63aee77c0e71b27b6e7599de6
5
5
  SHA512:
6
- metadata.gz: 31e7c1be7578adc8f78cd3f10f2b09a0f66f359eb6a62719857f76bddbcf53e77d321835b0a060ed161df0d1182f87d279b2e19bcafe5cb25d4b7b612e92a771
7
- data.tar.gz: 1fdd1a212e2be5888561827980fc74d2c3916b7ef6210fc7cc541d5ee2d436c6f6bf320eb4ea570043869a084ec8d43bd2a4341c2f5ddd47523971ff235df7fd
6
+ metadata.gz: 3dccc18a70b861a9d3ead369dbbd57d4c5504bd7316e16c07521ef75e4bdb0142d8978ff47787f0d80143af1511c44efc199bb04c85a7a3852a35d8ae7fea7ee
7
+ data.tar.gz: d0cefc4ba1f38b7ec45e3a93609b0cd498dfb6dcee6be9d7054a3b18e7cadaddb97855355595fb2b783baeb2d98f6d1410b6453832de3e32344cc170014c8c7f
data/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
  All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
3
3
 
4
4
  - - -
5
+ ## 0.4.0 - 2024-04-29
6
+ #### Bug Fixes
7
+ - Add Translations for pagination - (14bbb6f) - Marino Bonetti
8
+ - Remove rubygems warnings - (5b0dc6e) - Marino Bonetti
9
+ #### Documentation
10
+ - Documentation - (a2f93cd) - Marino Bonetti
11
+ #### Features
12
+ - Prepare new installer - (9189b26) - Marino Bonetti
13
+ #### Miscellaneous Chores
14
+ - Start initializer as template - (7cc6756) - Marino Bonetti
15
+ - Fix versions in gemfile - (5280d4e) - Marino Bonetti
16
+ #### Tests
17
+ - Create spec for generators - (c7b3210) - Marino Bonetti
18
+ - Spec per generator - (bf79a97) - Marino Bonetti
19
+ - Add test to policy - (41d6bac) - Marino Bonetti
20
+ - Match gem version - (462e72f) - Marino Bonetti
21
+
22
+ - - -
23
+
5
24
  ## 0.3.0 - 2024-04-27
6
25
  #### Bug Fixes
7
26
  - Remove files from gem - (660cb3d) - Marino Bonetti
data/README.md CHANGED
@@ -20,8 +20,13 @@ Or install it yourself as:
20
20
  $ gem install base_editing_bootstrap
21
21
  ```
22
22
 
23
- ### TODO generators
24
- Then Install dependency (WIP TO TRANSLATE IN INSTALLATION TASK):
23
+ Then run installer:
24
+ ```bash
25
+ $ bundle exec rails g base_editing_bootstrap:install
26
+ ```
27
+
28
+ ### Generators
29
+ Then Install dependency (if you run base_editing_bootstrap:install you are good to go):
25
30
  ```bash
26
31
 
27
32
  bundle exec rails g pundit:install
@@ -36,7 +41,8 @@ La versione più semplice è attraverso: https://github.com/rails/cssbundling-ra
36
41
  Una volta installato basta lanciare bin/rails css:install:bootstrap come da
37
42
  documentazione e avrete la vostra versione di boostrap installata.
38
43
 
39
- Installare `gem "factory_bot_rails"` e configurarlo correttamente in application.rb
44
+ Installare `gem "factory_bot_rails"`,
45
+ Optional configurarlo correttamente in application.rb
40
46
  ```ruby
41
47
  config.generators do |g|
42
48
  g.test_framework :rspec
@@ -37,18 +37,19 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'ransack', ['~> 4.0', '>= 4.0.0']
38
38
  # Pagination
39
39
  spec.add_dependency 'kaminari', ['~> 1.2', '>= 1.2.2']
40
+ spec.add_dependency 'kaminari-i18n', '~> 0.5'
40
41
 
41
42
  spec.add_development_dependency "rspec-rails", '~> 6.0'
42
43
  spec.add_development_dependency "factory_bot_rails", '~> 6.4'
43
- spec.add_development_dependency 'faker'
44
- spec.add_development_dependency "puma"
45
- spec.add_development_dependency "sqlite3"
46
- spec.add_development_dependency "sprockets-rails"
47
- spec.add_development_dependency 'rails-i18n', '~> 7.0.0' # For 7.0.0
48
- spec.add_development_dependency "i18n-debug"
49
- spec.add_development_dependency "cssbundling-rails"
44
+ spec.add_development_dependency 'faker', '~> 3.3'
45
+ spec.add_development_dependency "puma", '~> 6.4'
46
+ spec.add_development_dependency "sqlite3", '~> 1.7'
47
+ spec.add_development_dependency "sprockets-rails", '~> 3.4'
48
+ spec.add_development_dependency 'rails-i18n', '~> 7.0' # For 7.0.0
49
+ spec.add_development_dependency "i18n-debug", '~> 1.2'
50
+ spec.add_development_dependency "cssbundling-rails", '~> 1.4'
50
51
  spec.add_development_dependency "rspec-parameterized", ">= 1.0.0" # https://github.com/tomykaira/rspec-parameterized
51
- spec.add_development_dependency 'rspec-html-matchers' # https://github.com/kucaahbe/rspec-html-matchers
52
- spec.add_development_dependency 'rails-controller-testing'
52
+ spec.add_development_dependency 'rspec-html-matchers', '~> 0.10' # https://github.com/kucaahbe/rspec-html-matchers
53
+ spec.add_development_dependency 'rails-controller-testing', '~>1.0'
53
54
 
54
55
  end
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.4.0
@@ -1,5 +1,6 @@
1
1
  require "ransack"
2
2
  require "kaminari"
3
+ require "kaminari-i18n"
3
4
  require "pundit"
4
5
 
5
6
  if ENV['RAILS_ENV'] == 'test' and defined? RSpec
@@ -11,6 +12,7 @@ end
11
12
 
12
13
  require "zeitwerk"
13
14
  loader = Zeitwerk::Loader.for_gem
15
+ loader.ignore("#{__dir__}/generators")
14
16
  loader.setup
15
17
 
16
18
  module BaseEditingBootstrap
@@ -0,0 +1,2 @@
1
+ Description:
2
+ Generates initialization files for the gem
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BaseEditingBootstrap
4
+ module Generators
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+ source_root File.expand_path("templates", __dir__)
7
+
8
+ def create_initializer
9
+ initializer_file_name = "initializer.rb"
10
+ destination = File.join('config', 'initializers', "base_editing_bootstrap.rb")
11
+ template initializer_file_name, destination
12
+ end
13
+
14
+ def install_and_configure_pundit
15
+ generate "pundit:install"
16
+ inject_into_class "app/controllers/application_controller.rb", "ApplicationController", " include Pundit::Authorization\n"
17
+ end
18
+
19
+ def prepare_test_environment
20
+ gem "factory_bot_rails", group: :test, version: '~> 6.4', comment: "Necessary for spec"
21
+ inject_into_class "config/application.rb", "Application", <<~RUBY
22
+ config.generators do |g|
23
+ g.test_framework :rspec
24
+ g.fixture_replacement :factory_bot
25
+ g.factory_bot dir: 'spec/factories'
26
+ end
27
+ RUBY
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ BaseEditingBootstrap.configure do |config|
4
+ ##
5
+ # Controller da cui derivare poi il BaseEditingController da cui derivano
6
+ # tutti i controller sottostanti
7
+ # @default "ApplicationController"
8
+ # config_accessor :inherited_controller, default: "ApplicationController"
9
+
10
+ ##
11
+ # Configurazione per alterare lo standard di azione post aggiornamento record
12
+ # il default è andare nella pagina di editing del record
13
+ # possibili valori :edit , :index
14
+ # config_accessor :after_success_update_redirect, default: :edit
15
+
16
+ ##
17
+ # Configurazione per alterare lo standard di azione post creazione record
18
+ # il default è andare nella pagina di editing del record
19
+ # possibili valori :edit , :index
20
+ # config_accessor :after_success_create_redirect, default: :edit
21
+
22
+ end
@@ -12,3 +12,30 @@ RSpec::Matchers.define :permit_editable_attributes do |*expected_attributes|
12
12
  actual_attributes.empty?
13
13
  end
14
14
  end
15
+
16
+ shared_examples "a standard policy" do |factory|
17
+ let(:user) { create(:user) }
18
+ let(:instance) { described_class.new(user, build(factory)) }
19
+
20
+ describe "standard_methotds" do
21
+ where(:method, :response) do
22
+ [
23
+ [:show?, false],
24
+ [:destroy?, true],
25
+ [:update?, true],
26
+ [:create?, true],
27
+ [:index?, true],
28
+ ]
29
+ end
30
+
31
+ with_them do
32
+ it "should " do
33
+ expect(instance).to respond_to(method)
34
+ end
35
+ it "return value" do
36
+ expect(instance.send(method)).to be == response
37
+ end
38
+ end
39
+ end
40
+
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: base_editing_bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marino Bonetti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-27 00:00:00.000000000 Z
11
+ date: 2024-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -90,6 +90,20 @@ dependencies:
90
90
  - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: 1.2.2
93
+ - !ruby/object:Gem::Dependency
94
+ name: kaminari-i18n
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0.5'
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '0.5'
93
107
  - !ruby/object:Gem::Dependency
94
108
  name: rspec-rails
95
109
  requirement: !ruby/object:Gem::Requirement
@@ -122,100 +136,100 @@ dependencies:
122
136
  name: faker
123
137
  requirement: !ruby/object:Gem::Requirement
124
138
  requirements:
125
- - - ">="
139
+ - - "~>"
126
140
  - !ruby/object:Gem::Version
127
- version: '0'
141
+ version: '3.3'
128
142
  type: :development
129
143
  prerelease: false
130
144
  version_requirements: !ruby/object:Gem::Requirement
131
145
  requirements:
132
- - - ">="
146
+ - - "~>"
133
147
  - !ruby/object:Gem::Version
134
- version: '0'
148
+ version: '3.3'
135
149
  - !ruby/object:Gem::Dependency
136
150
  name: puma
137
151
  requirement: !ruby/object:Gem::Requirement
138
152
  requirements:
139
- - - ">="
153
+ - - "~>"
140
154
  - !ruby/object:Gem::Version
141
- version: '0'
155
+ version: '6.4'
142
156
  type: :development
143
157
  prerelease: false
144
158
  version_requirements: !ruby/object:Gem::Requirement
145
159
  requirements:
146
- - - ">="
160
+ - - "~>"
147
161
  - !ruby/object:Gem::Version
148
- version: '0'
162
+ version: '6.4'
149
163
  - !ruby/object:Gem::Dependency
150
164
  name: sqlite3
151
165
  requirement: !ruby/object:Gem::Requirement
152
166
  requirements:
153
- - - ">="
167
+ - - "~>"
154
168
  - !ruby/object:Gem::Version
155
- version: '0'
169
+ version: '1.7'
156
170
  type: :development
157
171
  prerelease: false
158
172
  version_requirements: !ruby/object:Gem::Requirement
159
173
  requirements:
160
- - - ">="
174
+ - - "~>"
161
175
  - !ruby/object:Gem::Version
162
- version: '0'
176
+ version: '1.7'
163
177
  - !ruby/object:Gem::Dependency
164
178
  name: sprockets-rails
165
179
  requirement: !ruby/object:Gem::Requirement
166
180
  requirements:
167
- - - ">="
181
+ - - "~>"
168
182
  - !ruby/object:Gem::Version
169
- version: '0'
183
+ version: '3.4'
170
184
  type: :development
171
185
  prerelease: false
172
186
  version_requirements: !ruby/object:Gem::Requirement
173
187
  requirements:
174
- - - ">="
188
+ - - "~>"
175
189
  - !ruby/object:Gem::Version
176
- version: '0'
190
+ version: '3.4'
177
191
  - !ruby/object:Gem::Dependency
178
192
  name: rails-i18n
179
193
  requirement: !ruby/object:Gem::Requirement
180
194
  requirements:
181
195
  - - "~>"
182
196
  - !ruby/object:Gem::Version
183
- version: 7.0.0
197
+ version: '7.0'
184
198
  type: :development
185
199
  prerelease: false
186
200
  version_requirements: !ruby/object:Gem::Requirement
187
201
  requirements:
188
202
  - - "~>"
189
203
  - !ruby/object:Gem::Version
190
- version: 7.0.0
204
+ version: '7.0'
191
205
  - !ruby/object:Gem::Dependency
192
206
  name: i18n-debug
193
207
  requirement: !ruby/object:Gem::Requirement
194
208
  requirements:
195
- - - ">="
209
+ - - "~>"
196
210
  - !ruby/object:Gem::Version
197
- version: '0'
211
+ version: '1.2'
198
212
  type: :development
199
213
  prerelease: false
200
214
  version_requirements: !ruby/object:Gem::Requirement
201
215
  requirements:
202
- - - ">="
216
+ - - "~>"
203
217
  - !ruby/object:Gem::Version
204
- version: '0'
218
+ version: '1.2'
205
219
  - !ruby/object:Gem::Dependency
206
220
  name: cssbundling-rails
207
221
  requirement: !ruby/object:Gem::Requirement
208
222
  requirements:
209
- - - ">="
223
+ - - "~>"
210
224
  - !ruby/object:Gem::Version
211
- version: '0'
225
+ version: '1.4'
212
226
  type: :development
213
227
  prerelease: false
214
228
  version_requirements: !ruby/object:Gem::Requirement
215
229
  requirements:
216
- - - ">="
230
+ - - "~>"
217
231
  - !ruby/object:Gem::Version
218
- version: '0'
232
+ version: '1.4'
219
233
  - !ruby/object:Gem::Dependency
220
234
  name: rspec-parameterized
221
235
  requirement: !ruby/object:Gem::Requirement
@@ -234,30 +248,30 @@ dependencies:
234
248
  name: rspec-html-matchers
235
249
  requirement: !ruby/object:Gem::Requirement
236
250
  requirements:
237
- - - ">="
251
+ - - "~>"
238
252
  - !ruby/object:Gem::Version
239
- version: '0'
253
+ version: '0.10'
240
254
  type: :development
241
255
  prerelease: false
242
256
  version_requirements: !ruby/object:Gem::Requirement
243
257
  requirements:
244
- - - ">="
258
+ - - "~>"
245
259
  - !ruby/object:Gem::Version
246
- version: '0'
260
+ version: '0.10'
247
261
  - !ruby/object:Gem::Dependency
248
262
  name: rails-controller-testing
249
263
  requirement: !ruby/object:Gem::Requirement
250
264
  requirements:
251
- - - ">="
265
+ - - "~>"
252
266
  - !ruby/object:Gem::Version
253
- version: '0'
267
+ version: '1.0'
254
268
  type: :development
255
269
  prerelease: false
256
270
  version_requirements: !ruby/object:Gem::Requirement
257
271
  requirements:
258
- - - ">="
272
+ - - "~>"
259
273
  - !ruby/object:Gem::Version
260
- version: '0'
274
+ version: '1.0'
261
275
  description: Raccolta di utility per semplificare costruzione cms in rails
262
276
  email:
263
277
  - marinobonetti@gmail.com
@@ -340,6 +354,9 @@ files:
340
354
  - lib/base_editing_bootstrap/searches/base.rb
341
355
  - lib/base_editing_bootstrap/searches/field.rb
342
356
  - lib/base_editing_bootstrap/version.rb
357
+ - lib/generators/base_editing_bootstrap/install/USAGE
358
+ - lib/generators/base_editing_bootstrap/install/install_generator.rb
359
+ - lib/generators/base_editing_bootstrap/install/templates/initializer.rb
343
360
  - lib/tasks/base_editing_bootstrap_tasks.rake
344
361
  - spec/support/external_shared/base_editing_controller_helpers.rb
345
362
  - spec/support/external_shared/base_model.rb