acts-as-taggable-on 2.0.6 → 2.4.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 (54) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +9 -0
  5. data/CHANGELOG.md +35 -0
  6. data/Gemfile +2 -9
  7. data/Guardfile +5 -0
  8. data/{MIT-LICENSE → MIT-LICENSE.md} +1 -1
  9. data/README.md +297 -0
  10. data/Rakefile +9 -55
  11. data/UPGRADING +14 -0
  12. data/acts-as-taggable-on.gemspec +32 -0
  13. data/lib/acts-as-taggable-on/version.rb +4 -0
  14. data/lib/acts-as-taggable-on.rb +37 -4
  15. data/lib/acts_as_taggable_on/acts_as_taggable_on/cache.rb +6 -6
  16. data/lib/acts_as_taggable_on/acts_as_taggable_on/collection.rb +99 -45
  17. data/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb +162 -45
  18. data/lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb +37 -0
  19. data/lib/acts_as_taggable_on/acts_as_taggable_on/ownership.rb +40 -15
  20. data/lib/acts_as_taggable_on/acts_as_taggable_on/related.rb +28 -18
  21. data/lib/acts_as_taggable_on/tag.rb +41 -16
  22. data/lib/acts_as_taggable_on/tag_list.rb +19 -14
  23. data/lib/acts_as_taggable_on/taggable.rb +102 -0
  24. data/lib/acts_as_taggable_on/{acts_as_tagger.rb → tagger.rb} +3 -3
  25. data/lib/acts_as_taggable_on/tagging.rb +12 -2
  26. data/lib/acts_as_taggable_on/tags_helper.rb +2 -2
  27. data/lib/acts_as_taggable_on/utils.rb +34 -0
  28. data/lib/generators/acts_as_taggable_on/migration/migration_generator.rb +9 -2
  29. data/lib/generators/acts_as_taggable_on/migration/templates/active_record/migration.rb +3 -1
  30. data/spec/acts_as_taggable_on/acts_as_taggable_on_spec.rb +333 -54
  31. data/spec/acts_as_taggable_on/tag_list_spec.rb +117 -61
  32. data/spec/acts_as_taggable_on/tag_spec.rb +111 -14
  33. data/spec/acts_as_taggable_on/taggable_spec.rb +330 -34
  34. data/spec/acts_as_taggable_on/tagger_spec.rb +62 -15
  35. data/spec/acts_as_taggable_on/tagging_spec.rb +2 -5
  36. data/spec/acts_as_taggable_on/tags_helper_spec.rb +16 -0
  37. data/spec/acts_as_taggable_on/utils_spec.rb +21 -0
  38. data/spec/database.yml.sample +4 -2
  39. data/spec/generators/acts_as_taggable_on/migration/migration_generator_spec.rb +22 -0
  40. data/spec/models.rb +28 -1
  41. data/spec/schema.rb +18 -0
  42. data/spec/spec_helper.rb +30 -7
  43. data/uninstall.rb +1 -0
  44. metadata +174 -57
  45. data/CHANGELOG +0 -25
  46. data/README.rdoc +0 -221
  47. data/VERSION +0 -1
  48. data/generators/acts_as_taggable_on_migration/acts_as_taggable_on_migration_generator.rb +0 -7
  49. data/generators/acts_as_taggable_on_migration/templates/migration.rb +0 -29
  50. data/lib/acts_as_taggable_on/acts_as_taggable_on.rb +0 -53
  51. data/lib/acts_as_taggable_on/compatibility/Gemfile +0 -8
  52. data/lib/acts_as_taggable_on/compatibility/active_record_backports.rb +0 -17
  53. data/lib/acts_as_taggable_on/compatibility/postgresql.rb +0 -44
  54. data/spec/database.yml +0 -17
