base_editing_bootstrap 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +20 -0
- data/app/controllers/base_editing_controller.rb +14 -2
- data/base_editing_bootstrap.gemspec +23 -8
- data/lib/base_editing_bootstrap/VERSION +1 -1
- data/lib/base_editing_bootstrap.rb +12 -0
- data/spec/support/external_shared/base_editing_controller_helpers.rb +44 -2
- metadata +167 -8
- data/.rspec +0 -3
- data/.rubocop.yml +0 -13
- data/Dockerfile +0 -57
- data/cog.toml +0 -32
- data/docker-compose.yml +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7468c063d06ad4be7aea4786ffe79b06e7aea328286d1f3db23a9c8155e16112
|
4
|
+
data.tar.gz: 495f2835ef4de6c905cf39b8ed886d1187231dd566d3e005437c951f8fb6723c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31e7c1be7578adc8f78cd3f10f2b09a0f66f359eb6a62719857f76bddbcf53e77d321835b0a060ed161df0d1182f87d279b2e19bcafe5cb25d4b7b612e92a771
|
7
|
+
data.tar.gz: 1fdd1a212e2be5888561827980fc74d2c3916b7ef6210fc7cc541d5ee2d436c6f6bf320eb4ea570043869a084ec8d43bd2a4341c2f5ddd47523971ff235df7fd
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,23 @@
|
|
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.3.0 - 2024-04-27
|
6
|
+
#### Bug Fixes
|
7
|
+
- Remove files from gem - (660cb3d) - Marino Bonetti
|
8
|
+
#### Documentation
|
9
|
+
- Update documentation - (42472ff) - Marino Bonetti
|
10
|
+
- Add documentation for spec helper - (170dd5a) - Marino Bonetti
|
11
|
+
#### Features
|
12
|
+
- Add configurations to change redirect after edit/create - (f8f3048) - Marino Bonetti
|
13
|
+
#### Refactoring
|
14
|
+
- Gem dependency organization - (7fb8caf) - Marino Bonetti
|
15
|
+
- Gem dependency organization - (f997fd9) - Marino Bonetti
|
16
|
+
#### Tests
|
17
|
+
- Aggiunta test per controllo redirect post success o update - (4c28e38) - Marino Bonetti
|
18
|
+
- Add Seed for generating multiple post in dummy - (bcbe986) - Marino Bonetti
|
19
|
+
|
20
|
+
- - -
|
21
|
+
|
5
22
|
## 0.2.0 - 2024-04-23
|
6
23
|
#### Documentation
|
7
24
|
- Add documntation for installation - (b528daa) - Marino Bonetti
|
data/README.md
CHANGED
@@ -53,6 +53,19 @@ E' possibile configurare BaseEditingBootstrap con alcune impostazioni:
|
|
53
53
|
# tutti i controller sottostanti
|
54
54
|
# @default "ApplicationController"
|
55
55
|
# config.inherited_controller = 'ApplicationController'
|
56
|
+
|
57
|
+
##
|
58
|
+
# Configurazione per alterare lo standard di azione post aggiornamento record
|
59
|
+
# il default è andare nella pagina di editing del record
|
60
|
+
# possibili valori :edit , :index
|
61
|
+
# config_accessor :after_success_update_redirect, default: :edit
|
62
|
+
|
63
|
+
##
|
64
|
+
# Configurazione per alterare lo standard di azione post creazione record
|
65
|
+
# il default è andare nella pagina di editing del record
|
66
|
+
# possibili valori :edit , :index
|
67
|
+
# config_accessor :after_success_create_redirect, default: :edit
|
68
|
+
|
56
69
|
end
|
57
70
|
|
58
71
|
```
|
@@ -64,6 +77,13 @@ Utilizzo per modello base, in questo esempio prendiamo come modello Post come es
|
|
64
77
|
```ruby
|
65
78
|
include BaseEditingBootstrap::BaseModel
|
66
79
|
```
|
80
|
+
- La factory nelle spec deve contenere il trait `with_invalid_attributes` per definire la situazione di dati per record
|
81
|
+
non valido. ES:
|
82
|
+
```ruby
|
83
|
+
trait :with_invalid_attributes do
|
84
|
+
name {nil} # name dovrebbe essere obbligatorio nel modello
|
85
|
+
end
|
86
|
+
```
|
67
87
|
- Creare Controller:
|
68
88
|
```ruby
|
69
89
|
class PostsController < BaseEditingController
|
@@ -186,7 +186,13 @@ class BaseEditingController < RestrictedAreaController
|
|
186
186
|
|
187
187
|
def _successful_create(format)
|
188
188
|
format.all do
|
189
|
-
|
189
|
+
path = case BaseEditingBootstrap.after_success_create_redirect
|
190
|
+
when :index
|
191
|
+
index_custom_polymorphic_path(@object.class)
|
192
|
+
else
|
193
|
+
edit_custom_polymorphic_path(@object)
|
194
|
+
end
|
195
|
+
redirect_to path,
|
190
196
|
status: :see_other,
|
191
197
|
notice: t('activerecord.successful.messages.created', model: base_class.model_name.human)
|
192
198
|
end
|
@@ -201,7 +207,13 @@ class BaseEditingController < RestrictedAreaController
|
|
201
207
|
|
202
208
|
def _successful_update(format)
|
203
209
|
format.all do
|
204
|
-
|
210
|
+
path = case BaseEditingBootstrap.after_success_update_redirect
|
211
|
+
when :index
|
212
|
+
index_custom_polymorphic_path(@object.class)
|
213
|
+
else
|
214
|
+
edit_custom_polymorphic_path(@object)
|
215
|
+
end
|
216
|
+
redirect_to path,
|
205
217
|
status: :see_other,
|
206
218
|
notice: t('activerecord.successful.messages.updated', model: base_class.model_name.human)
|
207
219
|
end
|
@@ -20,20 +20,35 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.files = Dir.chdir(__dir__) do
|
21
21
|
`git ls-files -z`.split("\x0").reject do |f|
|
22
22
|
(File.expand_path(f) == __FILE__) ||
|
23
|
-
f.start_with?(
|
23
|
+
f.start_with?(*[
|
24
|
+
"bin/", "test/", "spec/", "features/",
|
25
|
+
".git", ".gitlab-ci.yml", "appveyor", "Gemfile",
|
26
|
+
"cog.toml", "docker-compose.yml", "Dockerfile",
|
27
|
+
".rspec", ".rubocop.yml"
|
28
|
+
])
|
24
29
|
end
|
25
30
|
end
|
26
31
|
spec.files += Dir['spec/support/external_shared/*.rb']
|
27
32
|
|
28
|
-
spec.add_dependency "rails", ">= 7.0"
|
29
|
-
|
30
|
-
|
33
|
+
spec.add_dependency "rails", [">= 7.0", "< 8.0"]
|
34
|
+
# Policy
|
35
|
+
spec.add_dependency "pundit", ["~> 2.3", ">= 2.3.1"]
|
31
36
|
# Search
|
32
|
-
spec.add_dependency 'ransack', '>= 4.0.0'
|
37
|
+
spec.add_dependency 'ransack', ['~> 4.0', '>= 4.0.0']
|
33
38
|
# Pagination
|
34
|
-
spec.add_dependency 'kaminari', '>= 1.2.2'
|
39
|
+
spec.add_dependency 'kaminari', ['~> 1.2', '>= 1.2.2']
|
35
40
|
|
36
|
-
spec.add_development_dependency "rspec-rails"
|
37
|
-
spec.add_development_dependency "factory_bot_rails"
|
41
|
+
spec.add_development_dependency "rspec-rails", '~> 6.0'
|
42
|
+
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"
|
50
|
+
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'
|
38
53
|
|
39
54
|
end
|
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
@@ -21,6 +21,18 @@ module BaseEditingBootstrap
|
|
21
21
|
# tutti i controller sottostanti
|
22
22
|
# @default "ApplicationController"
|
23
23
|
config_accessor :inherited_controller, default: "ApplicationController"
|
24
|
+
|
25
|
+
##
|
26
|
+
# Configurazione per alterare lo standard di azione post aggiornamento record
|
27
|
+
# il default è andare nella pagina di editing del record
|
28
|
+
# possibili valori :edit , :index
|
29
|
+
config_accessor :after_success_update_redirect, default: :edit
|
30
|
+
|
31
|
+
##
|
32
|
+
# Configurazione per alterare lo standard di azione post creazione record
|
33
|
+
# il default è andare nella pagina di editing del record
|
34
|
+
# possibili valori :edit , :index
|
35
|
+
config_accessor :after_success_create_redirect, default: :edit
|
24
36
|
|
25
37
|
def self.deprecator
|
26
38
|
@deprecator ||= ActiveSupport::Deprecation.new("1.0", "BaseEditingBootstrap")
|
@@ -10,6 +10,32 @@ end
|
|
10
10
|
##
|
11
11
|
# Helper per testare controller derivanti da base editing
|
12
12
|
# only e except servono per filtrare o escludere determinate actions
|
13
|
+
# @!attribute factory [Symbol] -> nome della factory da usare per il modello
|
14
|
+
# @!attribute only [Array[Symbol]] -> nome delle sole action da controllare
|
15
|
+
# - delete
|
16
|
+
# - create
|
17
|
+
# - update
|
18
|
+
# - edit
|
19
|
+
# - new
|
20
|
+
# - index
|
21
|
+
# @!attribute expect [Array[Symbol]] -> nome delle action da non controllare
|
22
|
+
# @!attribute skip_invalid_checks [Boolean] -> se serve saltare il check delle azioni con dati non validi
|
23
|
+
#
|
24
|
+
# Sono poi disponibili diversi let per poter fare l'override arbitrario degli url,
|
25
|
+
# tutti abbastanza auto-descrittivi
|
26
|
+
#
|
27
|
+
# :url_for_new
|
28
|
+
# :url_for_index
|
29
|
+
# :url_for_create
|
30
|
+
# :url_for_succ_delete
|
31
|
+
# :url_for_fail_delete
|
32
|
+
# :url_for_edit -> Rispetto agli altri questo risulta essere pià complicato in quanto
|
33
|
+
# deve ritornare una proc a cui passiamo il valore dell'istanza persistente
|
34
|
+
# che nei casi del after create non abbiamo a priori.
|
35
|
+
# :url_for_unauthorized
|
36
|
+
# :url_for_update
|
37
|
+
#
|
38
|
+
#
|
13
39
|
RSpec.shared_examples "base editing controller" do |factory: nil, only: [], except: [], skip_invalid_checks: false|
|
14
40
|
if factory
|
15
41
|
let(:inside_factory) { factory }
|
@@ -28,7 +54,9 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
|
|
28
54
|
let(:url_for_create) { url_for(model.new) }
|
29
55
|
let(:url_for_succ_delete) { url_for(model) }
|
30
56
|
let(:url_for_fail_delete) { url_for_succ_delete }
|
31
|
-
let(:url_for_edit) {
|
57
|
+
let(:url_for_edit) { ->(p = persisted_instance) {
|
58
|
+
url_for([p, action: :edit])
|
59
|
+
} }
|
32
60
|
let(:url_for_update) { url_for(persisted_instance) }
|
33
61
|
## non sempre abbiamo l'index nelle action disponibili, dobbiamo quindi avere modo di eseguire un override
|
34
62
|
let(:url_for_unauthorized) { url_for_index }
|
@@ -79,7 +107,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
|
|
79
107
|
if check_if_should_execute(only, except, :edit)
|
80
108
|
describe "edit" do
|
81
109
|
it "response" do
|
82
|
-
get url_for_edit
|
110
|
+
get url_for_edit.call
|
83
111
|
expect(response).to have_http_status(:ok)
|
84
112
|
expect(assigns[:object]).to be_an_instance_of(model)
|
85
113
|
end
|
@@ -92,6 +120,13 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
|
|
92
120
|
put url_for_update, params: {param_key => valid_attributes}
|
93
121
|
expect(assigns[:object]).to be_an_instance_of(model)
|
94
122
|
expect(response).to have_http_status(:see_other)
|
123
|
+
case BaseEditingBootstrap.after_success_update_redirect
|
124
|
+
when :index
|
125
|
+
expect(response).to redirect_to(url_for_index)
|
126
|
+
else
|
127
|
+
# edit
|
128
|
+
expect(response).to redirect_to(url_for_edit.call(assigns[:object]))
|
129
|
+
end
|
95
130
|
end
|
96
131
|
|
97
132
|
unless skip_invalid_checks
|
@@ -109,6 +144,13 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
|
|
109
144
|
post url_for_create, params: {param_key => valid_attributes}
|
110
145
|
expect(assigns[:object]).to be_an_instance_of(model)
|
111
146
|
expect(response).to have_http_status(:see_other)
|
147
|
+
case BaseEditingBootstrap.after_success_create_redirect
|
148
|
+
when :index
|
149
|
+
expect(response).to redirect_to(url_for_index)
|
150
|
+
else
|
151
|
+
# edit
|
152
|
+
expect(response).to redirect_to(url_for_edit.call(assigns[:object]))
|
153
|
+
end
|
112
154
|
end
|
113
155
|
|
114
156
|
unless skip_invalid_checks
|
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.
|
4
|
+
version: 0.3.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-
|
11
|
+
date: 2024-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '7.0'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '8.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,10 +27,16 @@ dependencies:
|
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '7.0'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '8.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: pundit
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '2.3'
|
31
40
|
- - ">="
|
32
41
|
- !ruby/object:Gem::Version
|
33
42
|
version: 2.3.1
|
@@ -35,6 +44,9 @@ dependencies:
|
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '2.3'
|
38
50
|
- - ">="
|
39
51
|
- !ruby/object:Gem::Version
|
40
52
|
version: 2.3.1
|
@@ -42,6 +54,9 @@ dependencies:
|
|
42
54
|
name: ransack
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
44
56
|
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '4.0'
|
45
60
|
- - ">="
|
46
61
|
- !ruby/object:Gem::Version
|
47
62
|
version: 4.0.0
|
@@ -49,6 +64,9 @@ dependencies:
|
|
49
64
|
prerelease: false
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
51
66
|
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '4.0'
|
52
70
|
- - ">="
|
53
71
|
- !ruby/object:Gem::Version
|
54
72
|
version: 4.0.0
|
@@ -56,6 +74,9 @@ dependencies:
|
|
56
74
|
name: kaminari
|
57
75
|
requirement: !ruby/object:Gem::Requirement
|
58
76
|
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '1.2'
|
59
80
|
- - ">="
|
60
81
|
- !ruby/object:Gem::Version
|
61
82
|
version: 1.2.2
|
@@ -63,11 +84,42 @@ dependencies:
|
|
63
84
|
prerelease: false
|
64
85
|
version_requirements: !ruby/object:Gem::Requirement
|
65
86
|
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.2'
|
66
90
|
- - ">="
|
67
91
|
- !ruby/object:Gem::Version
|
68
92
|
version: 1.2.2
|
69
93
|
- !ruby/object:Gem::Dependency
|
70
94
|
name: rspec-rails
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '6.0'
|
100
|
+
type: :development
|
101
|
+
prerelease: false
|
102
|
+
version_requirements: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '6.0'
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: factory_bot_rails
|
109
|
+
requirement: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '6.4'
|
114
|
+
type: :development
|
115
|
+
prerelease: false
|
116
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '6.4'
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
name: faker
|
71
123
|
requirement: !ruby/object:Gem::Requirement
|
72
124
|
requirements:
|
73
125
|
- - ">="
|
@@ -81,7 +133,119 @@ dependencies:
|
|
81
133
|
- !ruby/object:Gem::Version
|
82
134
|
version: '0'
|
83
135
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
136
|
+
name: puma
|
137
|
+
requirement: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
type: :development
|
143
|
+
prerelease: false
|
144
|
+
version_requirements: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: sqlite3
|
151
|
+
requirement: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - ">="
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0'
|
156
|
+
type: :development
|
157
|
+
prerelease: false
|
158
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '0'
|
163
|
+
- !ruby/object:Gem::Dependency
|
164
|
+
name: sprockets-rails
|
165
|
+
requirement: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '0'
|
170
|
+
type: :development
|
171
|
+
prerelease: false
|
172
|
+
version_requirements: !ruby/object:Gem::Requirement
|
173
|
+
requirements:
|
174
|
+
- - ">="
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: '0'
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
name: rails-i18n
|
179
|
+
requirement: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - "~>"
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: 7.0.0
|
184
|
+
type: :development
|
185
|
+
prerelease: false
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - "~>"
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 7.0.0
|
191
|
+
- !ruby/object:Gem::Dependency
|
192
|
+
name: i18n-debug
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
194
|
+
requirements:
|
195
|
+
- - ">="
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
requirements:
|
202
|
+
- - ">="
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: '0'
|
205
|
+
- !ruby/object:Gem::Dependency
|
206
|
+
name: cssbundling-rails
|
207
|
+
requirement: !ruby/object:Gem::Requirement
|
208
|
+
requirements:
|
209
|
+
- - ">="
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '0'
|
212
|
+
type: :development
|
213
|
+
prerelease: false
|
214
|
+
version_requirements: !ruby/object:Gem::Requirement
|
215
|
+
requirements:
|
216
|
+
- - ">="
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: '0'
|
219
|
+
- !ruby/object:Gem::Dependency
|
220
|
+
name: rspec-parameterized
|
221
|
+
requirement: !ruby/object:Gem::Requirement
|
222
|
+
requirements:
|
223
|
+
- - ">="
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: 1.0.0
|
226
|
+
type: :development
|
227
|
+
prerelease: false
|
228
|
+
version_requirements: !ruby/object:Gem::Requirement
|
229
|
+
requirements:
|
230
|
+
- - ">="
|
231
|
+
- !ruby/object:Gem::Version
|
232
|
+
version: 1.0.0
|
233
|
+
- !ruby/object:Gem::Dependency
|
234
|
+
name: rspec-html-matchers
|
235
|
+
requirement: !ruby/object:Gem::Requirement
|
236
|
+
requirements:
|
237
|
+
- - ">="
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
version: '0'
|
240
|
+
type: :development
|
241
|
+
prerelease: false
|
242
|
+
version_requirements: !ruby/object:Gem::Requirement
|
243
|
+
requirements:
|
244
|
+
- - ">="
|
245
|
+
- !ruby/object:Gem::Version
|
246
|
+
version: '0'
|
247
|
+
- !ruby/object:Gem::Dependency
|
248
|
+
name: rails-controller-testing
|
85
249
|
requirement: !ruby/object:Gem::Requirement
|
86
250
|
requirements:
|
87
251
|
- - ">="
|
@@ -101,11 +265,8 @@ executables: []
|
|
101
265
|
extensions: []
|
102
266
|
extra_rdoc_files: []
|
103
267
|
files:
|
104
|
-
- ".rspec"
|
105
|
-
- ".rubocop.yml"
|
106
268
|
- CHANGELOG.md
|
107
269
|
- CODE_OF_CONDUCT.md
|
108
|
-
- Dockerfile
|
109
270
|
- LICENSE.txt
|
110
271
|
- MIT-LICENSE
|
111
272
|
- README.md
|
@@ -167,11 +328,9 @@ files:
|
|
167
328
|
- app/views/kaminari/_paginator.html.erb
|
168
329
|
- app/views/kaminari/_prev_page.html.erb
|
169
330
|
- base_editing_bootstrap.gemspec
|
170
|
-
- cog.toml
|
171
331
|
- config/initializers/base_field_error_proc.rb
|
172
332
|
- config/locales/it.yml
|
173
333
|
- config/routes.rb
|
174
|
-
- docker-compose.yml
|
175
334
|
- lib/base_editing_bootstrap.rb
|
176
335
|
- lib/base_editing_bootstrap/VERSION
|
177
336
|
- lib/base_editing_bootstrap/base_model.rb
|
data/.rspec
DELETED
data/.rubocop.yml
DELETED
data/Dockerfile
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
# syntax = docker/dockerfile:1
|
2
|
-
|
3
|
-
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile
|
4
|
-
ARG RUBY_VERSION=3.3.0
|
5
|
-
FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base
|
6
|
-
|
7
|
-
# Rails app lives here
|
8
|
-
WORKDIR /app
|
9
|
-
|
10
|
-
# Set production environment
|
11
|
-
ENV RAILS_ENV="production"
|
12
|
-
|
13
|
-
|
14
|
-
# Throw-away build stage to reduce size of final image
|
15
|
-
FROM base as build_dev_image
|
16
|
-
|
17
|
-
# Install packages needed to build gems and node modules
|
18
|
-
RUN apt-get update -qq && \
|
19
|
-
apt-get install --no-install-recommends -y build-essential curl git libvips node-gyp pkg-config python-is-python3
|
20
|
-
|
21
|
-
# Install JavaScript dependencies
|
22
|
-
ARG NODE_VERSION=20.11.1
|
23
|
-
ARG YARN_VERSION=1.22.22
|
24
|
-
ENV PATH=/usr/local/node/bin:$PATH
|
25
|
-
RUN curl -sL https://github.com/nodenv/node-build/archive/master.tar.gz | tar xz -C /tmp/ && \
|
26
|
-
/tmp/node-build-master/bin/node-build "${NODE_VERSION}" /usr/local/node && \
|
27
|
-
npm install -g yarn@$YARN_VERSION && \
|
28
|
-
rm -rf /tmp/node-build-master
|
29
|
-
|
30
|
-
#------------------------------------------------------------
|
31
|
-
# IMMAGINE DI SVILUPPO
|
32
|
-
FROM build_dev_image as development_image
|
33
|
-
|
34
|
-
ARG default_editor
|
35
|
-
RUN apt-get install -y nano gpg gpg-agent git-lfs git ssh
|
36
|
-
#questo serve per editare le credentials
|
37
|
-
ENV EDITOR='nano' \
|
38
|
-
BUNDLE_PATH="/bundle"
|
39
|
-
# helper per webpacker
|
40
|
-
RUN touch /.yarnrc && chmod 777 /.yarnrc
|
41
|
-
RUN mkdir /.cache && chmod 777 /.cache
|
42
|
-
RUN adduser --system -D --uid 1000 -h /home/nobody --shell /bin/bash rails rails
|
43
|
-
|
44
|
-
|
45
|
-
RUN mkdir /bundle && chmod -R ugo+rwt /bundle
|
46
|
-
VOLUME /bundle
|
47
|
-
|
48
|
-
RUN gem install foreman
|
49
|
-
##
|
50
|
-
# Installiamo:
|
51
|
-
# bundle-audit : gemma per controllo di sicurezza https://github.com/rubysec/bundler-audit
|
52
|
-
# bummr : gemma per upgrade automatizzato delle gemme con singoli commit per gemma
|
53
|
-
RUN gem install bundle-audit bummr
|
54
|
-
|
55
|
-
RUN mkdir -p /home/nobody && chmod 777 /home/nobody
|
56
|
-
ENV HOME="/home/nobody"
|
57
|
-
|
data/cog.toml
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
from_latest_tag = false
|
2
|
-
ignore_merge_commits = false
|
3
|
-
disable_changelog = false
|
4
|
-
generate_mono_repository_global_tag = true
|
5
|
-
branch_whitelist = []
|
6
|
-
skip_ci = "[skip ci]"
|
7
|
-
skip_untracked = false
|
8
|
-
pre_bump_hooks = [
|
9
|
-
"echo '{{version}}' > lib/base_editing_bootstrap/VERSION",
|
10
|
-
"docker compose run app bundle"
|
11
|
-
]
|
12
|
-
post_bump_hooks = [
|
13
|
-
"git push",
|
14
|
-
"git push origin {{version}}",
|
15
|
-
"docker compose run app gem build base_editing_bootstrap.gemspec",
|
16
|
-
"docker compose run app gem push base_editing_bootstrap-{{version}}.gem",
|
17
|
-
"rm -fr base_editing_bootstrap-{{version}}.gem"
|
18
|
-
]
|
19
|
-
pre_package_bump_hooks = []
|
20
|
-
post_package_bump_hooks = []
|
21
|
-
|
22
|
-
[git_hooks]
|
23
|
-
|
24
|
-
[commit_types]
|
25
|
-
|
26
|
-
[changelog]
|
27
|
-
path = "CHANGELOG.md"
|
28
|
-
authors = []
|
29
|
-
|
30
|
-
[bump_profiles]
|
31
|
-
|
32
|
-
[packages]
|
data/docker-compose.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
services:
|
2
|
-
app:
|
3
|
-
command: /app/spec/dummy/bin/dev
|
4
|
-
build:
|
5
|
-
context: .
|
6
|
-
user: ${CMPS_UID_GID}
|
7
|
-
volumes:
|
8
|
-
- '.:/app'
|
9
|
-
- 'bundle:/bundle'
|
10
|
-
- '~/.gitconfig:/home/nobody/.gitconfig'
|
11
|
-
- '~/.gnupg:/home/nobody/.gnupg'
|
12
|
-
- '~/.gem:/home/nobody/.gem'
|
13
|
-
- '~/.ssh:/home/nobody/.ssh'
|
14
|
-
environment:
|
15
|
-
RAILS_ENV: development
|
16
|
-
ports:
|
17
|
-
- 3000:3000
|
18
|
-
|
19
|
-
volumes:
|
20
|
-
bundle:
|