is:nc filter
This commit is contained in:
parent
7d2ca526fc
commit
844be37abe
44 changed files with 50 additions and 23 deletions
2
Gemfile
2
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
|
||||
|
|
36
Gemfile.lock
36
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
|
||||
|
|
|
@ -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)
|
||||
|
|
15
db/schema.rb
15
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
|
||||
|
|
|
@ -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 => [
|
||||
|
|
BIN
vendor/cache/abstract-1.0.0.gem
vendored
Normal file
BIN
vendor/cache/abstract-1.0.0.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/actionmailer-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/actionmailer-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/actionpack-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/actionpack-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/activemodel-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/activemodel-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/activerecord-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/activerecord-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/activeresource-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/activeresource-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/activesupport-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/activesupport-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/arel-0.4.0.gem
vendored
Normal file
BIN
vendor/cache/arel-0.4.0.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/builder-2.1.2.gem
vendored
Normal file
BIN
vendor/cache/builder-2.1.2.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/bundler-0.9.26.gem
vendored
Normal file
BIN
vendor/cache/bundler-0.9.26.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/compass-0.10.2.gem
vendored
Normal file
BIN
vendor/cache/compass-0.10.2.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/diff-lcs-1.1.2.gem
vendored
Normal file
BIN
vendor/cache/diff-lcs-1.1.2.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/erubis-2.6.6.gem
vendored
Normal file
BIN
vendor/cache/erubis-2.6.6.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/factory_girl-1.3.1.gem
vendored
Normal file
BIN
vendor/cache/factory_girl-1.3.1.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/factory_girl_rails-1.0.gem
vendored
Normal file
BIN
vendor/cache/factory_girl_rails-1.0.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/haml-3.0.13.gem
vendored
Normal file
BIN
vendor/cache/haml-3.0.13.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/i18n-0.4.1.gem
vendored
Normal file
BIN
vendor/cache/i18n-0.4.1.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/mail-2.2.5.gem
vendored
Normal file
BIN
vendor/cache/mail-2.2.5.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/mime-types-1.16.gem
vendored
Normal file
BIN
vendor/cache/mime-types-1.16.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/mysql-2.8.1.gem
vendored
Normal file
BIN
vendor/cache/mysql-2.8.1.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/nokogiri-1.4.2.gem
vendored
Normal file
BIN
vendor/cache/nokogiri-1.4.2.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/polyglot-0.3.1.gem
vendored
Normal file
BIN
vendor/cache/polyglot-0.3.1.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rack-1.1.0.gem
vendored
Normal file
BIN
vendor/cache/rack-1.1.0.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rack-mount-0.6.6.gem
vendored
Normal file
BIN
vendor/cache/rack-mount-0.6.6.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rack-test-0.5.4.gem
vendored
Normal file
BIN
vendor/cache/rack-test-0.5.4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rails-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/rails-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/railties-3.0.0.beta4.gem
vendored
Normal file
BIN
vendor/cache/railties-3.0.0.beta4.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rake-0.8.7.gem
vendored
Normal file
BIN
vendor/cache/rake-0.8.7.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rdiscount-1.6.5.gem
vendored
Normal file
BIN
vendor/cache/rdiscount-1.6.5.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rspec-2.0.0.beta.16.gem
vendored
Normal file
BIN
vendor/cache/rspec-2.0.0.beta.16.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rspec-core-2.0.0.beta.16.gem
vendored
Normal file
BIN
vendor/cache/rspec-core-2.0.0.beta.16.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rspec-expectations-2.0.0.beta.16.gem
vendored
Normal file
BIN
vendor/cache/rspec-expectations-2.0.0.beta.16.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rspec-mocks-2.0.0.beta.16.gem
vendored
Normal file
BIN
vendor/cache/rspec-mocks-2.0.0.beta.16.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/rspec-rails-2.0.0.beta.16.gem
vendored
Normal file
BIN
vendor/cache/rspec-rails-2.0.0.beta.16.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/sqlite3-ruby-1.3.1.gem
vendored
Normal file
BIN
vendor/cache/sqlite3-ruby-1.3.1.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/thor-0.13.7.gem
vendored
Normal file
BIN
vendor/cache/thor-0.13.7.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/treetop-1.4.8.gem
vendored
Normal file
BIN
vendor/cache/treetop-1.4.8.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/tzinfo-0.3.22.gem
vendored
Normal file
BIN
vendor/cache/tzinfo-0.3.22.gem
vendored
Normal file
Binary file not shown.
BIN
vendor/cache/webrat-0.7.1.gem
vendored
Normal file
BIN
vendor/cache/webrat-0.7.1.gem
vendored
Normal file
Binary file not shown.
Loading…
Reference in a new issue