make_taggable 0.7.4 → 1.0.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 +4 -4
- data/CHANGELOG.md +79 -0
- data/CONTRIBUTING.md +65 -22
- data/LICENSE.md +18 -17
- data/README.md +73 -444
- data/UPGRADING.md +28 -2
- data/docs/caching.md +93 -0
- data/docs/configuration.md +108 -0
- data/docs/contexts.md +147 -0
- data/docs/database.md +106 -0
- data/docs/getting-started.md +114 -0
- data/docs/migrating-from-aato.md +67 -0
- data/docs/ownership.md +111 -0
- data/docs/parsers.md +109 -0
- data/docs/querying.md +163 -0
- data/docs/tag-clouds.md +74 -0
- data/lib/make_taggable/default_parser.rb +45 -32
- data/lib/make_taggable/engine.rb +6 -0
- data/lib/make_taggable/generic_parser.rb +30 -4
- data/lib/make_taggable/tag.rb +121 -19
- data/lib/make_taggable/tag_list.rb +77 -24
- data/lib/make_taggable/taggable/cache.rb +61 -11
- data/lib/make_taggable/taggable/collection.rb +102 -30
- data/lib/make_taggable/taggable/core.rb +154 -34
- data/lib/make_taggable/taggable/ownership.rb +82 -4
- data/lib/make_taggable/taggable/related.rb +66 -3
- data/lib/make_taggable/taggable/tag_list_type.rb +8 -0
- data/lib/make_taggable/taggable/tagged_with_query/all_tags_query.rb +10 -0
- data/lib/make_taggable/taggable/tagged_with_query/any_tags_query.rb +10 -0
- data/lib/make_taggable/taggable/tagged_with_query/exclude_tags_query.rb +10 -0
- data/lib/make_taggable/taggable/tagged_with_query/query_base.rb +15 -0
- data/lib/make_taggable/taggable/tagged_with_query.rb +17 -0
- data/lib/make_taggable/taggable.rb +34 -33
- data/lib/make_taggable/tagger.rb +73 -12
- data/lib/make_taggable/tagging.rb +30 -3
- data/lib/make_taggable/tags_helper.rb +22 -1
- data/lib/make_taggable/utils.rb +40 -5
- data/lib/make_taggable/version.rb +8 -1
- data/lib/make_taggable.rb +153 -8
- data/make_taggable.gemspec +13 -20
- metadata +50 -165
- data/.dummyrc +0 -17
- data/.github/workflows/ci.yml +0 -140
- data/.github/workflows/standard-ci.yml +0 -27
- data/.gitignore +0 -17
- data/.rspec +0 -3
- data/Appraisals +0 -15
- data/Gemfile +0 -16
- data/Rakefile +0 -13
- data/gemfiles/rails_5.gemfile +0 -9
- data/gemfiles/rails_6.gemfile +0 -9
- data/gemfiles/rails_6_1.gemfile +0 -9
- data/gemfiles/rails_master.gemfile +0 -9
- data/lib/tasks/setup_test_db.rake +0 -8
data/.github/workflows/ci.yml
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: CI
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
pull_request:
|
|
6
|
-
branches:
|
|
7
|
-
- '*'
|
|
8
|
-
push:
|
|
9
|
-
branches:
|
|
10
|
-
- master
|
|
11
|
-
jobs:
|
|
12
|
-
# SQLITE
|
|
13
|
-
sqlite:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
strategy:
|
|
16
|
-
matrix:
|
|
17
|
-
ruby: ['2.6', '2.7', '3.0']
|
|
18
|
-
gemfile:
|
|
19
|
-
- rails_5
|
|
20
|
-
- rails_6
|
|
21
|
-
- rails_6_1
|
|
22
|
-
- rails_master
|
|
23
|
-
exclude:
|
|
24
|
-
- ruby: '3.0'
|
|
25
|
-
gemfile: rails_5
|
|
26
|
-
# Rails 7 requires Ruby 2.7 or higher
|
|
27
|
-
- ruby: '2.6'
|
|
28
|
-
gemfile: rails_master
|
|
29
|
-
env:
|
|
30
|
-
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
31
|
-
BUNDLE_PATH_RELATIVE_TO_CWD: true
|
|
32
|
-
|
|
33
|
-
steps:
|
|
34
|
-
- uses: actions/checkout@v2
|
|
35
|
-
- name: Set up Ruby ${{ matrix.ruby }}
|
|
36
|
-
uses: ruby/setup-ruby@v1
|
|
37
|
-
with:
|
|
38
|
-
ruby-version: ${{ matrix.ruby }}
|
|
39
|
-
bundler-cache: true
|
|
40
|
-
|
|
41
|
-
- name: Run tests
|
|
42
|
-
env:
|
|
43
|
-
RAILS_ENV: test
|
|
44
|
-
run: |
|
|
45
|
-
bundle exec rake create_test_app
|
|
46
|
-
bundle exec rake
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
# MYSQL
|
|
50
|
-
mysql:
|
|
51
|
-
runs-on: ubuntu-latest
|
|
52
|
-
strategy:
|
|
53
|
-
matrix:
|
|
54
|
-
ruby: ['2.6', '2.7', '3.0']
|
|
55
|
-
gemfile:
|
|
56
|
-
- rails_5
|
|
57
|
-
- rails_6
|
|
58
|
-
- rails_6_1
|
|
59
|
-
- rails_master
|
|
60
|
-
exclude:
|
|
61
|
-
- ruby: '3.0'
|
|
62
|
-
gemfile: rails_5
|
|
63
|
-
# Rails 7 requires Ruby 2.7 or higher
|
|
64
|
-
- ruby: '2.6'
|
|
65
|
-
gemfile: rails_master
|
|
66
|
-
env:
|
|
67
|
-
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
68
|
-
BUNDLE_PATH_RELATIVE_TO_CWD: true
|
|
69
|
-
|
|
70
|
-
services:
|
|
71
|
-
mysql:
|
|
72
|
-
image: mysql:8
|
|
73
|
-
env:
|
|
74
|
-
MYSQL_ROOT_PASSWORD: password
|
|
75
|
-
MSQL_DATABASE: test
|
|
76
|
-
ports: ['3306:3306']
|
|
77
|
-
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
|
78
|
-
|
|
79
|
-
steps:
|
|
80
|
-
- uses: actions/checkout@v2
|
|
81
|
-
- name: Set up Ruby ${{ matrix.ruby }}
|
|
82
|
-
uses: ruby/setup-ruby@v1
|
|
83
|
-
with:
|
|
84
|
-
ruby-version: ${{ matrix.ruby }}
|
|
85
|
-
bundler-cache: true
|
|
86
|
-
|
|
87
|
-
- name: Run tests
|
|
88
|
-
env:
|
|
89
|
-
DATABASE_URL: mysql2://root:password@127.0.0.1:3306/test
|
|
90
|
-
RAILS_ENV: test
|
|
91
|
-
run: |
|
|
92
|
-
bundle exec rake create_test_app
|
|
93
|
-
bundle exec rake
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
# POSTGRES
|
|
97
|
-
postgres:
|
|
98
|
-
runs-on: ubuntu-latest
|
|
99
|
-
strategy:
|
|
100
|
-
matrix:
|
|
101
|
-
ruby: ['2.6', '2.7', '3.0']
|
|
102
|
-
gemfile:
|
|
103
|
-
- rails_5
|
|
104
|
-
- rails_6
|
|
105
|
-
- rails_6_1
|
|
106
|
-
- rails_master
|
|
107
|
-
exclude:
|
|
108
|
-
- ruby: '3.0'
|
|
109
|
-
gemfile: rails_5
|
|
110
|
-
# Rails 7 requires Ruby 2.7 or higher
|
|
111
|
-
- ruby: '2.6'
|
|
112
|
-
gemfile: rails_master
|
|
113
|
-
env:
|
|
114
|
-
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
115
|
-
BUNDLE_PATH_RELATIVE_TO_CWD: true
|
|
116
|
-
|
|
117
|
-
services:
|
|
118
|
-
postgres:
|
|
119
|
-
image: postgres:12
|
|
120
|
-
env:
|
|
121
|
-
POSTGRES_USER: postgres
|
|
122
|
-
POSTGRES_PASSWORD: password
|
|
123
|
-
POSTGRES_DB: test
|
|
124
|
-
ports: ['5432:5432']
|
|
125
|
-
|
|
126
|
-
steps:
|
|
127
|
-
- uses: actions/checkout@v2
|
|
128
|
-
- name: Set up Ruby ${{ matrix.ruby }}
|
|
129
|
-
uses: ruby/setup-ruby@v1
|
|
130
|
-
with:
|
|
131
|
-
ruby-version: ${{ matrix.ruby }}
|
|
132
|
-
bundler-cache: true
|
|
133
|
-
|
|
134
|
-
- name: Run tests
|
|
135
|
-
env:
|
|
136
|
-
DATABASE_URL: postgres://postgres:password@localhost:5432/test
|
|
137
|
-
RAILS_ENV: test
|
|
138
|
-
run: |
|
|
139
|
-
bundle exec rake create_test_app
|
|
140
|
-
bundle exec rake
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Standard Rb
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
pull_request:
|
|
6
|
-
branches:
|
|
7
|
-
- '*'
|
|
8
|
-
push:
|
|
9
|
-
branches:
|
|
10
|
-
- master
|
|
11
|
-
jobs:
|
|
12
|
-
# STANDARD RB
|
|
13
|
-
standard:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
strategy:
|
|
16
|
-
matrix:
|
|
17
|
-
ruby: ['3.0']
|
|
18
|
-
steps:
|
|
19
|
-
- uses: actions/checkout@v2
|
|
20
|
-
- name: Set up Ruby ${{ matrix.ruby }}
|
|
21
|
-
uses: ruby/setup-ruby@v1
|
|
22
|
-
with:
|
|
23
|
-
ruby-version: ${{ matrix.ruby }}
|
|
24
|
-
bundler-cache: true
|
|
25
|
-
|
|
26
|
-
- name: Run Standard Rb
|
|
27
|
-
run: bundle exec standardrb --format progress
|
data/.gitignore
DELETED
data/.rspec
DELETED
data/Appraisals
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
appraise "rails-5" do
|
|
2
|
-
gem "rails", "~> 5.2.0"
|
|
3
|
-
end
|
|
4
|
-
|
|
5
|
-
appraise "rails-6" do
|
|
6
|
-
gem "rails", "~> 6.0.0"
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
appraise "rails-6-1" do
|
|
10
|
-
gem "rails", "~> 6.1.0"
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
appraise "rails-master" do
|
|
14
|
-
gem "rails", github: "rails/rails"
|
|
15
|
-
end
|
data/Gemfile
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
source "https://rubygems.org"
|
|
2
|
-
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
3
|
-
|
|
4
|
-
# Declare your gem's dependencies in noticed.gemspec.
|
|
5
|
-
# Bundler will treat runtime dependencies like base dependencies, and
|
|
6
|
-
# development dependencies will be added by default to the :development group.
|
|
7
|
-
gemspec
|
|
8
|
-
|
|
9
|
-
# Declare any dependencies that are still in development here instead of in
|
|
10
|
-
# your gemspec. These might include edge Rails or gems from your path or
|
|
11
|
-
# Git. Remember to move these dependencies to your gemspec before releasing
|
|
12
|
-
# your gem to rubygems.org.
|
|
13
|
-
|
|
14
|
-
# To use a debugger
|
|
15
|
-
gem "byebug", group: [:development, :test]
|
|
16
|
-
gem "listen", group: [:development, :test]
|
data/Rakefile
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require "bundler/gem_tasks"
|
|
2
|
-
require "rails/dummy/tasks"
|
|
3
|
-
|
|
4
|
-
import "./lib/tasks/tags_collate_utf8.rake"
|
|
5
|
-
|
|
6
|
-
APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
|
|
7
|
-
|
|
8
|
-
require "rspec/core/rake_task"
|
|
9
|
-
RSpec::Core::RakeTask.new(:spec)
|
|
10
|
-
|
|
11
|
-
task default: :spec
|
|
12
|
-
|
|
13
|
-
load "lib/tasks/setup_test_db.rake"
|
data/gemfiles/rails_5.gemfile
DELETED
data/gemfiles/rails_6.gemfile
DELETED
data/gemfiles/rails_6_1.gemfile
DELETED