column_namespace 0.0.2 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4b491bdd9dfdf04bea97137b8e056257528f5a4aa5d5a2fc799ec921032f1b8
4
- data.tar.gz: 2a1d18fc02a3181b5d5c87d933c72294848e1eb2e12fc020632d19ce88f284a0
3
+ metadata.gz: d76a896d4b733c6d0aac640710a80690b2a8c13bcf40f35196649641614f1d13
4
+ data.tar.gz: be29fb5393f5f1e32dfd3cd5b05a344a936a96f2cae8ece750b208fc355f6050
5
5
  SHA512:
6
- metadata.gz: 9d1f594cf9715ad6e34b2c3609cf4d0601ecfd6bbe8e022b5cce26235c60c7d994d9326b435ebb8c0855d13a05b1d876f536b01b70ce777c4398f19d4ea63f22
7
- data.tar.gz: fa73f707f95fd899a52da104225b4b3a44ee09f88b2aa0d91a829d5245a88d7a14921504ff55c51c734b72b0b316f9009a1687c5d42dcf5dbca19bb8c4fe865b
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
@@ -6,6 +6,8 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /Gemfile.lock
10
+ /gemfiles/*.gemfile.lock
9
11
 
10
12
  # rspec failure tracking
11
13
  .rspec_status
data/Appraisals CHANGED
@@ -1,24 +1,33 @@
1
- appraise "4.2" do
2
- gem "activerecord", "~> 4.2.11"
3
- gem "sqlite3", "~> 1.3.6"
1
+ appraise "5.2" do
2
+ gem "activerecord", "~> 5.2.4"
3
+ gem "sqlite3", "~> 1.4"
4
4
  end
5
5
 
6
- appraise "5.0" do
7
- gem "activerecord", "~> 5.0.7"
8
- gem "sqlite3", "~> 1.3.6"
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 "5.1" do
12
- gem "activerecord", "~> 5.1.7"
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 "5.2" do
17
- gem "activerecord", "~> 5.2.4"
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 "6.0" do
22
- gem "activerecord", "~> 6.0.2"
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 CHANGED
@@ -1,3 +1,7 @@
1
+ 2026-09-16 v0.0.3
2
+ --------------------
3
+ * Add support for Rails 7 and 8
4
+
1
5
  2020-05-22 v0.0.2
2
6
  --------------------
3
7
  * Fix regex bug when using only a column prefix
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Column Namespace
2
2
 
3
- [![Build Status](https://travis-ci.org/sshaw/column_namespace.svg?branch=master)](https://travis-ci.org/sshaw/column_namespace)
3
+ [![CI](https://github.com/sshaw/column_namespace/actions/workflows/ci.yml/badge.svg)](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
 
@@ -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.5.2"
30
- spec.add_dependency "activerecord", ">= 4.2", "< 7"
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
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_BUILD__SQLITE3: "--enable-system-libraries"
data/gemfiles/5.2.gemfile CHANGED
@@ -3,6 +3,6 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "activerecord", "~> 5.2.4"
6
- gem "sqlite3"
6
+ gem "sqlite3", "~> 1.4"
7
7
 
8
8
  gemspec path: "../"
data/gemfiles/6.0.gemfile CHANGED
@@ -3,6 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "activerecord", "~> 6.0.2"
6
- gem "sqlite3"
6
+ gem "base64"
7
+ gem "bigdecimal"
8
+ gem "logger"
9
+ gem "mutex_m"
10
+ gem "sqlite3", "~> 1.4"
7
11
 
8
12
  gemspec path: "../"
@@ -2,7 +2,7 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 5.1.7"
6
- gem "sqlite3"
5
+ gem "activerecord", "~> 7.0.8"
6
+ gem "sqlite3", "~> 1.4"
7
7
 
8
8
  gemspec path: "../"
@@ -2,7 +2,7 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 5.0.7"
6
- gem "sqlite3", "~> 1.3.6"
5
+ gem "activerecord", "~> 7.1.0"
6
+ gem "sqlite3", "~> 2.0"
7
7
 
8
8
  gemspec path: "../"
@@ -2,7 +2,7 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 4.2.11"
6
- gem "sqlite3", "~> 1.3.6"
5
+ gem "activerecord", "~> 7.2.0"
6
+ gem "sqlite3", "~> 2.0"
7
7
 
8
8
  gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 8.0.0"
6
+ gem "sqlite3", "~> 2.0"
7
+
8
+ gemspec path: "../"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ColumnNamespace
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
@@ -17,7 +17,8 @@ module ColumnNamespace
17
17
 
18
18
  def namespace_via_list(config)
19
19
  config.each do |namespace, columns|
20
- unknown = columns.map(&:to_s) - column_names
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,7 +43,7 @@ module ColumnNamespace
42
43
  end
43
44
 
44
45
  def namespace_via_prefix(prefix)
45
- columns = column_names.select { |name| name.starts_with?(prefix) }
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
49
  method = prefix.sub(/[^[:alnum:]]*\z/i, "")
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.2
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: 2020-05-23 00:00:00.000000000 Z
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.5.2
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.5.2
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: '4.2'
32
+ version: '5.2'
34
33
  - - "<"
35
34
  - !ruby/object:Gem::Version
36
- version: '7'
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: '4.2'
42
+ version: '5.2'
44
43
  - - "<"
45
44
  - !ruby/object:Gem::Version
46
- version: '7'
45
+ version: '9'
47
46
  - !ruby/object:Gem::Dependency
48
47
  name: appraisal
49
48
  requirement: !ruby/object:Gem::Requirement
@@ -100,27 +99,42 @@ dependencies:
100
99
  - - "~>"
101
100
  - !ruby/object:Gem::Version
102
101
  version: '3.0'
103
- description:
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
114
126
  - Changes
115
127
  - Gemfile
116
128
  - README.md
117
129
  - Rakefile
118
130
  - column_namespace.gemspec
119
- - gemfiles/4.2.gemfile
120
- - gemfiles/5.0.gemfile
121
- - gemfiles/5.1.gemfile
131
+ - gemfiles/.bundle/config
122
132
  - gemfiles/5.2.gemfile
123
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
124
138
  - lib/column_namespace.rb
125
139
  - lib/column_namespace/version.rb
126
140
  homepage: https://github.com/sshaw/column_namespace
@@ -130,7 +144,6 @@ metadata:
130
144
  homepage_uri: https://github.com/sshaw/column_namespace
131
145
  bug_tracker_uri: https://github.com/sshaw/column_namespace/issues
132
146
  changelog_uri: https://github.com/sshaw/column_namespace/blob/master/Changes
133
- post_install_message:
134
147
  rdoc_options: []
135
148
  require_paths:
136
149
  - lib
@@ -138,16 +151,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
151
  requirements:
139
152
  - - ">="
140
153
  - !ruby/object:Gem::Version
141
- version: '0'
154
+ version: '2.7'
142
155
  required_rubygems_version: !ruby/object:Gem::Requirement
143
156
  requirements:
144
157
  - - ">="
145
158
  - !ruby/object:Gem::Version
146
159
  version: '0'
147
160
  requirements: []
148
- rubyforge_project:
149
- rubygems_version: 2.7.6
150
- signing_key:
161
+ rubygems_version: 3.6.2
151
162
  specification_version: 4
152
163
  summary: Group columns on your Active Record model under a "namespace method".
153
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