gutentag 2.5.0 → 2.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +2 -0
- data/.travis.yml +4 -4
- data/Appraisals +4 -3
- data/CHANGELOG.md +6 -0
- data/README.md +14 -0
- data/gutentag.gemspec +8 -7
- data/lib/gutentag/tag_names.rb +3 -1
- data/lib/gutentag/tag_validations.rb +1 -1
- data/spec/acceptance/tag_names_spec.rb +12 -0
- metadata +19 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2220c5448de91dad49288b5d2370588e09a08bf863f3398b1ef0eb07e54691ef
|
4
|
+
data.tar.gz: 42b8046acab85218e0e3ecea86ae5d1fb27e2ca69895567b66d66227b3070ffe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a151247791c559ff523ebb8af939ed28a0d55932b1d99d0476fa77a6ae9bafe724526ed1f21a3eb38d05ea0a371540e15c659f69e062abfe90f33f337b7ee71d
|
7
|
+
data.tar.gz: fd7f8db5ee16bd1fb854e9d2ad3bf18dc5b48de866e307bc750a4ff525ab303981e3eddef1ac562bbe0918fdd32e088543fba7025d09a4ff2af7e87d2694c8dc
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/Appraisals
CHANGED
@@ -36,7 +36,8 @@ appraise "rails_5_2" do
|
|
36
36
|
end if RUBY_VERSION.to_f >= 2.2
|
37
37
|
|
38
38
|
appraise "rails_6_0" do
|
39
|
-
gem "rails",
|
40
|
-
gem "pg",
|
41
|
-
gem "mysql2",
|
39
|
+
gem "rails", "~> 6.0.0.beta1"
|
40
|
+
gem "pg", "~> 1.0", :platform => :ruby
|
41
|
+
gem "mysql2", "~> 0.5.0", :platform => :ruby
|
42
|
+
gem "sqlite3", "~> 1.4", :platform => :ruby
|
42
43
|
end if RUBY_VERSION.to_f >= 2.5 && RUBY_PLATFORM != "java"
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project (at least, from v0.5.0 onwards) will be documented in this file.
|
4
4
|
|
5
|
+
## 2.5.1 - 2019-05-10
|
6
|
+
|
7
|
+
### Fixed
|
8
|
+
|
9
|
+
* Ensuring consistent behaviour for tag_names array - names are not duplicated, and are normalised prior to saving (as discussed in [issue #66](https://github.com/pat/gutentag/issues/66)).
|
10
|
+
|
5
11
|
## 2.5.0 - 2019-03-15
|
6
12
|
|
7
13
|
**Pleease note this release ends official support of Rails 3.2 and Ruby (MRI) 2.2.** The code currently still works on Ruby 2.2, and all features except for the new `Gutentag::Tag.names_for_scope` method work in Rails 3.2, but they're no longer tested against, and cannot be guaranteed to work in future releases.
|
data/README.md
CHANGED
@@ -16,6 +16,7 @@ If you want to know more, read [this blog post](http://freelancing-gods.com/post
|
|
16
16
|
* [Installation](#installation)
|
17
17
|
* [Upgrading](#upgrading)
|
18
18
|
* [Configuration](#configuration)
|
19
|
+
* [Extending](#extending)
|
19
20
|
* [Contribution](#contribution)
|
20
21
|
* [Licence](#licence)
|
21
22
|
|
@@ -151,6 +152,19 @@ Gutentag.normaliser = lambda { |value| value.to_s.upcase }
|
|
151
152
|
|
152
153
|
Gutentag ignores case by default, but can be customised to be case-sensitive by supplying your own validations and normaliser, as outlined by [Robin Mehner](https://github.com/rmehner) in [issue 42](https://github.com/pat/gutentag/issues/42). Further changes may be required for your schema though, depending on your database.
|
153
154
|
|
155
|
+
<h2 id="extending">Extending</h2>
|
156
|
+
|
157
|
+
If you need to extend Gutentag's models, you will need to wrap the `include` inside a `to_prepare` hook to ensure it's loaded consistently in all Rails environments:
|
158
|
+
|
159
|
+
```ruby
|
160
|
+
# config/initializers/gutentag.rb or equivalent
|
161
|
+
Rails.application.config.to_prepare do
|
162
|
+
Gutentag::Tag.include TagExtensions
|
163
|
+
end
|
164
|
+
```
|
165
|
+
|
166
|
+
Further discussion and examples of this can be found in [issue 65](https://github.com/pat/gutentag/issues/65).
|
167
|
+
|
154
168
|
<h2 id="contribution">Contribution</h2>
|
155
169
|
|
156
170
|
Please note that this project now has a [Contributor Code of Conduct](http://contributor-covenant.org/version/1/0/0/). By participating in this project you agree to abide by its terms.
|
data/gutentag.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "gutentag"
|
5
|
-
s.version = "2.5.
|
5
|
+
s.version = "2.5.1"
|
6
6
|
s.authors = ["Pat Allan"]
|
7
7
|
s.email = ["pat@freelancing-gods.com"]
|
8
8
|
s.homepage = "https://github.com/pat/gutentag"
|
@@ -16,11 +16,12 @@ Gem::Specification.new do |s|
|
|
16
16
|
|
17
17
|
s.add_runtime_dependency "activerecord", ">= 3.2.0"
|
18
18
|
|
19
|
-
s.add_development_dependency "appraisal",
|
20
|
-
s.add_development_dependency "bundler",
|
21
|
-
s.add_development_dependency "combustion",
|
22
|
-
s.add_development_dependency "database_cleaner",
|
19
|
+
s.add_development_dependency "appraisal", "~> 2.1.0"
|
20
|
+
s.add_development_dependency "bundler", "~> 1.17"
|
21
|
+
s.add_development_dependency "combustion", "~> 1.1"
|
22
|
+
s.add_development_dependency "database_cleaner", "~> 1.6"
|
23
23
|
s.add_development_dependency "rails"
|
24
|
-
s.add_development_dependency "rspec-rails",
|
25
|
-
s.add_development_dependency "rubocop",
|
24
|
+
s.add_development_dependency "rspec-rails", "~> 3.1"
|
25
|
+
s.add_development_dependency "rubocop", "~> 0.68.1"
|
26
|
+
s.add_development_dependency "rubocop-performance", "~> 1"
|
26
27
|
end
|
data/lib/gutentag/tag_names.rb
CHANGED
@@ -36,7 +36,7 @@ class Gutentag::TagValidations
|
|
36
36
|
|
37
37
|
def add_length_validation?
|
38
38
|
klass.table_exists? && limit.present?
|
39
|
-
rescue *DATABASE_ERROR_CLASSES
|
39
|
+
rescue *DATABASE_ERROR_CLASSES => _error
|
40
40
|
warn <<-MESSAGE
|
41
41
|
The database is not currently available, and so Gutentag was not able to set
|
42
42
|
up tag validations completely (in particular: adding a length limit to match
|
@@ -70,6 +70,13 @@ describe "Managing tags via names" do
|
|
70
70
|
expect(article.tags.collect(&:name)).to eq(%w[ portland oregon ruby ])
|
71
71
|
end
|
72
72
|
|
73
|
+
it "does not repeat appended names that exist in the array of strings" do
|
74
|
+
article.tag_names = %w[ portland oregon ]
|
75
|
+
article.tag_names += %w[ oregon ruby ]
|
76
|
+
|
77
|
+
expect(article.tag_names).to match(%w[ portland oregon ruby ])
|
78
|
+
end
|
79
|
+
|
73
80
|
it "removes a single tag name" do
|
74
81
|
article.tag_names = %w[ portland oregon ]
|
75
82
|
article.tag_names.delete "oregon"
|
@@ -99,6 +106,11 @@ describe "Managing tags via names" do
|
|
99
106
|
expect(article.tags.collect(&:name)).to eq(%w[ portland ])
|
100
107
|
end
|
101
108
|
|
109
|
+
it "normalises tag names" do
|
110
|
+
article.tag_names = %w[ Perth ]
|
111
|
+
expect(article.tag_names).to eq(%w[ perth ])
|
112
|
+
end
|
113
|
+
|
102
114
|
it "allows setting of tag names on unpersisted objects" do
|
103
115
|
article = Article.new :tag_names => %w[ melbourne pancakes ]
|
104
116
|
article.save!
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gutentag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pat Allan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -114,14 +114,28 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 0.68.1
|
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: 0.
|
124
|
+
version: 0.68.1
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-performance
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '1'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '1'
|
125
139
|
description: A good, simple, solid tagging extension for ActiveRecord
|
126
140
|
email:
|
127
141
|
- pat@freelancing-gods.com
|
@@ -196,8 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
210
|
- !ruby/object:Gem::Version
|
197
211
|
version: '0'
|
198
212
|
requirements: []
|
199
|
-
|
200
|
-
rubygems_version: 2.4.5.5
|
213
|
+
rubygems_version: 3.0.3
|
201
214
|
signing_key:
|
202
215
|
specification_version: 4
|
203
216
|
summary: Good Tags
|