@@ -0,0 +1,21 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe ActsAsTaggableOn::Utils do
4
+ describe "like_operator" do
5
+ before(:each) do
6
+ clean_database!
7
+ TaggableModel.acts_as_taggable_on(:tags, :languages, :skills, :needs, :offerings)
8
+ @taggable = TaggableModel.new(:name => "Bob Jones")
9
+ end
10
+
11
+ it "should return 'ILIKE' when the adapter is PostgreSQL" do
12
+ TaggableModel.connection.stub(:adapter_name).and_return("PostgreSQL")
13
+ TaggableModel.send(:like_operator).should == "ILIKE"
14
+ end
15
+
16
+ it "should return 'LIKE' when the adapter is not PostgreSQL" do
17
+ TaggableModel.connection.stub(:adapter_name).and_return("MySQL")
18
+ TaggableModel.send(:like_operator).should == "LIKE"
19
+ end
20
+ end
21
+ end
@@ -3,15 +3,17 @@ sqlite3:
3
3
  database: acts_as_taggable_on.sqlite3
4
4
 
5
5
  mysql:
6
- adapter: mysql
6
+ adapter: mysql2
7
7
  hostname: localhost
8
8
  username: root
9
9
  password:
10
10
  database: acts_as_taggable_on
11
-
11
+ charset: utf8
12
+
12
13
  postgresql:
13
14
  adapter: postgresql
14
15
  hostname: localhost
15
16
  username: postgres
16
17
  password:
17
18
  database: acts_as_taggable_on
19
+ encoding: utf8
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ # Generators are not automatically loaded by Rails
4
+ require 'generators/acts_as_taggable_on/migration/migration_generator'
5
+
6
+ describe ActsAsTaggableOn::MigrationGenerator do
7
+ # Tell the generator where to put its output (what it thinks of as Rails.root)
8
+ destination File.expand_path("../../../../../tmp", __FILE__)
9
+
10
+ before do
11
+ prepare_destination
12
+ Rails::Generators.options[:rails][:orm] = :active_record
13
+ end
14
+ describe 'no arguments' do
15
+ before { run_generator }
16
+
17
+ describe 'db/migrate/acts_as_taggable_on_migration.rb' do
18
+ subject { file('db/migrate/acts_as_taggable_on_migration.rb') }
19
+ it { should be_a_migration }
20
+ end
21
+ end
22
+ end
data/spec/models.rb CHANGED
@@ -4,12 +4,22 @@ class TaggableModel < ActiveRecord::Base
4
4
  acts_as_taggable_on :skills
5
5
  acts_as_taggable_on :needs, :offerings
6
6
  has_many :untaggable_models
7
+
8
+ attr_reader :tag_list_submethod_called
9
+ def tag_list=v
10
+ @tag_list_submethod_called = true
11
+ super
12
+ end
7
13
  end
8
14
 
9
15
  class CachedModel < ActiveRecord::Base
10
16
  acts_as_taggable
11
17
  end
12
18
 
19
+ class OtherCachedModel < ActiveRecord::Base
20
+ acts_as_taggable_on :languages, :statuses, :glasses
21
+ end
22
+
13
23
  class OtherTaggableModel < ActiveRecord::Base
14
24
  acts_as_taggable_on :tags, :languages
15
25
  acts_as_taggable_on :needs, :offerings
@@ -26,6 +36,23 @@ class TaggableUser < ActiveRecord::Base
26
36
  acts_as_tagger
27
37
  end
28
38
 
39
+ class InheritingTaggableUser < TaggableUser
40
+ end
41
+
29
42
  class UntaggableModel < ActiveRecord::Base
30
43
  belongs_to :taggable_model
31
- end
44
+ end
45
+
46
+ class NonStandardIdTaggableModel < ActiveRecord::Base
47
+ primary_key = "an_id"
48
+ acts_as_taggable
49
+ acts_as_taggable_on :languages
50
+ acts_as_taggable_on :skills
51
+ acts_as_taggable_on :needs, :offerings
52
+ has_many :untaggable_models
53
+ end
54
+
55
+ class OrderedTaggableModel < ActiveRecord::Base
56
+ acts_as_ordered_taggable
57
+ acts_as_ordered_taggable_on :colours
58
+ end
data/spec/schema.rb CHANGED
@@ -21,6 +21,11 @@ ActiveRecord::Schema.define :version => 0 do
21
21
  t.column :type, :string
22
22
  end
23
23
 
