column_namespace 0.0.1 → 0.0.3
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/.github/workflows/ci.yml +34 -0
- data/.gitignore +2 -0
- data/Appraisals +24 -15
- data/Changes +7 -0
- data/README.md +1 -1
- data/column_namespace.gemspec +5 -2
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/5.2.gemfile +1 -1
- data/gemfiles/6.0.gemfile +5 -1
- data/gemfiles/{5.1.gemfile → 7.0.gemfile} +2 -2
- data/gemfiles/{5.0.gemfile → 7.1.gemfile} +2 -2
- data/gemfiles/{4.2.gemfile → 7.2.gemfile} +2 -2
- data/gemfiles/8.0.gemfile +8 -0
- data/lib/column_namespace/version.rb +1 -1
- data/lib/column_namespace.rb +4 -3
- metadata +31 -19
- data/.travis.yml +0 -33
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d76a896d4b733c6d0aac640710a80690b2a8c13bcf40f35196649641614f1d13
|
|
4
|
+
data.tar.gz: be29fb5393f5f1e32dfd3cd5b05a344a936a96f2cae8ece750b208fc355f6050
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dfb33f8bf6b6f04e85ed7f49315dcb014a625969e43db9fe2b821a0200d39071a975e22ccca8a8ec456083231ee8075dc3a54b58eea72022356c8c3d433e92b2
|
|
7
|
+
data.tar.gz: 1cbd2f733a7f46c46ae37a09d0ba22f4370037bd8f12c7ebc130c9b6f6f148ffde6d1830462767ea191571fe037cd660f4595bd12b62e32610c8abeabd396844
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ["**"]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
test:
|
|
13
|
+
name: Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }}
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
env:
|
|
16
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
|
|
17
|
+
strategy:
|
|
18
|
+
fail-fast: false
|
|
19
|
+
matrix:
|
|
20
|
+
include:
|
|
21
|
+
- { ruby: "2.7", rails: "5.2" }
|
|
22
|
+
- { ruby: "2.7", rails: "6.0" }
|
|
23
|
+
- { ruby: "3.1", rails: "7.0" }
|
|
24
|
+
- { ruby: "3.2", rails: "7.1" }
|
|
25
|
+
- { ruby: "3.3", rails: "7.2" }
|
|
26
|
+
- { ruby: "3.3", rails: "8.0" }
|
|
27
|
+
- { ruby: "4.0", rails: "8.0" }
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v7
|
|
30
|
+
- uses: ruby/setup-ruby@v1
|
|
31
|
+
with:
|
|
32
|
+
ruby-version: ${{ matrix.ruby }}
|
|
33
|
+
bundler-cache: true
|
|
34
|
+
- run: bundle exec rspec
|
data/.gitignore
CHANGED
data/Appraisals
CHANGED
|
@@ -1,24 +1,33 @@
|
|
|
1
|
-
appraise "
|
|
2
|
-
gem "activerecord", "~>
|
|
3
|
-
gem "sqlite3", "~> 1.
|
|
1
|
+
appraise "5.2" do
|
|
2
|
+
gem "activerecord", "~> 5.2.4"
|
|
3
|
+
gem "sqlite3", "~> 1.4"
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
-
appraise "
|
|
7
|
-
gem "activerecord", "~>
|
|
8
|
-
gem "
|
|
6
|
+
appraise "6.0" do
|
|
7
|
+
gem "activerecord", "~> 6.0.2"
|
|
8
|
+
gem "base64"
|
|
9
|
+
gem "bigdecimal"
|
|
10
|
+
gem "logger"
|
|
11
|
+
gem "mutex_m"
|
|
12
|
+
gem "sqlite3", "~> 1.4"
|
|
9
13
|
end
|
|
10
14
|
|
|
11
|
-
appraise "
|
|
12
|
-
gem "activerecord", "~>
|
|
13
|
-
gem "sqlite3"
|
|
15
|
+
appraise "7.0" do
|
|
16
|
+
gem "activerecord", "~> 7.0.8"
|
|
17
|
+
gem "sqlite3", "~> 1.4"
|
|
14
18
|
end
|
|
15
19
|
|
|
16
|
-
appraise "
|
|
17
|
-
gem "activerecord", "~>
|
|
18
|
-
gem "sqlite3"
|
|
20
|
+
appraise "7.1" do
|
|
21
|
+
gem "activerecord", "~> 7.1.0"
|
|
22
|
+
gem "sqlite3", "~> 2.0"
|
|
19
23
|
end
|
|
20
24
|
|
|
21
|
-
appraise "
|
|
22
|
-
gem "activerecord", "~>
|
|
23
|
-
gem "sqlite3"
|
|
25
|
+
appraise "7.2" do
|
|
26
|
+
gem "activerecord", "~> 7.2.0"
|
|
27
|
+
gem "sqlite3", "~> 2.0"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
appraise "8.0" do
|
|
31
|
+
gem "activerecord", "~> 8.0.0"
|
|
32
|
+
gem "sqlite3", "~> 2.0"
|
|
24
33
|
end
|
data/Changes
ADDED
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Column Namespace
|
|
2
2
|
|
|
3
|
-
[](https://github.com/sshaw/column_namespace/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
5
|
Group columns on your Active Record model under a "namespace method".
|
|
6
6
|
|
data/column_namespace.gemspec
CHANGED
|
@@ -26,11 +26,14 @@ Gem::Specification.new do |spec|
|
|
|
26
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
27
27
|
spec.require_paths = ["lib"]
|
|
28
28
|
|
|
29
|
-
spec.add_dependency "class2", "~> 0.
|
|
30
|
-
spec.add_dependency "activerecord", ">=
|
|
29
|
+
spec.add_dependency "class2", "~> 0.7"
|
|
30
|
+
spec.add_dependency "activerecord", ">= 5.2", "< 9"
|
|
31
|
+
|
|
32
|
+
spec.required_ruby_version = ">= 2.7"
|
|
31
33
|
|
|
32
34
|
spec.add_development_dependency "appraisal"
|
|
33
35
|
spec.add_development_dependency "bundler"
|
|
34
36
|
spec.add_development_dependency "rake", ">= 12.3.3"
|
|
35
37
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
38
|
+
spec.add_development_dependency "sqlite3"
|
|
36
39
|
end
|
data/gemfiles/5.2.gemfile
CHANGED
data/gemfiles/6.0.gemfile
CHANGED
data/lib/column_namespace.rb
CHANGED
|
@@ -17,7 +17,8 @@ module ColumnNamespace
|
|
|
17
17
|
|
|
18
18
|
def namespace_via_list(config)
|
|
19
19
|
config.each do |namespace, columns|
|
|
20
|
-
|
|
20
|
+
columns = columns.map(&:to_s)
|
|
21
|
+
unknown = columns - column_names
|
|
21
22
|
raise "unknown column(s): #{unknown.to_sentence}" unless unknown.empty?
|
|
22
23
|
|
|
23
24
|
klass = namespace.to_s.classify
|
|
@@ -42,10 +43,10 @@ module ColumnNamespace
|
|
|
42
43
|
end
|
|
43
44
|
|
|
44
45
|
def namespace_via_prefix(prefix)
|
|
45
|
-
columns = column_names.select { |name| name.
|
|
46
|
+
columns = column_names.select { |name| name.start_with?(prefix) }
|
|
46
47
|
raise "No attributes found with prefix #{prefix}" unless columns.any?
|
|
47
48
|
|
|
48
|
-
method = prefix.sub(/[^[:alnum]]*\z/i, "")
|
|
49
|
+
method = prefix.sub(/[^[:alnum:]]*\z/i, "")
|
|
49
50
|
klass = method.classify
|
|
50
51
|
prefix_regex = /\A#{Regexp.quote(prefix)}[^[:alnum:]]*/
|
|
51
52
|
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: column_namespace
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Skye Shaw
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 2026-09-16 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: class2
|
|
@@ -16,34 +15,34 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.
|
|
18
|
+
version: '0.7'
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - "~>"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.
|
|
25
|
+
version: '0.7'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: activerecord
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - ">="
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '5.2'
|
|
34
33
|
- - "<"
|
|
35
34
|
- !ruby/object:Gem::Version
|
|
36
|
-
version: '
|
|
35
|
+
version: '9'
|
|
37
36
|
type: :runtime
|
|
38
37
|
prerelease: false
|
|
39
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
39
|
requirements:
|
|
41
40
|
- - ">="
|
|
42
41
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '
|
|
42
|
+
version: '5.2'
|
|
44
43
|
- - "<"
|
|
45
44
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '
|
|
45
|
+
version: '9'
|
|
47
46
|
- !ruby/object:Gem::Dependency
|
|
48
47
|
name: appraisal
|
|
49
48
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,26 +99,42 @@ dependencies:
|
|
|
100
99
|
- - "~>"
|
|
101
100
|
- !ruby/object:Gem::Version
|
|
102
101
|
version: '3.0'
|
|
103
|
-
|
|
102
|
+
- !ruby/object:Gem::Dependency
|
|
103
|
+
name: sqlite3
|
|
104
|
+
requirement: !ruby/object:Gem::Requirement
|
|
105
|
+
requirements:
|
|
106
|
+
- - ">="
|
|
107
|
+
- !ruby/object:Gem::Version
|
|
108
|
+
version: '0'
|
|
109
|
+
type: :development
|
|
110
|
+
prerelease: false
|
|
111
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
112
|
+
requirements:
|
|
113
|
+
- - ">="
|
|
114
|
+
- !ruby/object:Gem::Version
|
|
115
|
+
version: '0'
|
|
104
116
|
email:
|
|
105
117
|
- skye.shaw@gmail.com
|
|
106
118
|
executables: []
|
|
107
119
|
extensions: []
|
|
108
120
|
extra_rdoc_files: []
|
|
109
121
|
files:
|
|
122
|
+
- ".github/workflows/ci.yml"
|
|
110
123
|
- ".gitignore"
|
|
111
124
|
- ".rspec"
|
|
112
|
-
- ".travis.yml"
|
|
113
125
|
- Appraisals
|
|
126
|
+
- Changes
|
|
114
127
|
- Gemfile
|
|
115
128
|
- README.md
|
|
116
129
|
- Rakefile
|
|
117
130
|
- column_namespace.gemspec
|
|
118
|
-
- gemfiles/
|
|
119
|
-
- gemfiles/5.0.gemfile
|
|
120
|
-
- gemfiles/5.1.gemfile
|
|
131
|
+
- gemfiles/.bundle/config
|
|
121
132
|
- gemfiles/5.2.gemfile
|
|
122
133
|
- gemfiles/6.0.gemfile
|
|
134
|
+
- gemfiles/7.0.gemfile
|
|
135
|
+
- gemfiles/7.1.gemfile
|
|
136
|
+
- gemfiles/7.2.gemfile
|
|
137
|
+
- gemfiles/8.0.gemfile
|
|
123
138
|
- lib/column_namespace.rb
|
|
124
139
|
- lib/column_namespace/version.rb
|
|
125
140
|
homepage: https://github.com/sshaw/column_namespace
|
|
@@ -129,7 +144,6 @@ metadata:
|
|
|
129
144
|
homepage_uri: https://github.com/sshaw/column_namespace
|
|
130
145
|
bug_tracker_uri: https://github.com/sshaw/column_namespace/issues
|
|
131
146
|
changelog_uri: https://github.com/sshaw/column_namespace/blob/master/Changes
|
|
132
|
-
post_install_message:
|
|
133
147
|
rdoc_options: []
|
|
134
148
|
require_paths:
|
|
135
149
|
- lib
|
|
@@ -137,16 +151,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
137
151
|
requirements:
|
|
138
152
|
- - ">="
|
|
139
153
|
- !ruby/object:Gem::Version
|
|
140
|
-
version: '
|
|
154
|
+
version: '2.7'
|
|
141
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
156
|
requirements:
|
|
143
157
|
- - ">="
|
|
144
158
|
- !ruby/object:Gem::Version
|
|
145
159
|
version: '0'
|
|
146
160
|
requirements: []
|
|
147
|
-
|
|
148
|
-
rubygems_version: 2.7.6
|
|
149
|
-
signing_key:
|
|
161
|
+
rubygems_version: 3.6.2
|
|
150
162
|
specification_version: 4
|
|
151
163
|
summary: Group columns on your Active Record model under a "namespace method".
|
|
152
164
|
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sudo: false
|
|
3
|
-
language: ruby
|
|
4
|
-
cache: bundler
|
|
5
|
-
rvm:
|
|
6
|
-
- 2.3
|
|
7
|
-
- 2.4
|
|
8
|
-
- 2.5
|
|
9
|
-
- 2.6
|
|
10
|
-
- 2.7
|
|
11
|
-
|
|
12
|
-
before_install:
|
|
13
|
-
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
|
14
|
-
- gem install bundler -v '< 2'
|
|
15
|
-
|
|
16
|
-
gemfile:
|
|
17
|
-
- gemfiles/4.2.gemfile
|
|
18
|
-
- gemfiles/5.0.gemfile
|
|
19
|
-
- gemfiles/5.1.gemfile
|
|
20
|
-
- gemfiles/5.2.gemfile
|
|
21
|
-
- gemfiles/6.0.gemfile
|
|
22
|
-
|
|
23
|
-
matrix:
|
|
24
|
-
exclude:
|
|
25
|
-
- rvm: 2.3
|
|
26
|
-
gemfile: gemfiles/6.0.gemfile
|
|
27
|
-
- rvm: 2.4
|
|
28
|
-
gemfile: gemfiles/6.0.gemfile
|
|
29
|
-
- rvm: 2.7
|
|
30
|
-
gemfile: gemfiles/4.2.gemfile
|
|
31
|
-
|
|
32
|
-
notifications:
|
|
33
|
-
email: false
|