better_record 0.8.0 → 0.8.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/app/models/better_record/base.rb +3 -1
- data/app/models/better_record/current.rb +2 -0
- data/app/models/better_record/logged_action.rb +2 -0
- data/app/models/better_record/table_size.rb +2 -0
- data/config/initializers/active_record/money_type.rb +2 -0
- data/config/initializers/concerns.rb +2 -0
- data/config/initializers/core_ext/boolean.rb +2 -0
- data/config/initializers/core_ext/date.rb +2 -0
- data/config/initializers/core_ext/integer.rb +2 -0
- data/config/initializers/core_ext/string.rb +2 -0
- data/config/initializers/dkim.rb +2 -0
- data/config/initializers/filter_parameter_logging.rb +2 -0
- data/config/initializers/inflections.rb +2 -0
- data/config/initializers/jazz_fingers.rb +2 -0
- data/config/initializers/mime_types.rb +2 -0
- data/config/initializers/redis_store.rb +2 -0
- data/config/routes.rb +2 -0
- data/lib/better_record.rb +0 -1
- data/lib/better_record/batches.rb +2 -0
- data/lib/better_record/concerns/active_record_extensions/associations_extensions/association_scope_extensions.rb +2 -0
- data/lib/better_record/concerns/active_record_extensions/associations_extensions/belongs_to_polymorphic_extensions.rb +2 -0
- data/lib/better_record/concerns/active_record_extensions/associations_extensions/builder_extensions/association_extensions.rb +2 -0
- data/lib/better_record/concerns/active_record_extensions/attribute_methods/write.rb +44 -0
- data/lib/better_record/concerns/active_record_extensions/base_extensions.rb +4 -1
- data/lib/better_record/concerns/active_record_extensions/reflection_extensions.rb +2 -0
- data/lib/better_record/concerns/controllers/authenticatable.rb +2 -0
- data/lib/better_record/concerns/controllers/sessionable.rb +2 -0
- data/lib/better_record/concerns/controllers/uploadable.rb +2 -0
- data/lib/better_record/encoder.rb +2 -0
- data/lib/better_record/engine.rb +2 -0
- data/lib/better_record/fake_redis.rb +2 -0
- data/lib/better_record/jwt.rb +2 -0
- data/lib/better_record/migration.rb +2 -0
- data/lib/better_record/polymorphic_override.rb +2 -0
- data/lib/better_record/railtie.rb +2 -0
- data/lib/better_record/relation.rb +2 -0
- data/lib/better_record/rspec/expectations.rb +2 -0
- data/lib/better_record/rspec/expectations/write.rb +2 -0
- data/lib/better_record/rspec/extensions.rb +2 -0
- data/lib/better_record/rspec/extensions/boolean_column.rb +2 -0
- data/lib/better_record/rspec/extensions/has_valid_factory.rb +2 -0
- data/lib/better_record/rspec/extensions/optional_column.rb +2 -0
- data/lib/better_record/rspec/extensions/required_column.rb +2 -0
- data/lib/better_record/version.rb +3 -1
- data/lib/generators/better_record/eject_rspec_extensions/eject_rspec_extensions_generator.rb +2 -0
- data/lib/generators/better_record/setup/setup_generator.rb +2 -0
- data/lib/generators/better_record/setup/templates/current.rb +2 -0
- data/lib/generators/better_record/setup/templates/initializer.rb +2 -0
- data/lib/templates/active_record/model/model.rb +2 -0
- data/lib/templates/rspec/model/model_spec.rb +2 -0
- metadata +2 -2
- data/lib/better_record/nullify_blank_attributes.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cc7df8cadc6ee7f40396d5d405c281fc3d08ac10182db8fb8725b14cfb947b0
|
4
|
+
data.tar.gz: a000455e51c4008ec65661ddc6de35e44b624e72e73a96f2cea03638119877e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad4e3ea2a8e85df2c45725f01c673cd0679766c53ac78d622ccd54f26225aa7ea7ec1905f37d059ba737dc5eed44f902a649803315a5a7ca3d0d08caa49984d1
|
7
|
+
data.tar.gz: 9e326014afcae6785bc3d17c8313e4551af0669f0d7653bd766fb31835e3b7fcc9e4abe61de4c2604881dc85a38333fb548101cf0282ef0795cf28eb6e810d78
|
@@ -26,6 +26,8 @@ module BetterRecord
|
|
26
26
|
# == Class Methods ========================================================
|
27
27
|
|
28
28
|
# == Instance Methods =====================================================
|
29
|
-
|
29
|
+
def indifferent_attributes
|
30
|
+
attributes.with_indifferent_access
|
31
|
+
end
|
30
32
|
end
|
31
33
|
end
|
data/config/initializers/dkim.rb
CHANGED
data/config/routes.rb
CHANGED
data/lib/better_record.rb
CHANGED
@@ -63,7 +63,6 @@ ActiveSupport.on_load(:active_record) do
|
|
63
63
|
include BetterRecord::Migration
|
64
64
|
end
|
65
65
|
end
|
66
|
-
include BetterRecord::NullifyBlankAttributes
|
67
66
|
end
|
68
67
|
# !centered[## [Men's Results](/assets/pdfs/2018-golf-international-results-male.pdf)--br--[](/assets/pdfs/2018-golf-international-results-male.pdf)]
|
69
68
|
# !centered[## [Women's Results](/assets/pdfs/2018-golf-international-results-female.pdf)--br--[](/assets/pdfs/2018-golf-international-results-female.pdf)]
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BetterRecord
|
4
|
+
module AttributeMethods
|
5
|
+
module Write
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
|
8
|
+
def _write_attribute(attr_name, value)
|
9
|
+
if should_normalize? attr_name
|
10
|
+
super(attr_name, normalize_attribute_value(attr_name, value))
|
11
|
+
else
|
12
|
+
super(attr_name, value)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def normalize_attribute_value(attr_name, value)
|
17
|
+
case type_for_attribute(attr_name)
|
18
|
+
when ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array
|
19
|
+
[value].flatten.select(&:present?)
|
20
|
+
when ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Jsonb
|
21
|
+
value.presence || {}
|
22
|
+
when ActiveRecord::Type::Boolean
|
23
|
+
Boolean.parse(value)
|
24
|
+
else
|
25
|
+
value.presence
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def should_normalize?(attr_name)
|
30
|
+
if !respond_to?(:normalize_columns?) || normalize_columns?
|
31
|
+
if respond_to?(:normalized_columns)
|
32
|
+
normalized_columns.is_a?(Array) ?
|
33
|
+
normalized_columns.include?(attr_name.to_sym) :
|
34
|
+
normalized_columns[attr_name]
|
35
|
+
else
|
36
|
+
true
|
37
|
+
end
|
38
|
+
else
|
39
|
+
false
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'active_support/concern'
|
2
4
|
require 'active_record/base'
|
3
5
|
|
@@ -6,6 +8,7 @@ module BetterRecord
|
|
6
8
|
extend ActiveSupport::Concern
|
7
9
|
|
8
10
|
included do
|
11
|
+
include AttributeMethods::Write
|
9
12
|
before_validation :set_booleans
|
10
13
|
end
|
11
14
|
|
@@ -22,7 +25,7 @@ module BetterRecord
|
|
22
25
|
longest_name = 0
|
23
26
|
column_names.each {|nm| longest_name = nm.length if nm.length > longest_name}
|
24
27
|
longest_name += 1
|
25
|
-
str = ''
|
28
|
+
str = ''.dup
|
26
29
|
columns.each do |col|
|
27
30
|
unless col.name == 'id'
|
28
31
|
spaces = "#{' ' * (longest_name - col.name.length)}"
|
data/lib/better_record/engine.rb
CHANGED
data/lib/better_record/jwt.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: better_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sampson Crowley
|
@@ -264,6 +264,7 @@ files:
|
|
264
264
|
- lib/better_record/concerns/active_record_extensions/associations_extensions/association_scope_extensions.rb
|
265
265
|
- lib/better_record/concerns/active_record_extensions/associations_extensions/belongs_to_polymorphic_extensions.rb
|
266
266
|
- lib/better_record/concerns/active_record_extensions/associations_extensions/builder_extensions/association_extensions.rb
|
267
|
+
- lib/better_record/concerns/active_record_extensions/attribute_methods/write.rb
|
267
268
|
- lib/better_record/concerns/active_record_extensions/base_extensions.rb
|
268
269
|
- lib/better_record/concerns/active_record_extensions/reflection_extensions.rb
|
269
270
|
- lib/better_record/concerns/controllers/authenticatable.rb
|
@@ -274,7 +275,6 @@ files:
|
|
274
275
|
- lib/better_record/fake_redis.rb
|
275
276
|
- lib/better_record/jwt.rb
|
276
277
|
- lib/better_record/migration.rb
|
277
|
-
- lib/better_record/nullify_blank_attributes.rb
|
278
278
|
- lib/better_record/polymorphic_override.rb
|
279
279
|
- lib/better_record/railtie.rb
|
280
280
|
- lib/better_record/relation.rb
|