crudable-rails 1.2 → 1.2.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/crudable/rails/base.rb +13 -3
- data/lib/crudable/rails/engine.rb +4 -0
- data/lib/crudable/rails/nestable.rb +1 -1
- data/lib/crudable/rails/version.rb +1 -1
- data/lib/crudable-rails.rb +3 -1
- metadata +34 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8978c74f649c14c989bad8ae160fb16544cbfbff0711d7322316aec666effa08
|
4
|
+
data.tar.gz: '04709d211dabd30b4daac9d5bc5b7249eff31d6eb0c5715b03ce623bd6a898b8'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80c559e8bea6582bde9b75ea524311d6a1e45f89bf0e24584b260c2ef8b8636998d17fd4dbc030b405a199fcc2317ecac464e9ddef565edf1475c3fbbbb0429f
|
7
|
+
data.tar.gz: 28f94c76baa49ea628e281e8b83d29f23c148c956ee1d691419540db5bbee886d416d27a69ee6823f57541d637490db2bec1306ab5ba9280c91e22785dcad7a0
|
data/lib/crudable/rails/base.rb
CHANGED
@@ -120,7 +120,7 @@ module Crudable
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def friendly_finders?
|
123
|
-
return false unless defined?(FriendlyId) &&
|
123
|
+
return false unless defined?(FriendlyId) && resource_class.respond_to?(:friendly)
|
124
124
|
|
125
125
|
true
|
126
126
|
end
|
@@ -216,14 +216,14 @@ module Crudable
|
|
216
216
|
|
217
217
|
def on_failed_create_render
|
218
218
|
respond_to do |format|
|
219
|
-
format.turbo_stream
|
219
|
+
format.turbo_stream { render_action(:new) }
|
220
220
|
format.html { render :new, status: :unprocessable_entity }
|
221
221
|
end
|
222
222
|
end
|
223
223
|
|
224
224
|
def on_failed_update_render
|
225
225
|
respond_to do |format|
|
226
|
-
format.turbo_stream
|
226
|
+
format.turbo_stream { render_action(:edit) }
|
227
227
|
format.html { render :edit, status: :unprocessable_entity }
|
228
228
|
end
|
229
229
|
end
|
@@ -243,6 +243,16 @@ module Crudable
|
|
243
243
|
def permitted_params
|
244
244
|
raise NotImplementedError, 'You must implement permitted_params in your controller'
|
245
245
|
end
|
246
|
+
|
247
|
+
def render_action(default_action_name)
|
248
|
+
logger.debug "Rendering relevant action for #{controller_path}/#{default_action_name} as #{request.format.symbol}"
|
249
|
+
return render default_action_name if lookup_context.template_exists?("#{controller_path}/#{default_action_name}")
|
250
|
+
|
251
|
+
Crudable::Rails.deprecator.warn("Rendering fallback: #{action_name}, format: #{request.format.symbol}. Rename your template to #{default_action_name}")
|
252
|
+
|
253
|
+
logger.debug "Rendering fallback: #{action_name}"
|
254
|
+
render
|
255
|
+
end
|
246
256
|
end
|
247
257
|
end
|
248
258
|
end
|
@@ -4,6 +4,10 @@ module Crudable
|
|
4
4
|
ActiveSupport.on_load(:action_controller) do
|
5
5
|
::ActionController::Base.include Crudable::Rails::Controller
|
6
6
|
end
|
7
|
+
|
8
|
+
initializer "crudable-rails.deprecator" do |app|
|
9
|
+
app.deprecators[:crudable_rails] = Crudable::Rails.deprecator
|
10
|
+
end
|
7
11
|
end
|
8
12
|
end
|
9
13
|
end
|
@@ -16,7 +16,7 @@ module Crudable
|
|
16
16
|
|
17
17
|
object_name = Regexp.last_match(1)
|
18
18
|
object_scope = object_name.classify.constantize
|
19
|
-
object_scope =
|
19
|
+
object_scope = object_scope.friendly if friendly_finders?
|
20
20
|
instance_variable_set("@#{object_name}", object_scope.find(value))
|
21
21
|
self.class.send(:decorates_assigned, object_name.to_sym) if defined?(Draper)
|
22
22
|
end
|
data/lib/crudable-rails.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crudable-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomislav Simnett
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-20 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: 9.0.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,20 +27,23 @@ dependencies:
|
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '7.0'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 9.0.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: turbo-rails
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
|
-
- - "
|
37
|
+
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
39
|
+
version: 2.0.0
|
34
40
|
type: :runtime
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
|
-
- - "
|
44
|
+
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
46
|
+
version: 2.0.0
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: rubocop
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,6 +51,9 @@ dependencies:
|
|
45
51
|
- - ">="
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '1.50'
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '2.0'
|
48
57
|
type: :development
|
49
58
|
prerelease: false
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,6 +61,9 @@ dependencies:
|
|
52
61
|
- - ">="
|
53
62
|
- !ruby/object:Gem::Version
|
54
63
|
version: '1.50'
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '2.0'
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: mocha
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +71,9 @@ dependencies:
|
|
59
71
|
- - ">="
|
60
72
|
- !ruby/object:Gem::Version
|
61
73
|
version: '2.6'
|
74
|
+
- - "<"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 3.0.0
|
62
77
|
type: :development
|
63
78
|
prerelease: false
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -66,7 +81,14 @@ dependencies:
|
|
66
81
|
- - ">="
|
67
82
|
- !ruby/object:Gem::Version
|
68
83
|
version: '2.6'
|
69
|
-
|
84
|
+
- - "<"
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 3.0.0
|
87
|
+
description: Crudable Rails provides everything needed to quickly build fully functional
|
88
|
+
CRUD-based controllers in a Rails application. It streamlines resource management,
|
89
|
+
reduces boilerplate, and enforces best practices for handling requests, responses,
|
90
|
+
and strong parameters. Ideal for developers looking to accelerate Rails development
|
91
|
+
while maintaining flexibility and clean architecture.
|
70
92
|
email:
|
71
93
|
- tom@initforthe.com
|
72
94
|
executables: []
|
@@ -89,7 +111,7 @@ homepage: https://gitlab.com/initforthe/crudable-rails
|
|
89
111
|
licenses:
|
90
112
|
- MIT
|
91
113
|
metadata: {}
|
92
|
-
post_install_message:
|
114
|
+
post_install_message:
|
93
115
|
rdoc_options: []
|
94
116
|
require_paths:
|
95
117
|
- lib
|
@@ -97,15 +119,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
119
|
requirements:
|
98
120
|
- - ">="
|
99
121
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
122
|
+
version: 3.0.0
|
101
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
124
|
requirements:
|
103
125
|
- - ">="
|
104
126
|
- !ruby/object:Gem::Version
|
105
127
|
version: '0'
|
106
128
|
requirements: []
|
107
|
-
rubygems_version: 3.
|
108
|
-
signing_key:
|
129
|
+
rubygems_version: 3.5.9
|
130
|
+
signing_key:
|
109
131
|
specification_version: 4
|
110
132
|
summary: CRUD operations for Rails controllers
|
111
133
|
test_files: []
|