Fix specs, migrate to downcase tags, still testing migration
This commit is contained in:
parent
8f1a6f502e
commit
7ac3692a92
6 changed files with 55 additions and 8 deletions
2
Gemfile
2
Gemfile
|
|
@ -25,7 +25,7 @@ gem 'will_paginate', '3.0.pre2'
|
||||||
gem 'i18n-inflector-rails', '~> 1.0'
|
gem 'i18n-inflector-rails', '~> 1.0'
|
||||||
|
|
||||||
#Tags
|
#Tags
|
||||||
gem 'acts-as-taggable-on', '2.0.6'
|
gem 'acts-as-taggable-on', :git => 'git://github.com/diaspora/acts-as-taggable-on.git'
|
||||||
|
|
||||||
#Uncatagorized
|
#Uncatagorized
|
||||||
gem 'roxml', :git => 'git://github.com/Empact/roxml.git', :ref => '7ea9a9ffd2338aaef5b0'
|
gem 'roxml', :git => 'git://github.com/Empact/roxml.git', :ref => '7ea9a9ffd2338aaef5b0'
|
||||||
|
|
|
||||||
26
Gemfile.lock
26
Gemfile.lock
|
|
@ -7,6 +7,19 @@ GIT
|
||||||
activesupport (>= 2.3.0)
|
activesupport (>= 2.3.0)
|
||||||
nokogiri (>= 1.3.3)
|
nokogiri (>= 1.3.3)
|
||||||
|
|
||||||
|
GIT
|
||||||
|
remote: git://github.com/diaspora/acts-as-taggable-on.git
|
||||||
|
revision: 498089b41503af633f55bdc1d43b142e7d76e1f1
|
||||||
|
specs:
|
||||||
|
acts-as-taggable-on (2.0.6)
|
||||||
|
jeweler
|
||||||
|
mysql
|
||||||
|
pg
|
||||||
|
rails (>= 3.0)
|
||||||
|
rcov
|
||||||
|
rspec (>= 2.0)
|
||||||
|
sqlite3-ruby
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/iain/http_accept_language.git
|
remote: git://github.com/iain/http_accept_language.git
|
||||||
revision: 0b78aa7849fc90cf9e12586af162fa4c408a795d
|
revision: 0b78aa7849fc90cf9e12586af162fa4c408a795d
|
||||||
|
|
@ -86,7 +99,6 @@ GEM
|
||||||
activemodel (= 3.0.3)
|
activemodel (= 3.0.3)
|
||||||
activesupport (= 3.0.3)
|
activesupport (= 3.0.3)
|
||||||
activesupport (3.0.3)
|
activesupport (3.0.3)
|
||||||
acts-as-taggable-on (2.0.6)
|
|
||||||
addressable (2.2.2)
|
addressable (2.2.2)
|
||||||
arel (2.0.9)
|
arel (2.0.9)
|
||||||
aws (2.3.32)
|
aws (2.3.32)
|
||||||
|
|
@ -190,6 +202,7 @@ GEM
|
||||||
gem_plugin (0.2.3)
|
gem_plugin (0.2.3)
|
||||||
gherkin (2.3.3)
|
gherkin (2.3.3)
|
||||||
json (~> 1.4.6)
|
json (~> 1.4.6)
|
||||||
|
git (1.2.5)
|
||||||
haml (3.0.25)
|
haml (3.0.25)
|
||||||
hashie (0.4.0)
|
hashie (0.4.0)
|
||||||
highline (1.6.1)
|
highline (1.6.1)
|
||||||
|
|
@ -204,6 +217,10 @@ GEM
|
||||||
jammit (0.5.4)
|
jammit (0.5.4)
|
||||||
closure-compiler (>= 0.1.0)
|
closure-compiler (>= 0.1.0)
|
||||||
yui-compressor (>= 0.9.1)
|
yui-compressor (>= 0.9.1)
|
||||||
|
jeweler (1.5.2)
|
||||||
|
bundler (~> 1.0.0)
|
||||||
|
git (>= 1.2.5)
|
||||||
|
rake
|
||||||
json (1.4.6)
|
json (1.4.6)
|
||||||
json_pure (1.5.1)
|
json_pure (1.5.1)
|
||||||
launchy (0.4.0)
|
launchy (0.4.0)
|
||||||
|
|
@ -232,6 +249,7 @@ GEM
|
||||||
multi_json (0.0.5)
|
multi_json (0.0.5)
|
||||||
multi_xml (0.2.1)
|
multi_xml (0.2.1)
|
||||||
multipart-post (1.1.0)
|
multipart-post (1.1.0)
|
||||||
|
mysql (2.8.1)
|
||||||
mysql2 (0.2.6)
|
mysql2 (0.2.6)
|
||||||
net-ldap (0.1.1)
|
net-ldap (0.1.1)
|
||||||
net-scp (1.0.4)
|
net-scp (1.0.4)
|
||||||
|
|
@ -282,6 +300,7 @@ GEM
|
||||||
oa-enterprise (= 0.1.6)
|
oa-enterprise (= 0.1.6)
|
||||||
oa-oauth (= 0.1.6)
|
oa-oauth (= 0.1.6)
|
||||||
oa-openid (= 0.1.6)
|
oa-openid (= 0.1.6)
|
||||||
|
pg (0.10.1)
|
||||||
polyglot (0.3.1)
|
polyglot (0.3.1)
|
||||||
pyu-ruby-sasl (0.0.3.2)
|
pyu-ruby-sasl (0.0.3.2)
|
||||||
rack (1.2.1)
|
rack (1.2.1)
|
||||||
|
|
@ -355,6 +374,9 @@ GEM
|
||||||
sinatra (1.2.0)
|
sinatra (1.2.0)
|
||||||
rack (~> 1.1)
|
rack (~> 1.1)
|
||||||
tilt (< 2.0, >= 1.2.2)
|
tilt (< 2.0, >= 1.2.2)
|
||||||
|
sqlite3 (1.3.3)
|
||||||
|
sqlite3-ruby (1.3.3)
|
||||||
|
sqlite3 (>= 1.3.3)
|
||||||
subexec (0.0.4)
|
subexec (0.0.4)
|
||||||
systemu (1.2.0)
|
systemu (1.2.0)
|
||||||
term-ansicolor (1.0.5)
|
term-ansicolor (1.0.5)
|
||||||
|
|
@ -387,7 +409,7 @@ PLATFORMS
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
SystemTimer (= 1.2.1)
|
SystemTimer (= 1.2.1)
|
||||||
acts-as-taggable-on (= 2.0.6)
|
acts-as-taggable-on!
|
||||||
addressable (= 2.2.2)
|
addressable (= 2.2.2)
|
||||||
aws (= 2.3.32)
|
aws (= 2.3.32)
|
||||||
bundler (>= 1.0.0)
|
bundler (>= 1.0.0)
|
||||||
|
|
|
||||||
26
db/migrate/20110311220249_downcase_tags.rb
Normal file
26
db/migrate/20110311220249_downcase_tags.rb
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
class DowncaseTags < ActiveRecord::Migration
|
||||||
|
def consolidate_tags_with_name(name)
|
||||||
|
tags = execute("SELECT * FROM tags WHERE tags.name = ?;", name)
|
||||||
|
keep_tag = tags.pop
|
||||||
|
tags.each do |bad_tag|
|
||||||
|
execute("UPDATE taggings
|
||||||
|
SET taggings.tag_id = #{keep_tag.first}
|
||||||
|
WHERE taggings.tag_id = #{bad_tag.first};")
|
||||||
|
execute("DELETE tags WHERE tags.id = #{bad_tag.first}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
def self.up
|
||||||
|
execute('UPDATE tags
|
||||||
|
SET tags.name = LOWER(tags.name);')
|
||||||
|
|
||||||
|
names_with_duplicates = execute('SELECT name FROM tags
|
||||||
|
GROUP BY name
|
||||||
|
HAVING COUNT(*)>1;').to_a.flatten!
|
||||||
|
names_with_duplicates.each do |name|
|
||||||
|
consolidate_tags_with_name(name)
|
||||||
|
end unless names_with_duplicates.blank?
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.down
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20110311000150) do
|
ActiveRecord::Schema.define(:version => 20110311220249) do
|
||||||
|
|
||||||
create_table "aspect_memberships", :force => true do |t|
|
create_table "aspect_memberships", :force => true do |t|
|
||||||
t.integer "aspect_id", :null => false
|
t.integer "aspect_id", :null => false
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,6 @@ STR
|
||||||
end
|
end
|
||||||
it 'responds to plain_text' do
|
it 'responds to plain_text' do
|
||||||
@sm.format_tags(@str, :plain_text => true).should == @str
|
@sm.format_tags(@str, :plain_text => true).should == @str
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
describe '#build_tags' do
|
describe '#build_tags' do
|
||||||
|
|
|
||||||
|
|
@ -245,9 +245,9 @@ describe User do
|
||||||
it 'displays recent posts first' do
|
it 'displays recent posts first' do
|
||||||
msg3 = @user3.post(:status_message, :message => "hey there", :to => 'all', :public => true)
|
msg3 = @user3.post(:status_message, :message => "hey there", :to => 'all', :public => true)
|
||||||
msg4 = @user3.post(:status_message, :message => "hey there", :to => 'all', :public => true)
|
msg4 = @user3.post(:status_message, :message => "hey there", :to => 'all', :public => true)
|
||||||
msg3.updated_at = Time.now+10
|
msg3.created_at = Time.now+10
|
||||||
msg3.save!
|
msg3.save!
|
||||||
msg4.updated_at = Time.now+14
|
msg4.created_at = Time.now+14
|
||||||
msg4.save!
|
msg4.save!
|
||||||
|
|
||||||
@user.posts_from(@user3.person).map{|p| p.id}.should == [msg4, msg3, @public_message].map{|p| p.id}
|
@user.posts_from(@user3.person).map{|p| p.id}.should == [msg4, msg3, @public_message].map{|p| p.id}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue