gutentag 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 +4 -4
- data/.gitignore +1 -1
- data/.travis.yml +4 -2
- data/Appraisals +15 -0
- data/README.md +8 -2
- data/db/migrate/1_gutentag_tables.rb +2 -2
- data/gemfiles/rails_3_2.gemfile +7 -0
- data/gemfiles/rails_4_0.gemfile +7 -0
- data/gemfiles/rails_4_1.gemfile +7 -0
- data/gemfiles/rails_4_2.gemfile +7 -0
- data/gutentag.gemspec +3 -2
- data/lib/gutentag.rb +16 -0
- data/lib/gutentag/active_record.rb +2 -2
- data/spec/acceptance/tag_names_spec.rb +1 -1
- data/spec/internal/db/schema.rb +2 -2
- data/spec/models/gutentag/tag_spec.rb +1 -1
- data/spec/models/gutentag/tagging_spec.rb +1 -1
- metadata +24 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5caab7c06cc22c8d471dff482d8a0e8697bd9fea
|
4
|
+
data.tar.gz: 8402bccf294c70bd31d12e4bf31eda66e4b347db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e6370b2e38a4c3d97f5d48e43057cf1890f22cbd059f9ffd7f36a4781c7e9863bb32bbdef3e5c76cf3d5f7c8f4ec5432fc70671080567d95f04018e78c7a3b0
|
7
|
+
data.tar.gz: ff1200c35f2076cfdf3182e7b6d65a67707436c806782f9df6bfe363291c75942d634cc6da1599cb14d974dda3c313ab2a98d8f1cec944499c9c4de83b655f0c
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Appraisals
ADDED
data/README.md
CHANGED
@@ -12,7 +12,7 @@ This was built partly as a proof-of-concept, and partly to see how a tagging gem
|
|
12
12
|
|
13
13
|
Get it into your Gemfile - and don't forget the version constraint!
|
14
14
|
|
15
|
-
gem 'gutentag', '~> 0.
|
15
|
+
gem 'gutentag', '~> 0.6.0'
|
16
16
|
|
17
17
|
Next: your tags get persisted to your database, so let's import and run the migrations to get the tables set up:
|
18
18
|
|
@@ -21,6 +21,12 @@ Next: your tags get persisted to your database, so let's import and run the migr
|
|
21
21
|
|
22
22
|
## Upgrading
|
23
23
|
|
24
|
+
### 0.6.0
|
25
|
+
|
26
|
+
Rails 4.2 is supported as of Gutentag 0.6.0 - but please note that due to internal changes in ActiveRecord, changes to tag_names will no longer be tracked by your model's dirty state. This feature will continue to work in Rails 3.2 through to 4.1 though.
|
27
|
+
|
28
|
+
### 0.5.0
|
29
|
+
|
24
30
|
Between 0.4.0 and 0.5.0, Gutentag switched table names from `tags` and `taggings` to `gutentag_tags` and `gutentag_taggings`. This has been done to avoid conflicting with the more generic table names that may exist in Rails apps already.
|
25
31
|
|
26
32
|
If you were using Gutentag 0.4.0 (or older) and now want to upgrade, you'll need to create a migration manually that renames these tables:
|
@@ -53,4 +59,4 @@ Changes to tag_names are not persisted immediately - you must save your taggable
|
|
53
59
|
|
54
60
|
## Licence
|
55
61
|
|
56
|
-
Copyright (c) 2013, Gutentag is developed and maintained by Pat Allan, and is released under the open MIT Licence.
|
62
|
+
Copyright (c) 2013-2015, Gutentag is developed and maintained by Pat Allan, and is released under the open MIT Licence.
|
@@ -4,7 +4,7 @@ class GutentagTables < ActiveRecord::Migration
|
|
4
4
|
t.integer :tag_id, :null => false
|
5
5
|
t.integer :taggable_id, :null => false
|
6
6
|
t.string :taggable_type, :null => false
|
7
|
-
t.timestamps
|
7
|
+
t.timestamps :null => false
|
8
8
|
end
|
9
9
|
|
10
10
|
add_index :gutentag_taggings, :tag_id
|
@@ -14,7 +14,7 @@ class GutentagTables < ActiveRecord::Migration
|
|
14
14
|
|
15
15
|
create_table :gutentag_tags do |t|
|
16
16
|
t.string :name, :null => false
|
17
|
-
t.timestamps
|
17
|
+
t.timestamps :null => false
|
18
18
|
end
|
19
19
|
|
20
20
|
add_index :gutentag_tags, :name, :unique => true
|
data/gutentag.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.name = 'gutentag'
|
4
|
-
s.version = '0.
|
4
|
+
s.version = '0.6.0'
|
5
5
|
s.authors = ['Pat Allan']
|
6
6
|
s.email = ['pat@freelancing-gods.com']
|
7
7
|
s.homepage = 'https://github.com/pat/gutentag'
|
@@ -14,7 +14,8 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.require_paths = ['lib']
|
15
15
|
|
16
16
|
s.add_runtime_dependency 'activerecord', '>= 3.2.0'
|
17
|
+
s.add_runtime_dependency 'appraisal', '~> 1.0.2'
|
17
18
|
s.add_development_dependency 'combustion', '0.5.1'
|
18
|
-
s.add_development_dependency 'rspec-rails', '~>
|
19
|
+
s.add_development_dependency 'rspec-rails', '~> 3.1'
|
19
20
|
s.add_development_dependency 'sqlite3', '~> 1.3.7'
|
20
21
|
end
|
data/lib/gutentag.rb
CHANGED
@@ -1,4 +1,14 @@
|
|
1
|
+
require 'active_record/version'
|
2
|
+
|
1
3
|
module Gutentag
|
4
|
+
def self.dirtier
|
5
|
+
@dirtier
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.dirtier=(dirtier)
|
9
|
+
@dirtier = dirtier
|
10
|
+
end
|
11
|
+
|
2
12
|
def self.normaliser
|
3
13
|
@normaliser ||= Gutentag::TagName
|
4
14
|
end
|
@@ -13,3 +23,9 @@ require 'gutentag/dirty'
|
|
13
23
|
require 'gutentag/engine'
|
14
24
|
require 'gutentag/persistence'
|
15
25
|
require 'gutentag/tag_name'
|
26
|
+
|
27
|
+
if ActiveRecord::VERSION::MAJOR == 3
|
28
|
+
Gutentag.dirtier = Gutentag::Dirty
|
29
|
+
elsif ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR < 2
|
30
|
+
Gutentag.dirtier = Gutentag::Dirty
|
31
|
+
end
|
@@ -19,11 +19,11 @@ module Gutentag::ActiveRecord
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def tag_names
|
22
|
-
@tag_names ||= tags.
|
22
|
+
@tag_names ||= tags.pluck(:name)
|
23
23
|
end
|
24
24
|
|
25
25
|
def tag_names=(names)
|
26
|
-
Gutentag
|
26
|
+
Gutentag.dirtier.call self, names if Gutentag.dirtier
|
27
27
|
|
28
28
|
@tag_names = names
|
29
29
|
end
|
@@ -26,7 +26,7 @@ describe "Managing tags via names" do
|
|
26
26
|
|
27
27
|
expect(article.changed_attributes.stringify_keys).
|
28
28
|
to eq('tag_names' => ['melbourne'])
|
29
|
-
end
|
29
|
+
end if Gutentag.dirtier
|
30
30
|
|
31
31
|
it "does not make model dirty when changing through tag_names" do
|
32
32
|
article.tag_names << 'melbourne'
|
data/spec/internal/db/schema.rb
CHANGED
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: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pat Allan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: appraisal
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.0.2
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: combustion
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +58,14 @@ dependencies:
|
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
61
|
+
version: '3.1'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
68
|
+
version: '3.1'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: sqlite3
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,6 +89,7 @@ extra_rdoc_files: []
|
|
75
89
|
files:
|
76
90
|
- ".gitignore"
|
77
91
|
- ".travis.yml"
|
92
|
+
- Appraisals
|
78
93
|
- Gemfile
|
79
94
|
- LICENCE
|
80
95
|
- README.md
|
@@ -84,6 +99,10 @@ files:
|
|
84
99
|
- db/migrate/1_gutentag_tables.rb
|
85
100
|
- db/migrate/2_gutentag_cache_counter.rb
|
86
101
|
- db/migrate/3_no_null_counters.rb
|
102
|
+
- gemfiles/rails_3_2.gemfile
|
103
|
+
- gemfiles/rails_4_0.gemfile
|
104
|
+
- gemfiles/rails_4_1.gemfile
|
105
|
+
- gemfiles/rails_4_2.gemfile
|
87
106
|
- gutentag.gemspec
|
88
107
|
- lib/gutentag.rb
|
89
108
|
- lib/gutentag/active_record.rb
|
@@ -121,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
140
|
version: '0'
|
122
141
|
requirements: []
|
123
142
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.
|
143
|
+
rubygems_version: 2.2.2
|
125
144
|
signing_key:
|
126
145
|
specification_version: 4
|
127
146
|
summary: Good Tags
|