rails-fields 0.3.0 → 0.3.2
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9f22e7663d0f74d05a057fa3ccd9b0777ff675109dd7aa87675b52cc1c4accad
|
|
4
|
+
data.tar.gz: b157f7f8119be2e3e723ea6948a223d6d0f048984371d208859c1b5f9d811ccc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b68e8d9810bc4029d3dad204e48a1909b8a7bd76f8014edacd5b198d6d19ecf768be0e3741fab71b90304270f736e0c6fde9bebef4c71cdba7d0c471636af67d
|
|
7
|
+
data.tar.gz: e4ff8c3e2d5b051bd5e8324ff920e69394388936c92ee8c13d64684cbcc51819e03559494dc15ad62d6829133bfc91a78b78a45087bfc42450f03062a27fa196
|
data/lib/rails-fields.rb
CHANGED
|
@@ -9,11 +9,8 @@ require "rails_fields/class_methods"
|
|
|
9
9
|
require "rails_fields/instance_methods"
|
|
10
10
|
require "rails_fields/enforce_fields_middleware"
|
|
11
11
|
|
|
12
|
-
Rails.logger.debug "RailsFields file root"
|
|
13
|
-
|
|
14
12
|
# Provides enforcement of declared field for ActiveRecord models.
|
|
15
13
|
module RailsFields
|
|
16
|
-
Rails.logger.debug "RailsFields module"
|
|
17
14
|
@processed_classes = {}
|
|
18
15
|
|
|
19
16
|
def self.processed_classes
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
Rails.logger.debug "RailsFields::EnforceFieldsMiddleware"
|
|
2
|
-
|
|
3
1
|
module RailsFields
|
|
4
2
|
class EnforceFieldsMiddleware
|
|
5
3
|
def initialize(app)
|
|
6
4
|
@app = app
|
|
7
|
-
Rails.logger.debug "RailsFields::EnforceFieldsMiddleware initialize"
|
|
8
5
|
end
|
|
9
6
|
|
|
10
7
|
def call(env)
|
|
11
|
-
Rails.logger.debug "RailsFields::EnforceFieldsMiddleware call"
|
|
12
8
|
ApplicationRecord.descendants.each do |model|
|
|
13
9
|
model.enforce_declared_fields # if model.respond_to?(:enforce_declared_fields)
|
|
14
10
|
end
|
data/lib/rails_fields/railtie.rb
CHANGED
|
@@ -2,8 +2,6 @@ require "active_support"
|
|
|
2
2
|
require "active_support/rails"
|
|
3
3
|
require "rails_fields/enforce_fields_middleware"
|
|
4
4
|
|
|
5
|
-
Rails.logger.debug "RailsFields::Railtie"
|
|
6
|
-
|
|
7
5
|
module RailsFields
|
|
8
6
|
class Railtie < Rails::Railtie
|
|
9
7
|
# config.eager_load_namespaces << RailsFields
|
|
@@ -16,7 +14,7 @@ module RailsFields
|
|
|
16
14
|
end
|
|
17
15
|
|
|
18
16
|
initializer "rails_fields.middleware" do |app|
|
|
19
|
-
app.middleware.
|
|
17
|
+
app.middleware.insert_after ActiveRecord::Migration::CheckPending, RailsFields::EnforceFieldsMiddleware
|
|
20
18
|
end
|
|
21
19
|
end
|
|
22
20
|
end
|
|
@@ -61,8 +61,7 @@ module RailsFields
|
|
|
61
61
|
type_name = type[:name]
|
|
62
62
|
if previous_fields[name]
|
|
63
63
|
if previous_fields[name] != type_name
|
|
64
|
-
model_changes[:type_changed] << { name:, from: previous_fields[name],
|
|
65
|
-
to: type }
|
|
64
|
+
model_changes[:type_changed] << { name:, from: previous_fields[name], to: type }
|
|
66
65
|
end
|
|
67
66
|
else
|
|
68
67
|
model_changes[:added] << { name:, type: }
|
|
@@ -177,7 +176,7 @@ module RailsFields
|
|
|
177
176
|
|
|
178
177
|
# Handle fields' type changes
|
|
179
178
|
model_changes.dig(:type_changed)&.each do |change|
|
|
180
|
-
change_to = change[:to]
|
|
179
|
+
change_to = change[:to][:name]
|
|
181
180
|
migration_code << " change_column :#{model_name.tableize}, :#{change[:name]}, :#{change_to}"
|
|
182
181
|
end
|
|
183
182
|
|
data/lib/rails_fields/version.rb
CHANGED