acts-as-taggable-array-on 0.5.1 → 0.6.0

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: 9f7a6cf023c1dd9dd7f1d8e77db2772f2f673b233d5f2ad625115c0d28677879
4
- data.tar.gz: 84d46e102ab941b3a1a99c85ed2897ef5b09785f1c40a65356365710d3f500cb
3
+ metadata.gz: ad1ac43607f0f09763e87b8f283f01652a6176d74d7bb5d2c8685453a10501fc
4
+ data.tar.gz: 31dadff61892909368696d09fb5248ec08786ac41333e315581325cf17b707a1
5
5
  SHA512:
6
- metadata.gz: 7e6efedde0a9883e69acad7fc544daca55f0c8cd6a447cd65cdc77ba4c47380c61d3b93eb51c9378b98bd753af086afa61b90375418acd93e98b77e7ef7ec1bb
7
- data.tar.gz: 84e04cfc82640c5137aa59cecb8fbe7bd55d357509ac9fc3b8ae60b7eca25339f2fc933be711026bcc5e0511fc3af7c95ed290b0edd02247088e9578ac82d6ba
6
+ metadata.gz: ae034e443e607c4de43fe8df98fdccd89f15eb9cba552fd98c6fd8d97f238207271fbf2861adb5aef45c1ad9c3c534ad100a45eaad252baf62bf8c232037f44a
7
+ data.tar.gz: e4b432be275ff891566b7f336c794980a74e6943cd7152610190c386e54c11c3a1c12b79466678a4e27d72cf945dd247960a917de8504733c6f3fa51a3b28754
@@ -1,22 +1,20 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.10
4
- - 2.2.9
5
- - 2.3.6
6
- - 2.4.3
7
- - 2.4.3
8
- - 2.5.0
9
- addons:
10
- postgresql: 9.3
3
+ - 2.4.8
4
+ - 2.5.7
5
+ - 2.6.5
6
+ services:
7
+ - postgresql
11
8
  gemfile:
12
- - gemfiles/rails_4.gemfile
13
- - gemfiles/rails_5.gemfile
9
+ - gemfiles/rails_5_2.gemfile
10
+ - gemfiles/rails_6_0.gemfile
14
11
  before_script:
12
+ - cp config/database.yml.travis config/database.yml
15
13
  - bundle exec rake db:create
16
14
  script:
17
15
  - bundle
18
16
  - bundle exec rspec
19
17
  matrix:
20
18
  exclude:
