diff --git a/Gemfile b/Gemfile index ecb98361..c0ce8601 100644 --- a/Gemfile +++ b/Gemfile @@ -18,5 +18,5 @@ end group :test do gem 'rspec-rails', '>= 2.0.0.beta.8' - gem 'factory_girl', :git => 'git://github.com/thoughtbot/factory_girl.git', :branch => 'rails3' + gem 'factory_girl_rails' end diff --git a/Gemfile.lock b/Gemfile.lock index cebc485d..0ab0e48c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,6 @@ --- -hash: 69933c49c3e95c92aa2fa74961dcafc1b817fff7 +hash: a126f60340d5ff8894e44c49aca44bfd89843564 sources: -- Git: - git: git://github.com/thoughtbot/factory_girl.git - branch: rails3 - uri: git://github.com/thoughtbot/factory_girl.git - ref: feac7298352a83fef0717d8beadd2eda9aabfe56 - Git: git: http://github.com/mislav/will_paginate.git branch: rails3 @@ -63,37 +58,38 @@ specs: - diff-lcs: version: 1.1.2 - factory_girl: - version: 1.2.3 - source: 0 -- mysql: - version: 2.8.1 -- nokogiri: - version: 1.4.2 + version: 1.3.1 - thor: version: 0.13.7 - railties: version: 3.0.0.beta4 - rails: version: 3.0.0.beta4 +- factory_girl_rails: + version: "1.0" +- mysql: + version: 2.8.1 +- nokogiri: + version: 1.4.2 - rdiscount: version: 1.6.5 - rspec-core: - version: 2.0.0.beta.14 + version: 2.0.0.beta.16 - rspec-expectations: - version: 2.0.0.beta.14 + version: 2.0.0.beta.16 - rspec-mocks: - version: 2.0.0.beta.14 + version: 2.0.0.beta.16 - rspec: - version: 2.0.0.beta.14 + version: 2.0.0.beta.16 - webrat: version: 0.7.1 - rspec-rails: - version: 2.0.0.beta.14.2 + version: 2.0.0.beta.16 - sqlite3-ruby: - version: 1.3.0 + version: 1.3.1 - will_paginate: version: 3.0.pre - source: 1 + source: 0 dependencies: rails: version: = 3.0.0.beta4 @@ -129,7 +125,7 @@ dependencies: version: ">= 2.0.0.beta.8" group: - :test - factory_girl: + factory_girl_rails: version: ">= 0" group: - :test diff --git a/app/models/item.rb b/app/models/item.rb index 21283df7..cd135f94 100644 --- a/app/models/item.rb +++ b/app/models/item.rb @@ -88,6 +88,11 @@ class Item < ActiveRecord::Base arel_table[:description].matches("%#{description}%") end + search_filter :is do |is_what| + raise ArgumentError, "We don't know how an item can be \"#{is_what}\". Did you mean is:nc?" unless is_what == 'nc' + arel_table[:rarity_index].in([0, 500]) + end + search_filter :only do |species_name| id = Species.require_by_name(species_name).id arel_table[:species_support_ids].eq(id.to_s) diff --git a/db/schema.rb b/db/schema.rb index 1f50b014..7f933bc1 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -43,12 +43,12 @@ ActiveRecord::Schema.define(:version => 24) do t.string "category", :limit => 50, :null => false t.string "type", :limit => 50, :null => false t.string "rarity", :limit => 25, :null => false - t.integer "rarity_index", :limit => 1, :null => false + t.integer "rarity_index", :limit => 2, :null => false t.integer "price", :limit => 3, :null => false t.integer "weight_lbs", :limit => 2, :null => false t.text "species_support_ids" t.integer "sold_in_mall", :limit => 1, :null => false - t.timestamp "last_spidered" + t.timestamp "last_spidered", :null => false end add_index "objects", ["last_spidered"], :name => "objects_last_spidered" @@ -64,6 +64,12 @@ ActiveRecord::Schema.define(:version => 24) do add_index "parents_swf_assets", ["parent_id"], :name => "parent_swf_assets_parent_id" add_index "parents_swf_assets", ["swf_asset_id"], :name => "parents_swf_assets_swf_asset_id" + create_table "pet_loads", :force => true do |t| + t.string "pet_name", :limit => 20, :null => false + t.text "amf", :null => false + t.timestamp "created_at", :null => false + end + create_table "pet_states", :force => true do |t| t.integer "pet_type_id", :limit => 3, :null => false t.text "swf_asset_ids", :limit => 255, :null => false @@ -89,6 +95,10 @@ ActiveRecord::Schema.define(:version => 24) do add_index "pets", ["name"], :name => "pets_name", :unique => true add_index "pets", ["pet_type_id"], :name => "pets_pet_type_id" + create_table "schema_info", :id => false, :force => true do |t| + t.integer "version", :default => 0, :null => false + end + create_table "swf_assets", :id => false, :force => true do |t| t.string "type", :limit => 0, :null => false t.integer "id", :limit => 3, :null => false @@ -100,6 +110,7 @@ ActiveRecord::Schema.define(:version => 24) do end add_index "swf_assets", ["body_id"], :name => "swf_assets_body_id_and_object_id" + add_index "swf_assets", ["zone_id"], :name => "idx_swf_assets_zone_id" create_table "users", :force => true do |t| t.string "name", :limit => 20, :null => false diff --git a/spec/models/item_spec.rb b/spec/models/item_spec.rb index 54a9648d..ea1bf4db 100644 --- a/spec/models/item_spec.rb +++ b/spec/models/item_spec.rb @@ -153,6 +153,21 @@ describe Item do Item.search('-only:aisha').map(&:name).should == ['a', 'b', 'c'] end + specify "should search by is:nc" do + Factory.create :item, :name => 'mall', :rarity_index => 500 + Factory.create :item, :name => 'also mall', :rarity_index => 500 + Factory.create :item, :name => 'only mall', :rarity_index => 0, :sold_in_mall => true + Factory.create :item, :name => 'not mall', :rarity_index => 400 + Factory.create :item, :name => 'also not mall', :rarity_index => 101 + Item.search('is:nc').map(&:name).should == ['mall', 'also mall', 'only mall'] + Item.search('!is:nc').map(&:name).should == ['not mall', 'also not mall'] + end + + specify "is:(anything but 'nc') should throw ArgumentError" do + lambda { Item.search('is:nc') }.should_not raise_error(ArgumentError) + lambda { Item.search('is:awesome') }.should raise_error(ArgumentError) + end + specify "should be able to negate word in search" do query_should 'hat -blue', :return => [ diff --git a/vendor/cache/abstract-1.0.0.gem b/vendor/cache/abstract-1.0.0.gem new file mode 100644 index 00000000..a9be232a Binary files /dev/null and b/vendor/cache/abstract-1.0.0.gem differ diff --git a/vendor/cache/actionmailer-3.0.0.beta4.gem b/vendor/cache/actionmailer-3.0.0.beta4.gem new file mode 100644 index 00000000..a200ea38 Binary files /dev/null and b/vendor/cache/actionmailer-3.0.0.beta4.gem differ diff --git a/vendor/cache/actionpack-3.0.0.beta4.gem b/vendor/cache/actionpack-3.0.0.beta4.gem new file mode 100644 index 00000000..c5ec7dea Binary files /dev/null and b/vendor/cache/actionpack-3.0.0.beta4.gem differ diff --git a/vendor/cache/activemodel-3.0.0.beta4.gem b/vendor/cache/activemodel-3.0.0.beta4.gem new file mode 100644 index 00000000..7d3e0c4f Binary files /dev/null and b/vendor/cache/activemodel-3.0.0.beta4.gem differ diff --git a/vendor/cache/activerecord-3.0.0.beta4.gem b/vendor/cache/activerecord-3.0.0.beta4.gem new file mode 100644 index 00000000..b2a9525b Binary files /dev/null and b/vendor/cache/activerecord-3.0.0.beta4.gem differ diff --git a/vendor/cache/activeresource-3.0.0.beta4.gem b/vendor/cache/activeresource-3.0.0.beta4.gem new file mode 100644 index 00000000..b9c807be Binary files /dev/null and b/vendor/cache/activeresource-3.0.0.beta4.gem differ diff --git a/vendor/cache/activesupport-3.0.0.beta4.gem b/vendor/cache/activesupport-3.0.0.beta4.gem new file mode 100644 index 00000000..0e3d26c2 Binary files /dev/null and b/vendor/cache/activesupport-3.0.0.beta4.gem differ diff --git a/vendor/cache/arel-0.4.0.gem b/vendor/cache/arel-0.4.0.gem new file mode 100644 index 00000000..9967cf7c Binary files /dev/null and b/vendor/cache/arel-0.4.0.gem differ diff --git a/vendor/cache/builder-2.1.2.gem b/vendor/cache/builder-2.1.2.gem new file mode 100644 index 00000000..c9016972 Binary files /dev/null and b/vendor/cache/builder-2.1.2.gem differ diff --git a/vendor/cache/bundler-0.9.26.gem b/vendor/cache/bundler-0.9.26.gem new file mode 100644 index 00000000..d4719e9c Binary files /dev/null and b/vendor/cache/bundler-0.9.26.gem differ diff --git a/vendor/cache/compass-0.10.2.gem b/vendor/cache/compass-0.10.2.gem new file mode 100644 index 00000000..753426d5 Binary files /dev/null and b/vendor/cache/compass-0.10.2.gem differ diff --git a/vendor/cache/diff-lcs-1.1.2.gem b/vendor/cache/diff-lcs-1.1.2.gem new file mode 100644 index 00000000..aa0be73b Binary files /dev/null and b/vendor/cache/diff-lcs-1.1.2.gem differ diff --git a/vendor/cache/erubis-2.6.6.gem b/vendor/cache/erubis-2.6.6.gem new file mode 100644 index 00000000..17b23c42 Binary files /dev/null and b/vendor/cache/erubis-2.6.6.gem differ diff --git a/vendor/cache/factory_girl-1.3.1.gem b/vendor/cache/factory_girl-1.3.1.gem new file mode 100644 index 00000000..a36cfea4 Binary files /dev/null and b/vendor/cache/factory_girl-1.3.1.gem differ diff --git a/vendor/cache/factory_girl_rails-1.0.gem b/vendor/cache/factory_girl_rails-1.0.gem new file mode 100644 index 00000000..cabd7b1e Binary files /dev/null and b/vendor/cache/factory_girl_rails-1.0.gem differ diff --git a/vendor/cache/haml-3.0.13.gem b/vendor/cache/haml-3.0.13.gem new file mode 100644 index 00000000..0e39470b Binary files /dev/null and b/vendor/cache/haml-3.0.13.gem differ diff --git a/vendor/cache/i18n-0.4.1.gem b/vendor/cache/i18n-0.4.1.gem new file mode 100644 index 00000000..86714c83 Binary files /dev/null and b/vendor/cache/i18n-0.4.1.gem differ diff --git a/vendor/cache/mail-2.2.5.gem b/vendor/cache/mail-2.2.5.gem new file mode 100644 index 00000000..c65e21ce Binary files /dev/null and b/vendor/cache/mail-2.2.5.gem differ diff --git a/vendor/cache/mime-types-1.16.gem b/vendor/cache/mime-types-1.16.gem new file mode 100644 index 00000000..49f1ef20 Binary files /dev/null and b/vendor/cache/mime-types-1.16.gem differ diff --git a/vendor/cache/mysql-2.8.1.gem b/vendor/cache/mysql-2.8.1.gem new file mode 100644 index 00000000..fc3f3770 Binary files /dev/null and b/vendor/cache/mysql-2.8.1.gem differ diff --git a/vendor/cache/nokogiri-1.4.2.gem b/vendor/cache/nokogiri-1.4.2.gem new file mode 100644 index 00000000..e2b2bd97 Binary files /dev/null and b/vendor/cache/nokogiri-1.4.2.gem differ diff --git a/vendor/cache/polyglot-0.3.1.gem b/vendor/cache/polyglot-0.3.1.gem new file mode 100644 index 00000000..9bdd0375 Binary files /dev/null and b/vendor/cache/polyglot-0.3.1.gem differ diff --git a/vendor/cache/rack-1.1.0.gem b/vendor/cache/rack-1.1.0.gem new file mode 100644 index 00000000..4a73511e Binary files /dev/null and b/vendor/cache/rack-1.1.0.gem differ diff --git a/vendor/cache/rack-mount-0.6.6.gem b/vendor/cache/rack-mount-0.6.6.gem new file mode 100644 index 00000000..4874fed5 Binary files /dev/null and b/vendor/cache/rack-mount-0.6.6.gem differ diff --git a/vendor/cache/rack-test-0.5.4.gem b/vendor/cache/rack-test-0.5.4.gem new file mode 100644 index 00000000..f237608c Binary files /dev/null and b/vendor/cache/rack-test-0.5.4.gem differ diff --git a/vendor/cache/rails-3.0.0.beta4.gem b/vendor/cache/rails-3.0.0.beta4.gem new file mode 100644 index 00000000..46b5d819 Binary files /dev/null and b/vendor/cache/rails-3.0.0.beta4.gem differ diff --git a/vendor/cache/railties-3.0.0.beta4.gem b/vendor/cache/railties-3.0.0.beta4.gem new file mode 100644 index 00000000..a4d9a779 Binary files /dev/null and b/vendor/cache/railties-3.0.0.beta4.gem differ diff --git a/vendor/cache/rake-0.8.7.gem b/vendor/cache/rake-0.8.7.gem new file mode 100644 index 00000000..0740cec7 Binary files /dev/null and b/vendor/cache/rake-0.8.7.gem differ diff --git a/vendor/cache/rdiscount-1.6.5.gem b/vendor/cache/rdiscount-1.6.5.gem new file mode 100644 index 00000000..c2fe3c37 Binary files /dev/null and b/vendor/cache/rdiscount-1.6.5.gem differ diff --git a/vendor/cache/rspec-2.0.0.beta.16.gem b/vendor/cache/rspec-2.0.0.beta.16.gem new file mode 100644 index 00000000..ee1b77d8 Binary files /dev/null and b/vendor/cache/rspec-2.0.0.beta.16.gem differ diff --git a/vendor/cache/rspec-core-2.0.0.beta.16.gem b/vendor/cache/rspec-core-2.0.0.beta.16.gem new file mode 100644 index 00000000..f875b63b Binary files /dev/null and b/vendor/cache/rspec-core-2.0.0.beta.16.gem differ diff --git a/vendor/cache/rspec-expectations-2.0.0.beta.16.gem b/vendor/cache/rspec-expectations-2.0.0.beta.16.gem new file mode 100644 index 00000000..609191be Binary files /dev/null and b/vendor/cache/rspec-expectations-2.0.0.beta.16.gem differ diff --git a/vendor/cache/rspec-mocks-2.0.0.beta.16.gem b/vendor/cache/rspec-mocks-2.0.0.beta.16.gem new file mode 100644 index 00000000..211bec59 Binary files /dev/null and b/vendor/cache/rspec-mocks-2.0.0.beta.16.gem differ diff --git a/vendor/cache/rspec-rails-2.0.0.beta.16.gem b/vendor/cache/rspec-rails-2.0.0.beta.16.gem new file mode 100644 index 00000000..b86821d9 Binary files /dev/null and b/vendor/cache/rspec-rails-2.0.0.beta.16.gem differ diff --git a/vendor/cache/sqlite3-ruby-1.3.1.gem b/vendor/cache/sqlite3-ruby-1.3.1.gem new file mode 100644 index 00000000..897d7ca0 Binary files /dev/null and b/vendor/cache/sqlite3-ruby-1.3.1.gem differ diff --git a/vendor/cache/thor-0.13.7.gem b/vendor/cache/thor-0.13.7.gem new file mode 100644 index 00000000..f4853f4f Binary files /dev/null and b/vendor/cache/thor-0.13.7.gem differ diff --git a/vendor/cache/treetop-1.4.8.gem b/vendor/cache/treetop-1.4.8.gem new file mode 100644 index 00000000..22b4973d Binary files /dev/null and b/vendor/cache/treetop-1.4.8.gem differ diff --git a/vendor/cache/tzinfo-0.3.22.gem b/vendor/cache/tzinfo-0.3.22.gem new file mode 100644 index 00000000..64997649 Binary files /dev/null and b/vendor/cache/tzinfo-0.3.22.gem differ diff --git a/vendor/cache/webrat-0.7.1.gem b/vendor/cache/webrat-0.7.1.gem new file mode 100644 index 00000000..82a03b4f Binary files /dev/null and b/vendor/cache/webrat-0.7.1.gem differ