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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99f925a26ed45caef1bc7192a910d67de0d25c6e8129dce513b16d828b96b500
4
- data.tar.gz: 9c32e8484c889fd27dbbdae01c6da7eecfd40a10bc444219fdb763c689961e50
3
+ metadata.gz: 8978c74f649c14c989bad8ae160fb16544cbfbff0711d7322316aec666effa08
4
+ data.tar.gz: '04709d211dabd30b4daac9d5bc5b7249eff31d6eb0c5715b03ce623bd6a898b8'
5
5
  SHA512:
6
- metadata.gz: 3fddb792095a0eb01d247b64e4ce00fc5a89db2b98b12686eb17a4860667e9ee036ddfad4fc3cb01cc6467e96665c046adc6883386c6c613dc3496a15a614b9d
7
- data.tar.gz: 14e0083dd324cf14aa527bcc08e604d9bf5cab4c9ccbb753a7360a3670a39f43aaa672860a00a54aa11253848c8dbe9a74f6811496fe957546075498e33126fa
6
+ metadata.gz: 80c559e8bea6582bde9b75ea524311d6a1e45f89bf0e24584b260c2ef8b8636998d17fd4dbc030b405a199fcc2317ecac464e9ddef565edf1475c3fbbbb0429f
7
+ data.tar.gz: 28f94c76baa49ea628e281e8b83d29f23c148c956ee1d691419540db5bbee886d416d27a69ee6823f57541d637490db2bec1306ab5ba9280c91e22785dcad7a0
@@ -120,7 +120,7 @@ module Crudable
120
120
  end
121
121
 
122
122
  def friendly_finders?
123
- return false unless defined?(FriendlyId) && object_class.respond_to?(:friendly)
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 = object_class.friendly if friendly_finders?
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
@@ -3,6 +3,6 @@
3
3
  # Crudable Version
4
4
  module Crudable
5
5
  module Rails
6
- VERSION = '1.2'
6
+ VERSION = '1.2.1'
7
7
  end
8
8
  end
@@ -9,6 +9,8 @@ require 'crudable/rails/nestable'
9
9
 
10
10
  module Crudable
11
11
  module Rails
12
- # Your code goes here...
12
+ def self.deprecator
13
+ @deprecator ||= ActiveSupport::Deprecation.new("2.0", "Crudable::Rails")
14
+ end
13
15
  end
14
16
  end
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: '1.2'
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: 2024-11-29 00:00:00.000000000 Z
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: '2.0'
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: '2.0'
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
- description: CRUD operations for Rails controllers
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: '0'
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.3.26
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: []