21
- - rvm: 2.1.10
22
- gemfile: gemfiles/rails_5.gemfile
19
+ - rvm: 2.4.8
20
+ gemfile: gemfiles/rails_6_0.gemfile
@@ -1,3 +1,8 @@
1
+ ## 0.6
2
+ - Drop support for `EOL` versions of Ruby (below `2.4)`, and Rails (below `5.2`)
3
+ - Alias `acts_as_taggable_on` to `taggable_array`
4
+ - Stop rails 6 deprecation warnings
5
+
1
6
  ## 0.5.1
2
7
  - Don't fail during load time if DB is missing
3
8
 
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # ActsAsTaggableArrayOn
2
2
  [![Build Status](https://travis-ci.org/tmiyamon/acts-as-taggable-array-on.svg?branch=master)](https://travis-ci.org/tmiyamon/acts-as-taggable-array-on)
3
3
 
4
- A simple implementation for tagging system with postgres array.
5
- So, this gem works only on postgres.
4
+ A simple implementation for tagging system with postgres array. Please note, only PostgreSql database is supported.
6
5
 
7
6
 
8
7
  ## Installation
@@ -46,7 +45,7 @@ then
46
45
 
47
46
  ```ruby
48
47
  class User < ActiveRecord::Base
49
- acts_as_taggable_array_on :tags
48
+ taggable_array :tags
50
49
  end
51
50
  @user = User.new(:name => "Bobby")
52
51
  ```
@@ -96,7 +95,7 @@ Set, add and remove
96
95
 
97
96
  ```ruby
98
97
  class User < ActiveRecord::Base
99
- acts_as_taggable_array_on :tags
98
+ taggable_array :tags
100
99
  scope :by_join_date, ->{order("created_at DESC")}
101
100
  end
102
101
 
@@ -18,14 +18,14 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency 'activerecord', ['>= 4']
22
- spec.add_runtime_dependency 'activesupport', ['>= 4']
21
+ spec.add_runtime_dependency 'activerecord', ['>= 5.2']
22
+ spec.add_runtime_dependency 'activesupport', ['>= 5.2']
23
23
 
24
- spec.add_development_dependency 'pg', '~> 0.18'
24
+ spec.add_development_dependency 'pg', '~> 1.1'
25
25
 
26
- spec.add_development_dependency "bundler", "~> 1.5"
26
+ spec.add_development_dependency "bundler"
27
27
  spec.add_development_dependency "rake"
28
28
  spec.add_development_dependency "rspec-rails"
29
29
  spec.add_development_dependency "guard-rspec"
30
- spec.add_development_dependency "listen", "~> 3.0.0"
30
+ spec.add_development_dependency "listen", "> 3.0"
31
31
  end
@@ -0,0 +1,3 @@
1
+ test:
2
+ adapter: postgresql
3
+ database: travis_ci_test
@@ -3,5 +3,5 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in acts-as-pgarray-taggable-on.gemspec
4
4
  gemspec path: '../'
5
5
 
6
- gem 'activerecord', '~> 5.0.0'
7
- gem 'activesupport', '~> 5.0.0'
6
+ gem 'activerecord', '~> 5.2.0'
7
+ gem 'activesupport', '~> 5.2.0'
@@ -3,5 +3,5 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in acts-as-pgarray-taggable-on.gemspec
4
4
  gemspec path: '../'
5
5
 
6
- gem 'activerecord', '>= 4', '< 5'
7
- gem 'activesupport', '>= 4', '< 5'
6
+ gem 'activerecord', '~> 6.0.0'
7
+ gem 'activesupport', '~> 6.0.0'
@@ -30,10 +30,11 @@ module ActsAsTaggableArrayOn
30
30
  subquery_scope = unscoped.select("unnest(#{table_name}.#{tag_name}) as tag")
31
31
  subquery_scope = subquery_scope.instance_eval(&block) if block
32
32
 
33
- from(subquery_scope).group('tag').order('tag').pluck('tag, count(*) as count')
33
+ from(subquery_scope).group('tag').order('tag').pluck(Arel.sql('tag, count(*) as count'))
34
34
  end
35
35
  end
36
36
  end
37
+ alias taggable_array acts_as_taggable_array_on
37
38
  end
38
39
  end
39
40
  end
@@ -1,3 +1,3 @@
1
1
  module ActsAsTagPgarray
2
- VERSION = "0.5.1"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -8,7 +8,7 @@ describe ActsAsTaggableArrayOn::Taggable do
8
8
 
9
9
  User.acts_as_taggable_array_on :colors
10
10
  User.acts_as_taggable_array_on :sizes
11
- User.acts_as_taggable_array_on :codes
11
+ User.taggable_array :codes
12
12
  end
13
13
 
14
14
 
@@ -34,6 +34,21 @@ describe ActsAsTaggableArrayOn::Taggable do
34
34
  end
35
35
  end
36
36
 
37
+ describe "#taggable_array_on" do
38
+ it "defines named scope to match any tags" do
39
+ expect(User).to respond_to(:with_any_codes)
40
+ end
41
+ it "defines named scope to match all tags" do
42
+ expect(User).to respond_to(:with_all_codes)
43
+ end
44
+ it "defines named scope not to match any tags" do
45
+ expect(User).to respond_to(:without_any_codes)
46
+ end
47
+ it "defines named scope not to match all tags" do
48
+ expect(User).to respond_to(:without_all_codes)
49
+ end
50
+ end
51
+
37
52
  it 'should define table name un-ambiguously' do
38
53
  sql = User.with_any_sizes(['small']).to_sql
39
54
  expect(sql).to eql("SELECT \"users\".* FROM \"users\" WHERE (users.sizes && ARRAY['small']::text[])")
@@ -42,10 +57,10 @@ describe ActsAsTaggableArrayOn::Taggable do
42
57
  expect(sql).to eql("SELECT \"users\".* FROM \"users\" WHERE (users.sizes @> ARRAY['small']::text[])")
43
58
 
44
59
  sql = User.without_any_sizes(['small']).to_sql
45
- expect(sql).to eql("SELECT \"users\".* FROM \"users\" WHERE (NOT (users.sizes && ARRAY['small']::text[]))")
60
+ expect(sql).to eql("SELECT \"users\".* FROM \"users\" WHERE NOT (users.sizes && ARRAY['small']::text[])")
46
61
 
47
62
  sql = User.without_all_sizes(['small']).to_sql
48
- expect(sql).to eql("SELECT \"users\".* FROM \"users\" WHERE (NOT (users.sizes @> ARRAY['small']::text[]))")
63
+ expect(sql).to eql("SELECT \"users\".* FROM \"users\" WHERE NOT (users.sizes @> ARRAY['small']::text[])")
49
64
  end
50
65
 
51
66
  it "should work with ::text typed array" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts-as-taggable-array-on
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takuya Miyamoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-17 00:00:00.000000000 Z
11
+ date: 2019-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4'
19
+ version: '5.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '4'
26
+ version: '5.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '4'
33
+ version: '5.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '4'
40
+ version: '5.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pg
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.18'
47
+ version: '1.1'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.18'
54
+ version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '1.5'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '1.5'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: listen
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.0.0
117
+ version: '3.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">"
123
123
  - !ruby/object:Gem::Version
124
- version: 3.0.0
124
+ version: '3.0'
125
125
  description: Simple tagging gem for Rails using postgres array.
126
126
  email:
127
127
  - miyamototakuya@gmail.com
@@ -139,8 +139,9 @@ files:
139
139
  - README.md
140
140
  - Rakefile
141
141
  - acts-as-taggable-array-on.gemspec
142
- - gemfiles/rails_4.gemfile
143
- - gemfiles/rails_5.gemfile
142
+ - config/database.yml.travis
143
+ - gemfiles/rails_5_2.gemfile
144
+ - gemfiles/rails_6_0.gemfile
144
145
  - lib/acts-as-taggable-array-on.rb
145
146
  - lib/acts-as-taggable-array-on/parser.rb
146
147
  - lib/acts-as-taggable-array-on/taggable.rb
@@ -168,8 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
169
  - !ruby/object:Gem::Version
169
170
  version: '0'
170
171
  requirements: []
171
- rubyforge_project:
172
- rubygems_version: 2.7.6
172
+ rubygems_version: 3.0.3
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: Simple tagging gem for Rails using postgres array.