has_attached_tags 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b963c216d2f4441257005083da80e8d39d7eb4403ca5582e59845d3f573ead36
4
- data.tar.gz: 6cf7ac60aa5a60f40650343dc5b019cb34e962c2bc7edacb634e64c1ced7ad42
3
+ metadata.gz: a957d57a1070465d74ade6e76f32788353d858cd482015bb572f0f91cfc144f0
4
+ data.tar.gz: 6a9e52b1310750e292c5c1f558954f954ee817caf38b3b0abc9b4d6abc604030
5
5
  SHA512:
6
- metadata.gz: 799a39fe762d20004310b0dc6bf3da80e84c3bc6f06e527ab59c755ebcc6a3b04431a171b0fef70a6cfd1fe5305b6984aa667f9f79c751c8ca39ea7b80f4deb9
7
- data.tar.gz: f55c759afd4e770c6ba5000b8a954b239c05be81f0bb8a8ec0fd08d3697bfaad26aac6e9e1fe7394e8323fab5dfdad4027d31dbfac23701d67367099f3f695a5
6
+ metadata.gz: 3c8a3bddc108134da5a22845982a6fb3ec23031eac1210b5aa90b8d3274cb312545f2759a38ee874029bc9606d4f86f598af8d326b32c0e9f82406838d2c203a
7
+ data.tar.gz: ea471d955d28c72ff015f21113d2bd2a29923b08a1b7775161bbece2fa4505ff4e88a7964f26945f64cb6f45ff360d1949f878941b8baf6843dd0f03aa0eba21
@@ -0,0 +1,30 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: RSpec
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - name: Set up Ruby
24
+ uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: 2.6
27
+ - name: Install dependencies
28
+ run: bundle install
29
+ - name: Run tests
30
+ run: bundle exec rspec
data/Gemfile.lock CHANGED
@@ -1,75 +1,76 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- has_attached_tags (0.1.0)
4
+ has_attached_tags (0.1.1)
5
5
  activerecord (>= 5.1, < 7)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (6.0.3.2)
11
- activesupport (= 6.0.3.2)
12
- activerecord (6.0.3.2)
13
- activemodel (= 6.0.3.2)
14
- activesupport (= 6.0.3.2)
15
- activesupport (6.0.3.2)
10
+ activemodel (6.1.3)
11
+ activesupport (= 6.1.3)
12
+ activerecord (6.1.3)
13
+ activemodel (= 6.1.3)
14
+ activesupport (= 6.1.3)
15
+ activesupport (6.1.3)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- zeitwerk (~> 2.2, >= 2.2.2)
21
- ast (2.4.1)
22
- concurrent-ruby (1.1.6)
17
+ i18n (>= 1.6, < 2)
18
+ minitest (>= 5.1)
19
+ tzinfo (~> 2.0)
20
+ zeitwerk (~> 2.3)
21
+ ast (2.4.2)
22
+ concurrent-ruby (1.1.8)
23
23
  diff-lcs (1.4.4)
24
24
  factory_bot (6.1.0)
25
25
  activesupport (>= 5.0.0)
26
- faker (2.13.0)
26
+ faker (2.16.0)
27
27
  i18n (>= 1.6, < 2)
28
- i18n (1.8.4)
28
+ i18n (1.8.9)
29
29
  concurrent-ruby (~> 1.0)
30
- minitest (5.14.1)
31
- parallel (1.19.2)
32
- parser (2.7.1.4)
30
+ minitest (5.14.3)
31
+ parallel (1.20.1)
32
+ parser (3.0.0.0)
33
33
  ast (~> 2.4.1)
34
34
  rainbow (3.0.0)
35
- rake (13.0.1)
36
- regexp_parser (1.7.1)
35
+ rake (13.0.3)
36
+ regexp_parser (2.0.3)
37
37
  rexml (3.2.4)
