acts-as-taggable-on 3.2.3 → 3.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +8 -7
- data/Gemfile +0 -1
- data/acts-as-taggable-on.gemspec +6 -7
- data/gemfiles/activerecord_3.2.gemfile +0 -1
- data/gemfiles/activerecord_4.0.gemfile +0 -1
- data/gemfiles/activerecord_4.1.gemfile +0 -1
- data/gemfiles/activerecord_edge.gemfile +0 -1
- data/lib/acts-as-taggable-on.rb +26 -20
- data/lib/acts_as_taggable_on/{acts_as_taggable_on/compatibility.rb → compatibility.rb} +0 -0
- data/lib/acts_as_taggable_on/tag_list.rb +13 -77
- data/lib/acts_as_taggable_on/tag_list_parser.rb +78 -0
- data/lib/acts_as_taggable_on/taggable.rb +7 -6
- data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/cache.rb +0 -0
- data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/collection.rb +0 -0
- data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/core.rb +14 -10
- data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/dirty.rb +0 -0
- data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/ownership.rb +1 -1
- data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/related.rb +0 -0
- data/lib/acts_as_taggable_on/utils.rb +2 -26
- data/lib/acts_as_taggable_on/version.rb +1 -1
- data/spec/acts_as_taggable_on/acts_as_taggable_on_spec.rb +1 -1
- data/spec/acts_as_taggable_on/acts_as_tagger_spec.rb +1 -0
- data/spec/acts_as_taggable_on/caching_spec.rb +1 -0
- data/spec/acts_as_taggable_on/related_spec.rb +1 -0
- data/spec/acts_as_taggable_on/single_table_inheritance_spec.rb +1 -0
- data/spec/acts_as_taggable_on/tag_list_parser_spec.rb +46 -0
- data/spec/acts_as_taggable_on/tag_list_spec.rb +3 -40
- data/spec/acts_as_taggable_on/tag_spec.rb +29 -35
- data/spec/acts_as_taggable_on/taggable_spec.rb +55 -55
- data/spec/acts_as_taggable_on/tagger_spec.rb +1 -0
- data/spec/acts_as_taggable_on/tagging_spec.rb +2 -1
- data/spec/acts_as_taggable_on/tags_helper_spec.rb +1 -0
- data/spec/acts_as_taggable_on/utils_spec.rb +1 -0
- data/spec/internal/app/models/cached_model_with_array.rb +1 -1
- data/spec/internal/app/models/models.rb +2 -2
- data/spec/internal/db/schema.rb +2 -2
- data/spec/spec_helper.rb +0 -1
- data/spec/support/0-helpers.rb +32 -0
- metadata +36 -47
- data/spec/schema.rb +0 -82
@@ -77,11 +77,11 @@ class OrderedTaggableModel < ActiveRecord::Base
|
|
77
77
|
acts_as_ordered_taggable_on :colours
|
78
78
|
end
|
79
79
|
|
80
|
-
if
|
80
|
+
if using_postgresql?
|
81
81
|
class CachedModelWithArray < ActiveRecord::Base
|
82
82
|
acts_as_taggable
|
83
83
|
end
|
84
|
-
if
|
84
|
+
if postgresql_support_json?
|
85
85
|
class TaggableModelWithJson < ActiveRecord::Base
|
86
86
|
acts_as_taggable
|
87
87
|
acts_as_taggable_on :skills
|
data/spec/internal/db/schema.rb
CHANGED
@@ -76,7 +76,7 @@ ActiveRecord::Schema.define version: 0 do
|
|
76
76
|
|
77
77
|
|
78
78
|
# Special cases for postgresql
|
79
|
-
if
|
79
|
+
if using_postgresql?
|
80
80
|
|
81
81
|
create_table :other_cached_with_array_models, force: true do |t|
|
82
82
|
t.column :name, :string
|
@@ -86,7 +86,7 @@ ActiveRecord::Schema.define version: 0 do
|
|
86
86
|
t.column :cached_glass_list, :string, array: true
|
87
87
|
end
|
88
88
|
|
89
|
-
if
|
89
|
+
if postgresql_support_json?
|
90
90
|
create_table :taggable_model_with_jsons, :force => true do |t|
|
91
91
|
t.column :name, :string
|
92
92
|
t.column :type, :string
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
def using_sqlite?
|
2
|
+
ActsAsTaggableOn::Utils.connection && ActsAsTaggableOn::Utils.connection.adapter_name == 'SQLite'
|
3
|
+
end
|
4
|
+
|
5
|
+
def supports_concurrency?
|
6
|
+
!using_sqlite?
|
7
|
+
end
|
8
|
+
|
9
|
+
def using_postgresql?
|
10
|
+
ActsAsTaggableOn::Utils.using_postgresql?
|
11
|
+
end
|
12
|
+
|
13
|
+
def postgresql_version
|
14
|
+
if using_postgresql?
|
15
|
+
ActsAsTaggableOn::Utils.connection.execute('SHOW SERVER_VERSION').first['server_version'].to_f
|
16
|
+
else
|
17
|
+
0.0
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def postgresql_support_json?
|
22
|
+
postgresql_version >= 9.2
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
def using_mysql?
|
27
|
+
ActsAsTaggableOn::Utils.using_mysql?
|
28
|
+
end
|
29
|
+
|
30
|
+
def using_case_insensitive_collation?
|
31
|
+
using_mysql? && ActsAsTaggableOn::Utils.connection.collation =~ /_ci\Z/
|
32
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts-as-taggable-on
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bleigh
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-05-
|
12
|
+
date: 2014-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -69,16 +69,16 @@ dependencies:
|
|
69
69
|
name: mysql2
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - "
|
72
|
+
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
74
|
+
version: 0.3.7
|
75
75
|
type: :development
|
76
76
|
prerelease: false
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
81
|
+
version: 0.3.7
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: pg
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,84 +99,70 @@ dependencies:
|
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 3.0.0.
|
102
|
+
version: 3.0.0.beta
|
103
103
|
type: :development
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 3.0.0.
|
109
|
+
version: 3.0.0.beta
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
111
|
name: rspec-its
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- - "
|
114
|
+
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
116
|
+
version: '0'
|
117
117
|
type: :development
|
118
118
|
prerelease: false
|
119
119
|
version_requirements: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- - "
|
121
|
+
- - ">="
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
123
|
+
version: '0'
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: rspec
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- -
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: 3.0.0.beta2
|
131
|
-
type: :development
|
132
|
-
prerelease: false
|
133
|
-
version_requirements: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - '='
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: 3.0.0.beta2
|
138
|
-
- !ruby/object:Gem::Dependency
|
139
|
-
name: ammeter
|
140
|
-
requirement: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
128
|
+
- - ">="
|
143
129
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
130
|
+
version: '0'
|
145
131
|
type: :development
|
146
132
|
prerelease: false
|
147
133
|
version_requirements: !ruby/object:Gem::Requirement
|
148
134
|
requirements:
|
149
|
-
- - "
|
135
|
+
- - ">="
|
150
136
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
137
|
+
version: '0'
|
152
138
|
- !ruby/object:Gem::Dependency
|
153
139
|
name: barrier
|
154
140
|
requirement: !ruby/object:Gem::Requirement
|
155
141
|
requirements:
|
156
|
-
- - "
|
142
|
+
- - ">="
|
157
143
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
144
|
+
version: '0'
|
159
145
|
type: :development
|
160
146
|
prerelease: false
|
161
147
|
version_requirements: !ruby/object:Gem::Requirement
|
162
148
|
requirements:
|
163
|
-
- - "
|
149
|
+
- - ">="
|
164
150
|
- !ruby/object:Gem::Version
|
165
|
-
version: '
|
151
|
+
version: '0'
|
166
152
|
- !ruby/object:Gem::Dependency
|
167
153
|
name: database_cleaner
|
168
154
|
requirement: !ruby/object:Gem::Requirement
|
169
155
|
requirements:
|
170
|
-
- - "
|
156
|
+
- - ">="
|
171
157
|
- !ruby/object:Gem::Version
|
172
|
-
version: '
|
158
|
+
version: '0'
|
173
159
|
type: :development
|
174
160
|
prerelease: false
|
175
161
|
version_requirements: !ruby/object:Gem::Requirement
|
176
162
|
requirements:
|
177
|
-
- - "
|
163
|
+
- - ">="
|
178
164
|
- !ruby/object:Gem::Version
|
179
|
-
version: '
|
165
|
+
version: '0'
|
180
166
|
description: With ActsAsTaggableOn, you can tag a single model on several contexts,
|
181
167
|
such as skills, interests, and awards. It also provides other advanced functionality.
|
182
168
|
email:
|
@@ -208,17 +194,18 @@ files:
|
|
208
194
|
- gemfiles/activerecord_edge.gemfile
|
209
195
|
- lib/acts-as-taggable-on.rb
|
210
196
|
- lib/acts_as_taggable_on.rb
|
211
|
-
- lib/acts_as_taggable_on/
|
212
|
-
- lib/acts_as_taggable_on/acts_as_taggable_on/collection.rb
|
213
|
-
- lib/acts_as_taggable_on/acts_as_taggable_on/compatibility.rb
|
214
|
-
- lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
|
215
|
-
- lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb
|
216
|
-
- lib/acts_as_taggable_on/acts_as_taggable_on/ownership.rb
|
217
|
-
- lib/acts_as_taggable_on/acts_as_taggable_on/related.rb
|
197
|
+
- lib/acts_as_taggable_on/compatibility.rb
|
218
198
|
- lib/acts_as_taggable_on/engine.rb
|
219
199
|
- lib/acts_as_taggable_on/tag.rb
|
220
200
|
- lib/acts_as_taggable_on/tag_list.rb
|
201
|
+
- lib/acts_as_taggable_on/tag_list_parser.rb
|
221
202
|
- lib/acts_as_taggable_on/taggable.rb
|
203
|
+
- lib/acts_as_taggable_on/taggable/cache.rb
|
204
|
+
- lib/acts_as_taggable_on/taggable/collection.rb
|
205
|
+
- lib/acts_as_taggable_on/taggable/core.rb
|
206
|
+
- lib/acts_as_taggable_on/taggable/dirty.rb
|
207
|
+
- lib/acts_as_taggable_on/taggable/ownership.rb
|
208
|
+
- lib/acts_as_taggable_on/taggable/related.rb
|
222
209
|
- lib/acts_as_taggable_on/tagger.rb
|
223
210
|
- lib/acts_as_taggable_on/tagging.rb
|
224
211
|
- lib/acts_as_taggable_on/tags_helper.rb
|
@@ -229,6 +216,7 @@ files:
|
|
229
216
|
- spec/acts_as_taggable_on/caching_spec.rb
|
230
217
|
- spec/acts_as_taggable_on/related_spec.rb
|
231
218
|
- spec/acts_as_taggable_on/single_table_inheritance_spec.rb
|
219
|
+
- spec/acts_as_taggable_on/tag_list_parser_spec.rb
|
232
220
|
- spec/acts_as_taggable_on/tag_list_spec.rb
|
233
221
|
- spec/acts_as_taggable_on/tag_spec.rb
|
234
222
|
- spec/acts_as_taggable_on/taggable_spec.rb
|
@@ -253,8 +241,8 @@ files:
|
|
253
241
|
- spec/internal/app/models/user.rb
|
254
242
|
- spec/internal/config/database.yml.sample
|
255
243
|
- spec/internal/db/schema.rb
|
256
|
-
- spec/schema.rb
|
257
244
|
- spec/spec_helper.rb
|
245
|
+
- spec/support/0-helpers.rb
|
258
246
|
- spec/support/array.rb
|
259
247
|
- spec/support/database.rb
|
260
248
|
- spec/support/database_cleaner.rb
|
@@ -301,6 +289,7 @@ test_files:
|
|
301
289
|
- spec/acts_as_taggable_on/caching_spec.rb
|
302
290
|
- spec/acts_as_taggable_on/related_spec.rb
|
303
291
|
- spec/acts_as_taggable_on/single_table_inheritance_spec.rb
|
292
|
+
- spec/acts_as_taggable_on/tag_list_parser_spec.rb
|
304
293
|
- spec/acts_as_taggable_on/tag_list_spec.rb
|
305
294
|
- spec/acts_as_taggable_on/tag_spec.rb
|
306
295
|
- spec/acts_as_taggable_on/taggable_spec.rb
|
@@ -325,8 +314,8 @@ test_files:
|
|
325
314
|
- spec/internal/app/models/user.rb
|
326
315
|
- spec/internal/config/database.yml.sample
|
327
316
|
- spec/internal/db/schema.rb
|
328
|
-
- spec/schema.rb
|
329
317
|
- spec/spec_helper.rb
|
318
|
+
- spec/support/0-helpers.rb
|
330
319
|
- spec/support/array.rb
|
331
320
|
- spec/support/database.rb
|
332
321
|
- spec/support/database_cleaner.rb
|
data/spec/schema.rb
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
ActiveRecord::Schema.define :version => 0 do
|
2
|
-
create_table :tags, :force => true do |t|
|
3
|
-
t.string :name
|
4
|
-
t.integer :taggings_count, :default => 0
|
5
|
-
end
|
6
|
-
add_index "tags", ["name"], name: "index_tags_on_name", unique: true
|
7
|
-
|
8
|
-
create_table :taggings, :force => true do |t|
|
9
|
-
t.references :tag
|
10
|
-
|
11
|
-
# You should make sure that the column created is
|
12
|
-
# long enough to store the required class names.
|
13
|
-
t.references :taggable, :polymorphic => true
|
14
|
-
t.references :tagger, :polymorphic => true
|
15
|
-
|
16
|
-
# Limit is created to prevent MySQL error on index
|
17
|
-
# length for MyISAM table type: http://bit.ly/vgW2Ql
|
18
|
-
t.string :context, :limit => 128
|
19
|
-
|
20
|
-
t.datetime :created_at
|
21
|
-
end
|
22
|
-
add_index "taggings",
|
23
|
-
["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"],
|
24
|
-
unique: true, name: "taggings_idx"
|
25
|
-
|
26
|
-
# above copied from
|
27
|
-
# generators/acts_as_taggable_on/migration/migration_generator
|
28
|
-
|
29
|
-
create_table :taggable_models, :force => true do |t|
|
30
|
-
t.column :name, :string
|
31
|
-
t.column :type, :string
|
32
|
-
end
|
33
|
-
|
34
|
-
create_table :non_standard_id_taggable_models, :primary_key => "an_id", :force => true do |t|
|
35
|
-
t.column :name, :string
|
36
|
-
t.column :type, :string
|
37
|
-
end
|
38
|
-
|
39
|
-
create_table :untaggable_models, :force => true do |t|
|
40
|
-
t.column :taggable_model_id, :integer
|
41
|
-
t.column :name, :string
|
42
|
-
end
|
43
|
-
|
44
|
-
create_table :cached_models, :force => true do |t|
|
45
|
-
t.column :name, :string
|
46
|
-
t.column :type, :string
|
47
|
-
t.column :cached_tag_list, :string
|
48
|
-
end
|
49
|
-
|
50
|
-
create_table :other_cached_models, :force => true do |t|
|
51
|
-
t.column :name, :string
|
52
|
-
t.column :type, :string
|
53
|
-
t.column :cached_language_list, :string
|
54
|
-
t.column :cached_status_list, :string
|
55
|
-
t.column :cached_glass_list, :string
|
56
|
-
end
|
57
|
-
|
58
|
-
create_table :users, :force => true do |t|
|
59
|
-
t.column :name, :string
|
60
|
-
end
|
61
|
-
|
62
|
-
create_table :other_taggable_models, :force => true do |t|
|
63
|
-
t.column :name, :string
|
64
|
-
t.column :type, :string
|
65
|
-
end
|
66
|
-
|
67
|
-
create_table :ordered_taggable_models, :force => true do |t|
|
68
|
-
t.column :name, :string
|
69
|
-
t.column :type, :string
|
70
|
-
end
|
71
|
-
|
72
|
-
create_table :taggable_model_with_jsons, :force => true do |t|
|
73
|
-
t.column :name, :string
|
74
|
-
t.column :type, :string
|
75
|
-
if self.connection.adapter_name == 'PostgreSQL' && self.connection.execute("SHOW SERVER_VERSION").first["server_version"].to_f >= 9.2
|
76
|
-
type = :json
|
77
|
-
else
|
78
|
-
type = :string
|
79
|
-
end
|
80
|
-
t.column :opts, type
|
81
|
-
end
|
82
|
-
end
|