activerecord-ignored_columns 0.2.0 → 0.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/CHANGELOG.md +6 -0
- data/lib/activerecord/ignored_columns.rb +11 -2
- data/lib/activerecord/ignored_columns/model_schema.rb +2 -2
- data/lib/activerecord/ignored_columns/query_methods.rb +10 -17
- data/lib/activerecord/ignored_columns/version.rb +1 -1
- metadata +36 -3
- data/lib/activerecord/ignored_columns/railtie.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4aba07522289d5658e9e56b22fbd7025cbf30804
|
4
|
+
data.tar.gz: 16f5eea27304e811b9d65d3fd75e69aad2a12bbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ba55d9fc3effc6716129727d5f419e6891cae01d3174bccf9355c6dbbc034ca5b073458c77210d833c0b573b11c0035b9371e20392e83c6be8b0a62ac1b70f3
|
7
|
+
data.tar.gz: d66c4fab8932a84415f5a5bd66fd68bcfa1e1594a800110f177b0c11754f86945c7246505e8f316d72560963756a24a2543c6306ea1ead6506769acc6501fa95
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## [0.2.1](https://github.com/yasaichi/activerecord-ignored_columns/releases/tag/v0.2.1) (July 6, 2019)
|
4
|
+
|
5
|
+
### Compatible changes
|
6
|
+
|
7
|
+
- [Overall refactoring](https://github.com/yasaichi/activerecord-ignored_columns/pull/3)
|
8
|
+
|
3
9
|
## [0.2.0](https://github.com/yasaichi/activerecord-ignored_columns/releases/tag/v0.2.0) (July 6, 2019)
|
4
10
|
|
5
11
|
### Enhancements
|
@@ -1,7 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "active_support/lazy_load_hooks"
|
4
|
+
require_relative "ignored_columns/model_schema"
|
5
|
+
require_relative "ignored_columns/query_methods"
|
3
6
|
require_relative "ignored_columns/version"
|
4
7
|
|
5
|
-
|
6
|
-
|
8
|
+
ActiveSupport.on_load(:active_record) do
|
9
|
+
if ActiveRecord.version < Gem::Version.create("5")
|
10
|
+
include(ActiveRecord::IgnoredColumns::ModelSchema)
|
11
|
+
end
|
12
|
+
|
13
|
+
if ActiveRecord.version < Gem::Version.create("5.1")
|
14
|
+
ActiveRecord::Relation.include(ActiveRecord::IgnoredColumns::QueryMethods)
|
15
|
+
end
|
7
16
|
end
|
@@ -4,8 +4,8 @@ module ActiveRecord
|
|
4
4
|
module IgnoredColumns
|
5
5
|
module ModelSchema
|
6
6
|
def self.included(active_record_base)
|
7
|
-
active_record_base.class_exec
|
8
|
-
extend
|
7
|
+
active_record_base.class_exec do
|
8
|
+
extend ClassMethods
|
9
9
|
self.ignored_columns = [].freeze
|
10
10
|
end
|
11
11
|
end
|
@@ -3,25 +3,18 @@
|
|
3
3
|
module ActiveRecord
|
4
4
|
module IgnoredColumns
|
5
5
|
module QueryMethods
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
if !selects.empty? || select_values.any? || !klass.ignored_columns.any?
|
14
|
-
return former_build_select_implementation? ? super : super(arel)
|
15
|
-
end
|
16
|
-
|
17
|
-
arel.project(*klass.column_names.map { |name|
|
18
|
-
table[klass.attribute_aliases[name] || name]
|
19
|
-
})
|
6
|
+
# Override
|
7
|
+
private def build_select(arel, *args)
|
8
|
+
if args.empty? # ActiveRecord 4.1 or later
|
9
|
+
return super(arel) if select_values.any? || !klass.ignored_columns.any?
|
10
|
+
else
|
11
|
+
selects = args.first
|
12
|
+
return super(arel, selects) if !selects.empty? || !klass.ignored_columns.any?
|
20
13
|
end
|
21
14
|
|
22
|
-
|
23
|
-
|
24
|
-
|
15
|
+
arel.project(*klass.column_names.map { |name|
|
16
|
+
table[klass.attribute_aliases[name.to_s] || name] # arel_attribute(name)
|
17
|
+
})
|
25
18
|
end
|
26
19
|
end
|
27
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-ignored_columns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuichi Goto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-07-
|
11
|
+
date: 2019-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -30,6 +30,26 @@ dependencies:
|
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '5.1'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: activesupport
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '4.0'
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '5.1'
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '4.0'
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '5.1'
|
33
53
|
- !ruby/object:Gem::Dependency
|
34
54
|
name: appraisal
|
35
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,6 +120,20 @@ dependencies:
|
|
100
120
|
- - ">="
|
101
121
|
- !ruby/object:Gem::Version
|
102
122
|
version: '0'
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: reek
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
130
|
+
type: :development
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
103
137
|
- !ruby/object:Gem::Dependency
|
104
138
|
name: simplecov
|
105
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,7 +176,6 @@ files:
|
|
142
176
|
- lib/activerecord/ignored_columns.rb
|
143
177
|
- lib/activerecord/ignored_columns/model_schema.rb
|
144
178
|
- lib/activerecord/ignored_columns/query_methods.rb
|
145
|
-
- lib/activerecord/ignored_columns/railtie.rb
|
146
179
|
- lib/activerecord/ignored_columns/version.rb
|
147
180
|
homepage: https://github.com/yasaichi/activerecord-ignored_columns
|
148
181
|
licenses:
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "active_support/lazy_load_hooks"
|
4
|
-
require "rails/railtie"
|
5
|
-
require_relative "model_schema"
|
6
|
-
require_relative "query_methods"
|
7
|
-
|
8
|
-
module ActiveRecord
|
9
|
-
module IgnoredColumns
|
10
|
-
class Railtie < ::Rails::Railtie
|
11
|
-
initializer "active_record.ignored_columns" do
|
12
|
-
::ActiveSupport.on_load(:active_record) do
|
13
|
-
rails_version = ::Rails.respond_to?(:gem_version) ?
|
14
|
-
::Rails.gem_version : ::Gem::Version.create(::Rails.version)
|
15
|
-
|
16
|
-
if rails_version < ::Gem::Version.create("5")
|
17
|
-
include ::ActiveRecord::IgnoredColumns::ModelSchema
|
18
|
-
end
|
19
|
-
|
20
|
-
if rails_version < ::Gem::Version.create("5.1")
|
21
|
-
::ActiveRecord::Relation.include(::ActiveRecord::IgnoredColumns::QueryMethods)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|