24
+ create_table :non_standard_id_taggable_models, :primary_key => "an_id", :force => true do |t|
25
+ t.column :name, :string
26
+ t.column :type, :string
27
+ end
28
+
24
29
  create_table :untaggable_models, :force => true do |t|
25
30
  t.column :taggable_model_id, :integer
26
31
  t.column :name, :string
@@ -32,6 +37,14 @@ ActiveRecord::Schema.define :version => 0 do
32
37
  t.column :cached_tag_list, :string
33
38
  end
34
39
 
40
+ create_table :other_cached_models, :force => true do |t|
41
+ t.column :name, :string
42
+ t.column :type, :string
43
+ t.column :cached_language_list, :string
44
+ t.column :cached_status_list, :string
45
+ t.column :cached_glass_list, :string
46
+ end
47
+
35
48
  create_table :taggable_users, :force => true do |t|
36
49
  t.column :name, :string
37
50
  end
@@ -40,4 +53,9 @@ ActiveRecord::Schema.define :version => 0 do
40
53
  t.column :name, :string
41
54
  t.column :type, :string
42
55
  end
56
+
57
+ create_table :ordered_taggable_models, :force => true do |t|
58
+ t.column :name, :string
59
+ t.column :type, :string
60
+ end
43
61
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  $LOAD_PATH << "." unless $LOAD_PATH.include?(".")
2
+ require 'logger'
2
3
 
3
4
  begin
4
5
  require "rubygems"
@@ -13,11 +14,12 @@ begin
13
14
  Bundler.setup
14
15
  rescue Bundler::GemNotFound
15
16
  raise RuntimeError, "Bundler couldn't find some gems." +
16
- "Did you run `bundle install`?"
17
+ "Did you run \`bundlee install\`?"
17
18
  end
18
19
 
19
20
  Bundler.require
20
21
  require File.expand_path('../../lib/acts-as-taggable-on', __FILE__)
22
+ require 'ammeter/init'
21
23
 
22
24
  unless [].respond_to?(:freq)
23
25
  class Array
@@ -29,14 +31,35 @@ unless [].respond_to?(:freq)
29
31
  end
30
32
  end
31
33
 
32
- ENV['DB'] ||= 'sqlite3'
33
-
34
+ # set adapter to use, default is sqlite3
35
+ # to use an alternative adapter run => rake spec DB='postgresql'
36
+ db_name = ENV['DB'] || 'sqlite3'
34
37
  database_yml = File.expand_path('../database.yml', __FILE__)
38
+
35
39
  if File.exists?(database_yml)
36
- active_record_configuration = YAML.load_file(database_yml)[ENV['DB']]
40
+ active_record_configuration = YAML.load_file(database_yml)
37
41
 
38
- ActiveRecord::Base.establish_connection(active_record_configuration)
42
+ ActiveRecord::Base.configurations = active_record_configuration
43
+ config = ActiveRecord::Base.configurations[db_name]
44
+
45
+ begin
46
+ ActiveRecord::Base.establish_connection(db_name)
47
+ ActiveRecord::Base.connection
48
+ rescue
49
+ case db_name
50
+ when /mysql/
51
+ ActiveRecord::Base.establish_connection(config.merge('database' => nil))
52
+ ActiveRecord::Base.connection.create_database(config['database'], {:charset => 'utf8', :collation => 'utf8_unicode_ci'})
53
+ when 'postgresql'
54
+ ActiveRecord::Base.establish_connection(config.merge('database' => 'postgres', 'schema_search_path' => 'public'))
55
+ ActiveRecord::Base.connection.create_database(config['database'], config.merge('encoding' => 'utf8'))
56
+ end
57
+
58
+ ActiveRecord::Base.establish_connection(config)
59
+ end
60
+
39
61
  ActiveRecord::Base.logger = Logger.new(File.join(File.dirname(__FILE__), "debug.log"))
62
+ ActiveRecord::Base.default_timezone = :utc
40
63
 
41
64
  ActiveRecord::Base.silence do
42
65
  ActiveRecord::Migration.verbose = false
@@ -51,10 +74,10 @@ end
51
74
 
52
75
  def clean_database!