38
- rspec (3.9.0)
39
- rspec-core (~> 3.9.0)
40
- rspec-expectations (~> 3.9.0)
41
- rspec-mocks (~> 3.9.0)
42
- rspec-core (3.9.2)
43
- rspec-support (~> 3.9.3)
44
- rspec-expectations (3.9.2)
38
+ rspec (3.10.0)
39
+ rspec-core (~> 3.10.0)
40
+ rspec-expectations (~> 3.10.0)
41
+ rspec-mocks (~> 3.10.0)
42
+ rspec-core (3.10.1)
43
+ rspec-support (~> 3.10.0)
44
+ rspec-expectations (3.10.1)
45
45
  diff-lcs (>= 1.2.0, < 2.0)
46
- rspec-support (~> 3.9.0)
47
- rspec-mocks (3.9.1)
46
+ rspec-support (~> 3.10.0)
47
+ rspec-mocks (3.10.2)
48
48
  diff-lcs (>= 1.2.0, < 2.0)
49
- rspec-support (~> 3.9.0)
50
- rspec-support (3.9.3)
51
- rubocop (0.88.0)
49
+ rspec-support (~> 3.10.0)
50
+ rspec-support (3.10.2)
51
+ rubocop (0.93.1)
52
52
  parallel (~> 1.10)
53
- parser (>= 2.7.1.1)
53
+ parser (>= 2.7.1.5)
54
54
  rainbow (>= 2.2.2, < 4.0)
55
- regexp_parser (>= 1.7)
55
+ regexp_parser (>= 1.8)
56
56
  rexml
57
- rubocop-ast (>= 0.1.0, < 1.0)
57
+ rubocop-ast (>= 0.6.0)
58
58
  ruby-progressbar (~> 1.7)
59
59
  unicode-display_width (>= 1.4.0, < 2.0)
60
- rubocop-ast (0.2.0)
61
- parser (>= 2.7.0.1)
62
- rubocop-performance (1.7.1)
63
- rubocop (>= 0.82.0)
64
- rubocop-rspec (1.42.0)
65
- rubocop (>= 0.87.0)
66
- ruby-progressbar (1.10.1)
60
+ rubocop-ast (1.4.1)
61
+ parser (>= 2.7.1.5)
62
+ rubocop-performance (1.9.2)
63
+ rubocop (>= 0.90.0, < 2.0)
64
+ rubocop-ast (>= 0.4.0)
65
+ rubocop-rspec (1.44.1)
66
+ rubocop (~> 0.87)
67
+ rubocop-ast (>= 0.7.1)
68
+ ruby-progressbar (1.11.0)
67
69
  sqlite3 (1.4.2)
68
- thread_safe (0.3.6)
69
- tzinfo (1.2.7)
70
- thread_safe (~> 0.1)
70
+ tzinfo (2.0.4)
71
+ concurrent-ruby (~> 1.0)
71
72
  unicode-display_width (1.7.0)
72
- zeitwerk (2.4.0)
73
+ zeitwerk (2.4.2)
73
74
 
74
75
  PLATFORMS
75
76
  ruby
@@ -87,4 +88,4 @@ DEPENDENCIES
87
88
  sqlite3 (~> 1.4)
88
89
 
89
90
  BUNDLED WITH
90
- 2.0.2
91
+ 2.2.3
data/README.md CHANGED
@@ -175,7 +175,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
175
175
 
176
176
  ## Contributing
177
177
 
178
- Bug reports and pull requests are welcome on GitHub at https://github.com/Mihail-K/has_attached_tags. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
178
+ Bug reports and pull requests are welcome on GitHub at https://github.com/mintyfresh/has_attached_tags. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
179
179
 
180
180
  ## License
181
181
 
@@ -183,4 +183,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
183
183
 
184
184
  ## Code of Conduct
185
185
 
186
- Everyone interacting in the HasAttachedTags project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/Mihail-K/has_attached_tags/blob/master/CODE_OF_CONDUCT.md).
186
+ Everyone interacting in the HasAttachedTags project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/mintyfresh/has_attached_tags/blob/master/CODE_OF_CONDUCT.md).
@@ -8,11 +8,11 @@ Gem::Specification.new do |spec|
8
8
  spec.name = 'has_attached_tags'
9
9
  spec.version = HasAttachedTags::VERSION
