better_record 0.8.1 → 0.8.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 +4 -4
- data/lib/better_record.rb +6 -1
- data/lib/better_record/concerns/active_record_extensions/attribute_methods/write.rb +1 -1
- data/lib/better_record/version.rb +1 -1
- data/{config/initializers → lib}/core_ext/boolean.rb +6 -0
- data/lib/generators/better_record/setup/templates/initializer.rb +5 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20b9f20b5d31a8e1182dd09ca27d6c09551eafa48bb1a0a722681a9194ccf85a
|
4
|
+
data.tar.gz: 8b4604c103762493e13a49b13c142b31e4da585a0b4d2932025e23a1b162d3c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08ac2e82687f68237f666a8f5c4e4768dbc043cfce5ce60960ee7710827334664128e37e88d30abe4b1202aed9fb9b6f78478fe33621f37897550cc70e56ec54'
|
7
|
+
data.tar.gz: ca3e3094b2133e4750d3dc9bb08d12b357ae42e894dada66c3631d857d0a9625c0ee4cf0922da71f66212e1cff12e421e2fb6c9ce369abae9c2d0cd364b74461
|
data/lib/better_record.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'active_support'
|
2
4
|
require 'active_record'
|
5
|
+
require 'active_record/type'
|
3
6
|
require 'csv'
|
4
7
|
|
5
8
|
Dir.glob("#{File.expand_path(__dir__)}/core_ext/*.rb").each do |d|
|
@@ -8,6 +11,7 @@ end
|
|
8
11
|
|
9
12
|
module BetterRecord
|
10
13
|
ATTRIBUTE_METHODS = [
|
14
|
+
:strict_booleans,
|
11
15
|
:default_polymorphic_method,
|
12
16
|
:db_audit_schema,
|
13
17
|
:has_auditing_relation_by_default,
|
@@ -37,9 +41,10 @@ module BetterRecord
|
|
37
41
|
end
|
38
42
|
end
|
39
43
|
|
44
|
+
self.strict_booleans = Boolean.strict_parse((ENV.fetch('BR_STRICT_BOOLEANS') { false }))
|
40
45
|
self.default_polymorphic_method = (ENV.fetch('BR_DEFAULT_POLYMORPHIC_METHOD') { :polymorphic_name }).to_sym
|
41
46
|
self.db_audit_schema = ENV.fetch('BR_DB_AUDIT_SCHEMA') { 'auditing' }
|
42
|
-
self.has_auditing_relation_by_default =
|
47
|
+
self.has_auditing_relation_by_default = Boolean.strict_parse(ENV.fetch('BR_ADD_HAS_MANY') { true })
|
43
48
|
self.audit_relation_name = (ENV.fetch('BR_AUDIT_RELATION_NAME') { 'logged_actions' }).to_sym
|
44
49
|
self.layout_template = (ENV.fetch('BR_LAYOUT_TEMPLATE') { 'better_record/layout' }).to_s
|
45
50
|
self.app_domain_name = (ENV.fetch('APP_DOMAIN_NAME') { 'non_existant_domain.com' }).to_s
|
@@ -20,7 +20,7 @@ module BetterRecord
|
|
20
20
|
when ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Jsonb
|
21
21
|
value.presence || {}
|
22
22
|
when ActiveRecord::Type::Boolean
|
23
|
-
Boolean.parse(value)
|
23
|
+
BetterRecord.strict_booleans ? Boolean.strict_parse(value) : Boolean.parse(value)
|
24
24
|
else
|
25
25
|
value.presence
|
26
26
|
end
|
@@ -4,6 +4,7 @@ module BetterRecord
|
|
4
4
|
##########################################################################
|
5
5
|
# THE FOLLOWING SETTINGS CAN ALSO BE SET THROUGH ENVIRONMENT VARIABLES #
|
6
6
|
# #
|
7
|
+
# strict_booleans: BR_STRICT_BOOLEANS #
|
7
8
|
# default_polymorphic_method: BR_DEFAULT_POLYMORPHIC_METHOD #
|
8
9
|
# db_audit_schema: BR_DB_AUDIT_SCHEMA #
|
9
10
|
# has_auditing_relation_by_default: BR_ADD_HAS_MANY #
|
@@ -17,6 +18,10 @@ module BetterRecord
|
|
17
18
|
# certificate_session_user_method: BR_CERTIFICATE_SESSION_USER_METHOD #
|
18
19
|
##########################################################################
|
19
20
|
|
21
|
+
# uncomment the following line to disable three-state booleans in models
|
22
|
+
|
23
|
+
# self.strict_booleans = true
|
24
|
+
|
20
25
|
# uncomment the following line to use table_names instead of model names
|
21
26
|
# as the 'type' value in polymorphic relationships
|
22
27
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sampson Crowley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -245,7 +245,6 @@ files:
|
|
245
245
|
- app/views/layouts/better_record/application.html.erb
|
246
246
|
- config/initializers/active_record/money_type.rb
|
247
247
|
- config/initializers/concerns.rb
|
248
|
-
- config/initializers/core_ext/boolean.rb
|
249
248
|
- config/initializers/core_ext/date.rb
|
250
249
|
- config/initializers/core_ext/integer.rb
|
251
250
|
- config/initializers/core_ext/string.rb
|
@@ -288,6 +287,7 @@ files:
|
|
288
287
|
- lib/better_record/tasks/better_record/install.rake
|
289
288
|
- lib/better_record/tasks/spec/attributes.rake
|
290
289
|
- lib/better_record/version.rb
|
290
|
+
- lib/core_ext/boolean.rb
|
291
291
|
- lib/generators/better_record/eject_rspec_extensions/USAGE
|
292
292
|
- lib/generators/better_record/eject_rspec_extensions/eject_rspec_extensions_generator.rb
|
293
293
|
- lib/generators/better_record/setup/USAGE
|