make_taggable 0.6.4 → 0.7.2
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/.dummyrc +17 -0
- data/.github/workflows/ci.yml +132 -21
- data/.gitignore +4 -0
- data/Appraisals +4 -0
- data/CONTRIBUTING.md +5 -31
- data/README.md +61 -37
- data/Rakefile +3 -0
- data/UPGRADING.md +1 -1
- data/gemfiles/rails_6_1.gemfile +9 -0
- data/lib/make_taggable.rb +4 -4
- data/lib/make_taggable/tag.rb +1 -1
- data/lib/make_taggable/version.rb +1 -2
- data/lib/tasks/setup_test_db.rake +8 -0
- data/make_taggable.gemspec +28 -15
- metadata +85 -249
- data/.standard.yml +0 -18
- data/.standard_todo.yml +0 -5
- data/.travis.yml +0 -36
- data/LICENSE.txt +0 -21
- data/spec/dummy/README.md +0 -24
- data/spec/dummy/Rakefile +0 -6
- data/spec/dummy/app/assets/config/manifest.js +0 -2
- data/spec/dummy/app/channels/application_cable/channel.rb +0 -4
- data/spec/dummy/app/channels/application_cable/connection.rb +0 -4
- data/spec/dummy/app/controllers/application_controller.rb +0 -2
- data/spec/dummy/app/controllers/concerns/.keep +0 -0
- data/spec/dummy/app/jobs/application_job.rb +0 -7
- data/spec/dummy/app/mailers/application_mailer.rb +0 -4
- data/spec/dummy/app/models/altered_inheriting_taggable_model.rb +0 -5
- data/spec/dummy/app/models/application_record.rb +0 -3
- data/spec/dummy/app/models/cached_model.rb +0 -3
- data/spec/dummy/app/models/cached_model_with_array.rb +0 -11
- data/spec/dummy/app/models/columns_override_model.rb +0 -5
- data/spec/dummy/app/models/company.rb +0 -15
- data/spec/dummy/app/models/concerns/.keep +0 -0
- data/spec/dummy/app/models/inheriting_taggable_model.rb +0 -4
- data/spec/dummy/app/models/market.rb +0 -2
- data/spec/dummy/app/models/non_standard_id_taggable_model.rb +0 -8
- data/spec/dummy/app/models/ordered_taggable_model.rb +0 -4
- data/spec/dummy/app/models/other_cached_model.rb +0 -3
- data/spec/dummy/app/models/other_taggable_model.rb +0 -4
- data/spec/dummy/app/models/student.rb +0 -4
- data/spec/dummy/app/models/taggable_model.rb +0 -14
- data/spec/dummy/app/models/untaggable_model.rb +0 -3
- data/spec/dummy/app/models/user.rb +0 -3
- data/spec/dummy/app/views/layouts/mailer.html.erb +0 -13
- data/spec/dummy/app/views/layouts/mailer.text.erb +0 -1
- data/spec/dummy/bin/rails +0 -4
- data/spec/dummy/bin/rake +0 -4
- data/spec/dummy/bin/setup +0 -33
- data/spec/dummy/config.ru +0 -5
- data/spec/dummy/config/application.rb +0 -19
- data/spec/dummy/config/boot.rb +0 -5
- data/spec/dummy/config/cable.yml +0 -10
- data/spec/dummy/config/credentials.yml.enc +0 -1
- data/spec/dummy/config/database.yml +0 -25
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -52
- data/spec/dummy/config/environments/production.rb +0 -105
- data/spec/dummy/config/environments/test.rb +0 -49
- data/spec/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/cors.rb +0 -16
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/spec/dummy/config/initializers/inflections.rb +0 -16
- data/spec/dummy/config/initializers/mime_types.rb +0 -4
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/en.yml +0 -33
- data/spec/dummy/config/master.key +0 -1
- data/spec/dummy/config/puma.rb +0 -38
- data/spec/dummy/config/routes.rb +0 -3
- data/spec/dummy/config/spring.rb +0 -6
- data/spec/dummy/config/storage.yml +0 -34
- data/spec/dummy/db/migrate/20201119220853_create_taggable_models.rb +0 -8
- data/spec/dummy/db/migrate/20201119221037_create_columns_override_models.rb +0 -9
- data/spec/dummy/db/migrate/20201119221121_create_non_standard_id_taggable_models.rb +0 -8
- data/spec/dummy/db/migrate/20201119221228_create_untaggable_models.rb +0 -8
- data/spec/dummy/db/migrate/20201119221247_create_cached_models.rb +0 -9
- data/spec/dummy/db/migrate/20201119221314_create_other_cached_models.rb +0 -11
- data/spec/dummy/db/migrate/20201119221343_create_companies.rb +0 -7
- data/spec/dummy/db/migrate/20201119221416_create_users.rb +0 -7
- data/spec/dummy/db/migrate/20201119221434_create_other_taggable_models.rb +0 -8
- data/spec/dummy/db/migrate/20201119221507_create_ordered_taggable_models.rb +0 -8
- data/spec/dummy/db/migrate/20201119221530_create_cache_methods_injected_models.rb +0 -7
- data/spec/dummy/db/migrate/20201119221629_create_other_cached_with_array_models.rb +0 -11
- data/spec/dummy/db/migrate/20201119221746_create_taggable_model_with_jsons.rb +0 -9
- data/spec/dummy/db/migrate/20201121222007_create_make_taggable_tags.make_taggable_engine.rb +0 -11
- data/spec/dummy/db/migrate/20201121222008_create_make_taggable_taggings.make_taggable_engine.rb +0 -13
- data/spec/dummy/db/migrate/20201121222009_change_tag_name_collation_mysql.make_taggable_engine.rb +0 -8
- data/spec/dummy/db/migrate/20201121222010_add_index_to_tags.make_taggable_engine.rb +0 -6
- data/spec/dummy/db/migrate/20201121222011_add_index_to_taggings.make_taggable_engine.rb +0 -13
- data/spec/dummy/db/schema.rb +0 -117
- data/spec/dummy/db/seeds.rb +0 -7
- data/spec/dummy/lib/tasks/.keep +0 -0
- data/spec/dummy/log/.keep +0 -0
- data/spec/dummy/public/robots.txt +0 -1
- data/spec/dummy/storage/.keep +0 -0
- data/spec/dummy/test/channels/application_cable/connection_test.rb +0 -11
- data/spec/dummy/test/controllers/.keep +0 -0
- data/spec/dummy/test/fixtures/.keep +0 -0
- data/spec/dummy/test/fixtures/files/.keep +0 -0
- data/spec/dummy/test/integration/.keep +0 -0
- data/spec/dummy/test/mailers/.keep +0 -0
- data/spec/dummy/test/models/.keep +0 -0
- data/spec/dummy/test/test_helper.rb +0 -13
- data/spec/dummy/vendor/.keep +0 -0
- data/spec/make_taggable/acts_as_tagger_spec.rb +0 -112
- data/spec/make_taggable/caching_spec.rb +0 -123
- data/spec/make_taggable/default_parser_spec.rb +0 -45
- data/spec/make_taggable/dirty_spec.rb +0 -140
- data/spec/make_taggable/generic_parser_spec.rb +0 -13
- data/spec/make_taggable/make_taggable_spec.rb +0 -260
- data/spec/make_taggable/related_spec.rb +0 -93
- data/spec/make_taggable/single_table_inheritance_spec.rb +0 -220
- data/spec/make_taggable/tag_list_spec.rb +0 -169
- data/spec/make_taggable/tag_spec.rb +0 -297
- data/spec/make_taggable/taggable_spec.rb +0 -804
- data/spec/make_taggable/tagger_spec.rb +0 -149
- data/spec/make_taggable/tagging_spec.rb +0 -115
- data/spec/make_taggable/tags_helper_spec.rb +0 -43
- data/spec/make_taggable/utils_spec.rb +0 -22
- data/spec/make_taggable_spec.rb +0 -5
- data/spec/spec_helper.rb +0 -18
- data/spec/support/array.rb +0 -9
- data/spec/support/helpers.rb +0 -31
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5a7fdfad7146eb2661c6bad8dd120e29ae36a964434e60658598d91ccff7906e
|
|
4
|
+
data.tar.gz: e4922ea84a7201b91d253401396ce08711906d29cf18f93c973ba1165f91d4dc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a7cd676d93f080ff89753d584e0935a04e605403149fac56c180f5a4293cf7a8fa9f4ced6142ba77009bc68dc9d4dcc1430aba85ac1074578460af36deb1142b
|
|
7
|
+
data.tar.gz: 2d587f9276d813b08e430ca65212e7bbc698dd0563ddb083c412456f5569f9bca74297552edaa27cc29f1a1bde645bd0f3f35c41e36d61467d3fff0055d4bb13
|
data/.dummyrc
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
--skip-bootsnap
|
|
2
|
+
--skip-webpack
|
|
3
|
+
--skip-action-cable
|
|
4
|
+
--skip-spring
|
|
5
|
+
--skip-coffee
|
|
6
|
+
--skip-turbolinks
|
|
7
|
+
--skip-listen
|
|
8
|
+
--skip-action-text
|
|
9
|
+
--skip-active-storage
|
|
10
|
+
--skip-action-cable
|
|
11
|
+
--skip-action-mailer
|
|
12
|
+
--skip-action-mailbox
|
|
13
|
+
--skip-active-job
|
|
14
|
+
--skip-javascript
|
|
15
|
+
--skip-test
|
|
16
|
+
|
|
17
|
+
--template=spec/template/test_app_template.rb
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: CI
|
|
2
3
|
|
|
3
4
|
on:
|
|
4
5
|
pull_request:
|
|
@@ -8,40 +9,150 @@ on:
|
|
|
8
9
|
branches:
|
|
9
10
|
- master
|
|
10
11
|
jobs:
|
|
11
|
-
|
|
12
|
+
# STANDARD RB
|
|
13
|
+
standard:
|
|
12
14
|
runs-on: ubuntu-latest
|
|
13
15
|
strategy:
|
|
14
16
|
matrix:
|
|
15
|
-
ruby: [
|
|
17
|
+
ruby: ['3.0']
|
|
16
18
|
steps:
|
|
17
|
-
- uses: actions/checkout@
|
|
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 StandardRB
|
|
27
|
+
run: bundle exec standardrb --format progress
|
|
28
|
+
|
|
18
29
|
|
|
19
|
-
|
|
30
|
+
# SQLITE
|
|
31
|
+
sqlite:
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
strategy:
|
|
34
|
+
matrix:
|
|
35
|
+
ruby: ['2.6', '2.7', '3.0']
|
|
36
|
+
gemfile:
|
|
37
|
+
- rails_5
|
|
38
|
+
- rails_6
|
|
39
|
+
- rails_6_1
|
|
40
|
+
- rails_master
|
|
41
|
+
exclude:
|
|
42
|
+
- ruby: '3.0'
|
|
43
|
+
gemfile: rails_5
|
|
44
|
+
# Rails 7 requires Ruby 2.7 or higher
|
|
45
|
+
- ruby: '2.6'
|
|
46
|
+
gemfile: rails_master
|
|
47
|
+
env:
|
|
48
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
49
|
+
BUNDLE_PATH_RELATIVE_TO_CWD: true
|
|
50
|
+
|
|
51
|
+
steps:
|
|
52
|
+
- uses: actions/checkout@v2
|
|
53
|
+
- name: Set up Ruby ${{ matrix.ruby }}
|
|
20
54
|
uses: ruby/setup-ruby@v1
|
|
21
55
|
with:
|
|
22
56
|
ruby-version: ${{ matrix.ruby }}
|
|
57
|
+
bundler-cache: true
|
|
58
|
+
|
|
59
|
+
- name: Run tests
|
|
60
|
+
env:
|
|
61
|
+
RAILS_ENV: test
|
|
62
|
+
run: |
|
|
63
|
+
bundle exec rake create_test_app
|
|
64
|
+
bundle exec rake
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
# MYSQL
|
|
68
|
+
mysql:
|
|
69
|
+
runs-on: ubuntu-latest
|
|
70
|
+
strategy:
|
|
71
|
+
matrix:
|
|
72
|
+
ruby: ['2.6', '2.7', '3.0']
|
|
73
|
+
gemfile:
|
|
74
|
+
- rails_5
|
|
75
|
+
- rails_6
|
|
76
|
+
- rails_6_1
|
|
77
|
+
- rails_master
|
|
78
|
+
exclude:
|
|
79
|
+
- ruby: '3.0'
|
|
80
|
+
gemfile: rails_5
|
|
81
|
+
# Rails 7 requires Ruby 2.7 or higher
|
|
82
|
+
- ruby: '2.6'
|
|
83
|
+
gemfile: rails_master
|
|
84
|
+
env:
|
|
85
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
86
|
+
BUNDLE_PATH_RELATIVE_TO_CWD: true
|
|
23
87
|
|
|
24
|
-
|
|
25
|
-
|
|
88
|
+
services:
|
|
89
|
+
mysql:
|
|
90
|
+
image: mysql:8
|
|
91
|
+
env:
|
|
92
|
+
MYSQL_ROOT_PASSWORD: password
|
|
93
|
+
MSQL_DATABASE: test
|
|
94
|
+
ports: ['3306:3306']
|
|
95
|
+
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
|
96
|
+
|
|
97
|
+
steps:
|
|
98
|
+
- uses: actions/checkout@v2
|
|
99
|
+
- name: Set up Ruby ${{ matrix.ruby }}
|
|
100
|
+
uses: ruby/setup-ruby@v1
|
|
26
101
|
with:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
102
|
+
ruby-version: ${{ matrix.ruby }}
|
|
103
|
+
bundler-cache: true
|
|
104
|
+
|
|
105
|
+
- name: Run tests
|
|
106
|
+
env:
|
|
107
|
+
DATABASE_URL: mysql2://root:password@127.0.0.1:3306/test
|
|
108
|
+
RAILS_ENV: test
|
|
32
109
|
run: |
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
gem install bundler
|
|
37
|
-
bundle install --jobs 4 --retry 3
|
|
38
|
-
bundle exec appraisal install
|
|
110
|
+
bundle exec rake create_test_app
|
|
111
|
+
bundle exec rake
|
|
112
|
+
|
|
39
113
|
|
|
40
|
-
|
|
41
|
-
|
|
114
|
+
# POSTGRES
|
|
115
|
+
postgres:
|
|
116
|
+
runs-on: ubuntu-latest
|
|
117
|
+
strategy:
|
|
118
|
+
matrix:
|
|
119
|
+
ruby: ['2.6', '2.7', '3.0']
|
|
120
|
+
gemfile:
|
|
121
|
+
- rails_5
|
|
122
|
+
- rails_6
|
|
123
|
+
- rails_6_1
|
|
124
|
+
- rails_master
|
|
125
|
+
exclude:
|
|
126
|
+
- ruby: '3.0'
|
|
127
|
+
gemfile: rails_5
|
|
128
|
+
# Rails 7 requires Ruby 2.7 or higher
|
|
129
|
+
- ruby: '2.6'
|
|
130
|
+
gemfile: rails_master
|
|
131
|
+
env:
|
|
132
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
133
|
+
BUNDLE_PATH_RELATIVE_TO_CWD: true
|
|
134
|
+
|
|
135
|
+
services:
|
|
136
|
+
postgres:
|
|
137
|
+
image: postgres:12
|
|
138
|
+
env:
|
|
139
|
+
POSTGRES_USER: postgres
|
|
140
|
+
POSTGRES_PASSWORD: password
|
|
141
|
+
POSTGRES_DB: test
|
|
142
|
+
ports: ['5432:5432']
|
|
143
|
+
|
|
144
|
+
steps:
|
|
145
|
+
- uses: actions/checkout@v2
|
|
146
|
+
- name: Set up Ruby ${{ matrix.ruby }}
|
|
147
|
+
uses: ruby/setup-ruby@v1
|
|
148
|
+
with:
|
|
149
|
+
ruby-version: ${{ matrix.ruby }}
|
|
150
|
+
bundler-cache: true
|
|
42
151
|
|
|
43
152
|
- name: Run tests
|
|
44
153
|
env:
|
|
154
|
+
DATABASE_URL: postgres://postgres:password@localhost:5432/test
|
|
45
155
|
RAILS_ENV: test
|
|
46
156
|
run: |
|
|
47
|
-
bundle exec
|
|
157
|
+
bundle exec rake create_test_app
|
|
158
|
+
bundle exec rake
|
data/.gitignore
CHANGED
data/Appraisals
CHANGED
data/CONTRIBUTING.md
CHANGED
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
2
|
-
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
3
|
-
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
|
|
4
|
-
|
|
5
|
-
- [How to contribute:](#how-to-contribute)
|
|
6
|
-
- [Bug reports / Issues](#bug-reports--issues)
|
|
7
|
-
- [Code](#code)
|
|
8
|
-
- [Commit Messages](#commit-messages)
|
|
9
|
-
- [About Pull Requests (PR's)](#about-pull-requests-prs)
|
|
10
|
-
- [Documentation](#documentation)
|
|
11
|
-
|
|
12
|
-
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
13
|
-
|
|
14
1
|
# How to contribute:
|
|
15
2
|
|
|
16
3
|
## Bug reports / Issues
|
|
17
4
|
|
|
18
|
-
* Is something broken or not working as expected? Check for an existing issue or [create a new one](https://github.com/
|
|
5
|
+
* Is something broken or not working as expected? Check for an existing issue or [create a new one](https://github.com/MatthewKennedy/make_taggable/issues/new)
|
|
19
6
|
* IMPORTANT: Include the version of the gem, if you've install from git, what Ruby and Rails you are running, etc.
|
|
20
7
|
|
|
21
8
|
## Code
|
|
@@ -23,15 +10,14 @@
|
|
|
23
10
|
1. [Fork and clone the repo](https://help.github.com/articles/fork-a-repo)
|
|
24
11
|
2. Install the gem dependencies: `bundle install`
|
|
25
12
|
3. Make the changes you want and back them up with tests.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
13
|
+
4. Run the tests](https://github.com/MatthewKennedy/make_taggable#testing)
|
|
14
|
+
5. Update the CHANGELOG.md file with your changes and give yourself credit
|
|
15
|
+
6. Commit and create a pull request with details as to what has been changed and why
|
|
29
16
|
* Use well-described, small (atomic) commits.
|
|
30
17
|
* Include links to any relevant github issues.
|
|
31
18
|
* *Don't* change the VERSION file.
|
|
32
|
-
6. Extra Credit: [Confirm it runs and tests pass on the rubies specified in the travis config](.travis.yml). I will otherwise confirm it runs on these.
|
|
33
19
|
|
|
34
|
-
How I handle pull requests:
|
|
20
|
+
## How I handle pull requests:
|
|
35
21
|
|
|
36
22
|
* If the tests pass and the pull request looks good, I will merge it.
|
|
37
23
|
* If the pull request needs to be changed,
|
|
@@ -40,18 +26,6 @@ How I handle pull requests:
|
|
|
40
26
|
* by force pushing to it
|
|
41
27
|
* I can make any changes myself and manually merge the code in.
|
|
42
28
|
|
|
43
|
-
### Commit Messages
|
|
44
|
-
|
|
45
|
-
* [A Note About Git Commit Messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
|
|
46
|
-
* [http://stopwritingramblingcommitmessages.com/](http://stopwritingramblingcommitmessages.com/)
|
|
47
|
-
* [ThoughtBot style guide](https://github.com/thoughtbot/guides/tree/master/style#git)
|
|
48
|
-
|
|
49
|
-
### About Pull Requests (PR's)
|
|
50
|
-
|
|
51
|
-
* [All Your Open Source Code Are Belong To Us](http://www.benjaminfleischer.com/2013/07/30/all-your-open-source-code-are-belong-to-us/)
|
|
52
|
-
* [Using Pull Requests](https://help.github.com/articles/using-pull-requests)
|
|
53
|
-
* [Github pull requests made easy](http://www.element84.com/github-pull-requests-made-easy.html)
|
|
54
|
-
|
|
55
29
|
## Documentation
|
|
56
30
|
|
|
57
31
|
* Update the wiki
|
data/README.md
CHANGED
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
# MakeTaggable
|
|
2
2
|
[](https://badge.fury.io/rb/make_taggable)
|
|
3
|
-
|
|
4
|
-
[](https://github.com/testdouble/standard)
|
|
3
|
+

|
|
5
4
|
|
|
6
|
-
MakeTaggable is a
|
|
7
|
-
|
|
8
|
-
Why fork acts-as-taggable-on? Act As Taggable On appears stuck with a set of legacy migrations from rails pre [4.2] that added and removed indexes so much that the migrations do not run on a fresh install using MySQL.
|
|
9
|
-
|
|
10
|
-
For the PostgreSQL users, this is not an issue, but if you have an app or gem that used acts-as-taggable-on, you can no longer test against MySQL, so it seems a fresh start would be useful to clear out any legacy issues and move forward.
|
|
5
|
+
MakeTaggable is a tagging gem for Rails applications that allows custom tagging along dynamic contexts.
|
|
11
6
|
|
|
12
7
|
## Installation
|
|
13
8
|
|
|
14
|
-
To use
|
|
15
|
-
|
|
16
|
-
```ruby
|
|
17
|
-
gem "make_taggable", "~> 0.6.0"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
and bundle:
|
|
9
|
+
To use make_taggable, run the followng from the root of your application:
|
|
21
10
|
|
|
22
11
|
```shell
|
|
23
|
-
bundle
|
|
12
|
+
bundle add make_taggable
|
|
24
13
|
```
|
|
25
14
|
|
|
26
15
|
#### Post Installation
|
|
@@ -28,30 +17,30 @@ bundle
|
|
|
28
17
|
Install migrations
|
|
29
18
|
|
|
30
19
|
```shell
|
|
31
|
-
# For the latest versions :
|
|
32
20
|
rails make_taggable_engine:install:migrations
|
|
33
21
|
```
|
|
34
22
|
|
|
35
|
-
Review the generated migrations then migrate
|
|
23
|
+
Review the generated migrations then migrate:
|
|
36
24
|
```shell
|
|
37
25
|
rails db:migrate
|
|
38
26
|
```
|
|
39
27
|
|
|
40
28
|
#### For MySql users
|
|
41
|
-
|
|
29
|
+
To make MySQL play nice with spÉcial characters you can setting the following line in an initializer file:
|
|
42
30
|
|
|
43
31
|
```ruby
|
|
44
32
|
MakeTaggable.force_binary_collation = true
|
|
45
33
|
```
|
|
46
34
|
|
|
47
|
-
Or by
|
|
35
|
+
Or by run this rake task:
|
|
48
36
|
|
|
49
37
|
```shell
|
|
50
|
-
rails
|
|
38
|
+
rails make_taggable_engine:tag_names:collate_bin
|
|
51
39
|
```
|
|
52
40
|
|
|
53
41
|
See the Configuration section for more details.
|
|
54
42
|
|
|
43
|
+
|
|
55
44
|
## Usage
|
|
56
45
|
|
|
57
46
|
Setup
|
|
@@ -182,7 +171,7 @@ MakeTaggable::Tag.least_used(10)
|
|
|
182
171
|
|
|
183
172
|
### Finding Tagged Objects
|
|
184
173
|
|
|
185
|
-
|
|
174
|
+
MakeTaggable uses scopes to create an association for tags.
|
|
186
175
|
This way you can mix and match to filter down your results.
|
|
187
176
|
|
|
188
177
|
```ruby
|
|
@@ -411,6 +400,7 @@ CSS:
|
|
|
411
400
|
.css4 { font-size: 1.6em; }
|
|
412
401
|
```
|
|
413
402
|
|
|
403
|
+
|
|
414
404
|
## Configuration
|
|
415
405
|
|
|
416
406
|
If you would like to remove unused tag objects after removing taggings, add:
|
|
@@ -459,35 +449,69 @@ MakeTaggable.delimiter = ','
|
|
|
459
449
|
*NOTE 1: SQLite by default can't upcase or downcase multibyte characters, resulting in unwanted behavior. Load the SQLite ICU extension for proper handle of such characters. [See docs](http://www.sqlite.org/src/artifact?ci=trunk&filename=ext/icu/README.txt)*
|
|
460
450
|
|
|
461
451
|
|
|
462
|
-
|
|
452
|
+
## Upgrading
|
|
463
453
|
|
|
464
|
-
|
|
454
|
+
Install new migrations by running:
|
|
465
455
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
456
|
+
```shell
|
|
457
|
+
rails make_taggable_engine:install:migrations
|
|
458
|
+
```
|
|
469
459
|
|
|
470
460
|
## Compatibility
|
|
471
461
|
|
|
472
|
-
|
|
473
|
-
|
|
462
|
+
Version 0.7.x is compatible with Ruby 2.5 > and Rails 5.2 >
|
|
474
463
|
|
|
475
|
-
## TODO
|
|
476
|
-
- Review migrations indexes they seem excessive looking at the schema.
|
|
477
|
-
- See if the newer version of ActiveRecord or arel can be used instead of the MySQL workarounds.
|
|
478
464
|
|
|
479
465
|
## Testing
|
|
480
466
|
|
|
481
|
-
|
|
482
|
-
|
|
467
|
+
MakeTaggable uses RSpec for its test coverage. Inside the gem directory, you can run the specs by following the steps below:
|
|
468
|
+
|
|
469
|
+
Install the rquired gems:
|
|
470
|
+
|
|
471
|
+
```shell
|
|
472
|
+
bundle install
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
Setup the dummy test app:
|
|
476
|
+
|
|
477
|
+
```shell
|
|
478
|
+
bundle exec rake test_app
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
Run the spec tests against SQLite use the followiong command.
|
|
482
|
+
|
|
483
|
+
```shell
|
|
484
|
+
bundle exec rake
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
You can also run all the tests across all the Rails versions by running:
|
|
488
|
+
|
|
489
|
+
```shell
|
|
490
|
+
bundle exec appraisal install
|
|
491
|
+
|
|
492
|
+
bundle exec appraisal rake
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
## Contributing
|
|
496
|
+
|
|
497
|
+
Please use the following Standard Rb commands to format your code before creating a pull request:
|
|
498
|
+
|
|
499
|
+
Check for code errors:
|
|
500
|
+
|
|
501
|
+
```shell
|
|
502
|
+
bundle exec standardrb
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Fix code errors:
|
|
483
506
|
|
|
484
507
|
```shell
|
|
485
|
-
bundle
|
|
486
|
-
rake spec
|
|
508
|
+
bundle exec standardrb --fix
|
|
487
509
|
```
|
|
510
|
+
For more information please review the [Contributing](https://github.com/MatthewKennedy/make_taggable/blob/master/CONTRIBUTING.md) section.
|
|
488
511
|
|
|
489
|
-
|
|
512
|
+
#### Contributors
|
|
513
|
+
List of valued contributors From Acts-As-Taggable-On: [Check them all](https://github.com/mbleigh/acts-as-taggable-on/contributors)
|
|
490
514
|
|
|
491
515
|
|
|
492
516
|
## License
|
|
493
|
-
MIT
|
|
517
|
+
This gem is available as open source under the terms of the [MIT License](https://github.com/MatthewKennedy/make_taggable/blob/master/LICENSE.md).
|