10
10
  spec.authors = ['Mihail K']
11
- spec.email = ['mihail@platterz.ca']
11
+ spec.email = ['7896757+mintyfresh@users.noreply.github.com']
12
12
 
13
13
  spec.summary = 'Pluggable Tagging for ActiveRecord'
14
14
  spec.description = 'A general purpose, typed tagging system for ActiveRecord'
15
- spec.homepage = 'https://github.com/Mihail-K/has_attached_tags'
15
+ spec.homepage = 'https://github.com/mintyfresh/has_attached_tags'
16
16
  spec.license = 'MIT'
17
17
 
18
18
  spec.metadata['homepage_uri'] = spec.homepage
@@ -6,7 +6,7 @@ class CreateTagsAndTaggings < ActiveRecord::Migration<%= migration_version %>
6
6
  t.string :name, null: false
7
7
  t.string :type, null: false
8
8
  t.index %i[name type], unique: true
9
- t.integer :taggings_count, null: false
9
+ t.integer :taggings_count, null: false, default: 0
10
10
  t.timestamps
11
11
  end
12
12
 
@@ -58,11 +58,7 @@ private
58
58
  # @param type [String]
59
59
  # @return [Class<Tagging>]
60
60
  def define_attachment_tagging_class(attachment, type)
61
- const_set("#{attachment}_tagging".camelize, Class.new(Tagging) do
62
- validate do
63
- errors.add(:tag, :unsupported, type: type) if tag && tag.type != type.to_s
64
- end
65
- end)
61
+ const_set("#{attachment}_tagging".camelize, Tagging[type: type.to_s])
66
62
  end
67
63
 
68
64
  # @param attachment [Symbol]
@@ -9,5 +9,13 @@ module HasAttachedTags
9
9
 
10
10
  validates :attachment, presence: true
11
11
  validates :tag, uniqueness: { scope: %i[attachment taggable], on: :create }
12
+
13
+ # @param type [String]
14
+ # @return [void]
15
+ def self.[](type:)
16
+ Class.new(self) do
17
+ validate { errors.add(:tag, :unsupported, type: type) if tag && tag.type != type }
18
+ end
19
+ end
12
20
  end
13
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HasAttachedTags
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_attached_tags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mihail K
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-23 00:00:00.000000000 Z
11
+ date: 2021-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -164,15 +164,15 @@ dependencies:
164
164
  version: '1.4'
165
165
  description: A general purpose, typed tagging system for ActiveRecord
166
166
  email:
167
- - mihail@platterz.ca
167
+ - 7896757+mintyfresh@users.noreply.github.com
168
168
  executables: []
169
169
  extensions: []
170
170
  extra_rdoc_files: []
171
171
  files:
172
+ - ".github/workflows/rspec.yml"
172
173
  - ".gitignore"
173
174
  - ".rspec"
174
175
  - ".rubocop.yml"
175
- - ".travis.yml"
176
176
  - CODE_OF_CONDUCT.md
177
177
  - Gemfile
178
178
  - Gemfile.lock
@@ -193,12 +193,12 @@ files:
193
193
  - lib/has_attached_tags/tag.rb
194
194
  - lib/has_attached_tags/tagging.rb
195
195
  - lib/has_attached_tags/version.rb
196
- homepage: https://github.com/Mihail-K/has_attached_tags
196
+ homepage: https://github.com/mintyfresh/has_attached_tags
197
197
  licenses:
198
198
  - MIT
199
199
  metadata:
200
- homepage_uri: https://github.com/Mihail-K/has_attached_tags
201
- source_code_uri: https://github.com/Mihail-K/has_attached_tags
200
+ homepage_uri: https://github.com/mintyfresh/has_attached_tags
201
+ source_code_uri: https://github.com/mintyfresh/has_attached_tags
202
202
  post_install_message:
203
203
  rdoc_options: []
204
204
  require_paths:
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  requirements: []
217
- rubygems_version: 3.0.3
217
+ rubygems_version: 3.2.3
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: Pluggable Tagging for ActiveRecord
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6.5
7
- before_install: gem install bundler -v 2.0.2