53
76
  models = [ActsAsTaggableOn::Tag, ActsAsTaggableOn::Tagging, TaggableModel, OtherTaggableModel, InheritingTaggableModel,
54
- AlteredInheritingTaggableModel, TaggableUser, UntaggableModel]
77
+ AlteredInheritingTaggableModel, TaggableUser, UntaggableModel, OrderedTaggableModel]
55
78
  models.each do |model|
56
79
  ActiveRecord::Base.connection.execute "DELETE FROM #{model.table_name}"
57
80
  end
58
81
  end
59
82
 
60
- clean_database!
83
+ clean_database!
data/uninstall.rb ADDED
@@ -0,0 +1 @@
1
+ # Uninstall hook code here
metadata CHANGED
@@ -1,55 +1,160 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: acts-as-taggable-on
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 2
7
- - 0
8
- - 6
9
- version: 2.0.6
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.4.0
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Michael Bleigh
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-05-19 00:00:00 +02:00
18
- default_executable:
19
- dependencies: []
20
-
21
- description: With ActsAsTaggableOn, you could tag a single model on several contexts, such as skills, interests, and awards. It also provides other advanced functionality.
11
+ date: 2012-07-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '2.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '2.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ammeter
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 0.1.3
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.1.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: sqlite3
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: mysql2
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 0.3.7
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.3.7
83
+ - !ruby/object:Gem::Dependency
84
+ name: pg
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: With ActsAsTaggableOn, you can tag a single model on several contexts,
126
+ such as skills, interests, and awards. It also provides other advanced functionality.
22
127
  email: michael@intridea.com
23
128
  executables: []
24
-
25
129
  extensions: []
26
-
27
- extra_rdoc_files:
28
- - README.rdoc
29
- files:
30
- - CHANGELOG
130
+ extra_rdoc_files: []
131
+ files:
132
+ - .gitignore
133
+ - .rspec
134
+ - .travis.yml
135
+ - CHANGELOG.md
31
136
  - Gemfile
32
- - MIT-LICENSE
33
- - README.rdoc
137
+ - Guardfile
138
+ - MIT-LICENSE.md
139
+ - README.md
34
140
  - Rakefile
35
- - VERSION
36
- - generators/acts_as_taggable_on_migration/acts_as_taggable_on_migration_generator.rb
37
- - generators/acts_as_taggable_on_migration/templates/migration.rb
141
+ - UPGRADING
142
+ - acts-as-taggable-on.gemspec
38
143
  - lib/acts-as-taggable-on.rb
39
- - lib/acts_as_taggable_on/acts_as_taggable_on.rb
144
+ - lib/acts-as-taggable-on/version.rb
40
145
  - lib/acts_as_taggable_on/acts_as_taggable_on/cache.rb
41
146
  - lib/acts_as_taggable_on/acts_as_taggable_on/collection.rb
42
147
  - lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
148
+ - lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb
43
149
  - lib/acts_as_taggable_on/acts_as_taggable_on/ownership.rb
44
150
  - lib/acts_as_taggable_on/acts_as_taggable_on/related.rb
45
- - lib/acts_as_taggable_on/acts_as_tagger.rb
46
- - lib/acts_as_taggable_on/compatibility/Gemfile
47
- - lib/acts_as_taggable_on/compatibility/active_record_backports.rb
48
- - lib/acts_as_taggable_on/compatibility/postgresql.rb
49
151
  - lib/acts_as_taggable_on/tag.rb
50
152
  - lib/acts_as_taggable_on/tag_list.rb
153
+ - lib/acts_as_taggable_on/taggable.rb
154
+ - lib/acts_as_taggable_on/tagger.rb
51
155
  - lib/acts_as_taggable_on/tagging.rb
52
156
  - lib/acts_as_taggable_on/tags_helper.rb
157
+ - lib/acts_as_taggable_on/utils.rb
53
158
  - lib/generators/acts_as_taggable_on/migration/migration_generator.rb
54
159
  - lib/generators/acts_as_taggable_on/migration/templates/active_record/migration.rb
55
160
  - rails/init.rb
