acts-as-taggable-on 3.2.3 → 3.2.4
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/.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
|