acts-as-taggable-on 3.2.3 → 3.3.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +8 -7
  3. data/Appraisals +0 -4
  4. data/Gemfile +0 -1
  5. data/README.md +1 -1
  6. data/acts-as-taggable-on.gemspec +6 -8
  7. data/db/migrate/4_add_missing_taggable_index.rb +9 -0
  8. data/gemfiles/activerecord_3.2.gemfile +0 -2
  9. data/gemfiles/activerecord_4.0.gemfile +0 -2
  10. data/gemfiles/activerecord_4.1.gemfile +0 -2
  11. data/gemfiles/activerecord_edge.gemfile +0 -2
  12. data/lib/acts-as-taggable-on.rb +28 -20
  13. data/lib/acts_as_taggable_on/tag_list.rb +13 -77
  14. data/lib/acts_as_taggable_on/tag_list_parser.rb +78 -0
  15. data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/core.rb +46 -23
  16. data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/ownership.rb +1 -1
  17. data/lib/acts_as_taggable_on/taggable.rb +7 -6
  18. data/lib/acts_as_taggable_on/tagging.rb +1 -1
  19. data/lib/acts_as_taggable_on/tags_helper.rb +2 -2
  20. data/lib/acts_as_taggable_on/utils.rb +2 -26
  21. data/lib/acts_as_taggable_on/version.rb +1 -1
  22. data/spec/acts_as_taggable_on/acts_as_taggable_on_spec.rb +1 -1
  23. data/spec/acts_as_taggable_on/acts_as_tagger_spec.rb +1 -0
  24. data/spec/acts_as_taggable_on/caching_spec.rb +1 -0
  25. data/spec/acts_as_taggable_on/related_spec.rb +1 -0
  26. data/spec/acts_as_taggable_on/single_table_inheritance_spec.rb +1 -0
  27. data/spec/acts_as_taggable_on/tag_list_parser_spec.rb +46 -0
  28. data/spec/acts_as_taggable_on/tag_list_spec.rb +3 -40
  29. data/spec/acts_as_taggable_on/tag_spec.rb +29 -35
  30. data/spec/acts_as_taggable_on/taggable/dirty_spec.rb +127 -0
  31. data/spec/acts_as_taggable_on/taggable_spec.rb +76 -163
  32. data/spec/acts_as_taggable_on/tagger_spec.rb +1 -1
  33. data/spec/acts_as_taggable_on/tagging_spec.rb +13 -1
  34. data/spec/acts_as_taggable_on/tags_helper_spec.rb +1 -0
  35. data/spec/acts_as_taggable_on/utils_spec.rb +1 -0
  36. data/spec/internal/app/models/cached_model_with_array.rb +1 -1
  37. data/spec/internal/app/models/models.rb +2 -2
  38. data/spec/internal/db/schema.rb +2 -2
  39. data/spec/spec_helper.rb +0 -1
  40. data/spec/support/0-helpers.rb +32 -0
  41. metadata +39 -67
  42. data/spec/schema.rb +0 -82
  43. /data/lib/acts_as_taggable_on/{acts_as_taggable_on/compatibility.rb → compatibility.rb} +0 -0
  44. /data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/cache.rb +0 -0
  45. /data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/collection.rb +0 -0
  46. /data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/dirty.rb +0 -0
  47. /data/lib/acts_as_taggable_on/{acts_as_taggable_on → taggable}/related.rb +0 -0
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