@@ -61,43 +166,52 @@ files:
61
166
  - spec/acts_as_taggable_on/tagger_spec.rb
62
167
  - spec/acts_as_taggable_on/tagging_spec.rb
63
168
  - spec/acts_as_taggable_on/tags_helper_spec.rb
169
+ - spec/acts_as_taggable_on/utils_spec.rb
64
170
  - spec/bm.rb
65
- - spec/database.yml
66
171
  - spec/database.yml.sample
172
+ - spec/generators/acts_as_taggable_on/migration/migration_generator_spec.rb
67
173
  - spec/models.rb
68
174
  - spec/schema.rb
69
175
  - spec/spec_helper.rb
70
- has_rdoc: true
71
- homepage: http://github.com/mbleigh/acts-as-taggable-on
176
+ - uninstall.rb
177
+ homepage: ''
72
178
  licenses: []
179
+ metadata: {}
180
+ post_install_message: |2+
181
+
182
+ ** acts-as-taggable-on version 2.4.0
183
+
184
+ Hello! This version is the first one released by me (@tilsammans),
185
+ a new maintainer on the project. It's been a while since the last
186
+ release and I am not 100% sure if any breaking changes have been
187
+ introduced. Please test your tagging functionality carefully.
73
188
 
74
- post_install_message:
75
- rdoc_options:
76
- - --charset=UTF-8
77
- require_paths:
189
+ From now on things should stabilize. Please check the project's
190
+ milestones and compatibilities stated in the readme. If you have
191
+ any questions, feel free to create an issue on github.
192
+
193
+ https://github.com/mbleigh/acts-as-taggable-on
194
+
195
+ rdoc_options: []
196
+ require_paths:
78
197
  - lib
79
- required_ruby_version: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- segments:
84
- - 0
85
- version: "0"
86
- required_rubygems_version: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- segments:
91
- - 0
92
- version: "0"
198
+ required_ruby_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - '>='
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ required_rubygems_version: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
93
208
  requirements: []
94
-
95
209
  rubyforge_project:
96
- rubygems_version: 1.3.6
210
+ rubygems_version: 2.0.0
97
211
  signing_key:
98
- specification_version: 3
99
- summary: ActsAsTaggableOn is a tagging plugin for Rails that provides multiple tagging contexts on a single model.
100
- test_files:
212
+ specification_version: 4
213
+ summary: Advanced tagging for Rails.
214
+ test_files:
101
215
  - spec/acts_as_taggable_on/acts_as_taggable_on_spec.rb
102
216
  - spec/acts_as_taggable_on/acts_as_tagger_spec.rb
103
217
  - spec/acts_as_taggable_on/tag_list_spec.rb
@@ -106,7 +220,10 @@ test_files:
106
220
  - spec/acts_as_taggable_on/tagger_spec.rb
107
221
  - spec/acts_as_taggable_on/tagging_spec.rb
108
222
  - spec/acts_as_taggable_on/tags_helper_spec.rb
223
+ - spec/acts_as_taggable_on/utils_spec.rb
109
224
  - spec/bm.rb
225
+ - spec/database.yml.sample
226
+ - spec/generators/acts_as_taggable_on/migration/migration_generator_spec.rb
110
227
  - spec/models.rb
111
228
  - spec/schema.rb
112
229
  - spec/spec_helper.rb
data/CHANGELOG DELETED
@@ -1,25 +0,0 @@
1
- == 2010-02-17
2
- * Converted the plugin to be compatible with Rails3
3
-
4
- == 2009-12-02
5
-
6
- * PostgreSQL is now supported (via morgoth)
7
-
8
- == 2008-07-17
9
-
10
- * Can now use a named_scope to find tags!
11
-
12
- == 2008-06-23
13
-
14
- * Can now find related objects of another class (tristanzdunn)
15
- * Removed extraneous down migration cruft (azabaj)
16
-
17
- == 2008-06-09
18
-
19
- * Added support for Single Table Inheritance
20
- * Adding gemspec and rails/init.rb for gemified plugin
21
-
22
- == 2007-12-12
23
-
24
- * Added ability to use dynamic tag contexts
25
- * Fixed missing migration generator