pirate 0.1.4 → 0.1.6

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.
@@ -0,0 +1,45 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+
14
+ # jeweler generated
15
+ pkg
16
+
17
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
18
+ #
19
+ # * Create a file at ~/.gitignore
20
+ # * Include files you want ignored
21
+ # * Run: git config --global core.excludesfile ~/.gitignore
22
+ #
23
+ # After doing this, these files will be ignored in all your git projects,
24
+ # saving you from having to 'pollute' every project you touch with them
25
+ #
26
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
27
+ #
28
+ # For MacOS:
29
+ #
30
+ #.DS_Store
31
+ #
32
+ # For TextMate
33
+ #*.tmproj
34
+ #tmtags
35
+ #
36
+ # For emacs:
37
+ #*~
38
+ #\#*
39
+ #.\#*
40
+ #
41
+ # For vim:
42
+ #*.swp
43
+ #
44
+ # For rvm:
45
+ .rvmrc
data/Gemfile CHANGED
@@ -1,19 +1,4 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
2
 
6
- gem 'activesupport'
7
- gem 'actionpack'
8
-
9
- gem 'searchlogic', '2.4.27'
10
- gem 'amatch', '0.2.5'
11
-
12
- # Add dependencies to develop your gem here.
13
- # Include everything needed to run rake, tests, features, etc.
14
- group :development do
15
- gem "rspec", "~> 1.3.0"
16
- gem "bundler", "~> 1.0.0"
17
- gem "jeweler", "~> 1.5.2"
18
- gem "rcov", ">= 0"
19
- end
3
+ # Specify your gem's dependencies in pirate.gemspec
4
+ gemspec
@@ -1,59 +1,33 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pirate (0.1.6)
5
+ activerecord (= 2.3.9)
6
+ activesupport (= 2.3.9)
7
+ acts-as-taggable-on (= 2.0.3)
8
+ amatch (= 0.2.5)
9
+ bundler (~> 1.0.0)
10
+ rspec (~> 1.3.0)
11
+ searchlogic (= 2.4.27)
12
+ sqlite3 (= 1.3.3)
13
+ will_paginate (= 2.3.15)
14
+
1
15
  GEM
2
16
  remote: http://rubygems.org/
3
17
  specs:
4
- abstract (1.0.0)
5
- actionpack (3.0.3)
6
- activemodel (= 3.0.3)
7
- activesupport (= 3.0.3)
8
- builder (~> 2.1.2)
9
- erubis (~> 2.6.6)
10
- i18n (~> 0.4)
11
- rack (~> 1.2.1)
12
- rack-mount (~> 0.6.13)
13
- rack-test (~> 0.5.6)
14
- tzinfo (~> 0.3.23)
15
- activemodel (3.0.3)
16
- activesupport (= 3.0.3)
17
- builder (~> 2.1.2)
18
- i18n (~> 0.4)
19
- activerecord (3.0.3)
20
- activemodel (= 3.0.3)
21
- activesupport (= 3.0.3)
22
- arel (~> 2.0.2)
23
- tzinfo (~> 0.3.23)
24
- activesupport (3.0.3)
18
+ activerecord (2.3.9)
19
+ activesupport (= 2.3.9)
20
+ activesupport (2.3.9)
21
+ acts-as-taggable-on (2.0.3)
25
22
  amatch (0.2.5)
26
- arel (2.0.6)
27
- builder (2.1.2)
28
- erubis (2.6.6)
29
- abstract (>= 1.0.0)
30
- git (1.2.5)
31
- i18n (0.5.0)
32
- jeweler (1.5.2)
33
- bundler (~> 1.0.0)
34
- git (>= 1.2.5)
35
- rake
36
- rack (1.2.1)
37
- rack-mount (0.6.13)
38
- rack (>= 1.0.0)
39
- rack-test (0.5.6)
40
- rack (>= 1.0)
41
- rake (0.8.7)
42
- rcov (0.9.9)
43
23
  rspec (1.3.1)
44
24
  searchlogic (2.4.27)
45
25
  activerecord (>= 2.0.0)
46
- tzinfo (0.3.23)
26
+ sqlite3 (1.3.3)
27
+ will_paginate (2.3.15)
47
28
 
48
29
  PLATFORMS
49
30
  ruby
50
31
 
51
32
  DEPENDENCIES
52
- actionpack
53
- activesupport
54
- amatch (= 0.2.5)
55
- bundler (~> 1.0.0)
56
- jeweler (~> 1.5.2)
57
- rcov
58
- rspec (~> 1.3.0)
59
- searchlogic (= 2.4.27)
33
+ pirate!
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 58Phases
1
+ Copyright (c) 2011 58Phases
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -14,6 +14,6 @@ Custom search function for 58Phases.
14
14
 
15
15
  == Copyright
16
16
 
17
- Copyright (c) 2010 58Phases. See LICENSE.txt for
17
+ Copyright (c) 2011 58Phases. See LICENSE.txt for
18
18
  further details.
19
19
 
data/Rakefile CHANGED
@@ -1,52 +1,2 @@
1
- require 'rubygems'
2
1
  require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'rake'
11
-
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
- gem.name = "pirate"
16
- gem.homepage = "http://github.com/58Phases/pirate"
17
- gem.license = ""
18
- gem.summary = %Q{Custom search function for 58Phases}
19
- gem.description = %Q{Custom search function for 58Phases}
20
- gem.email = "david@yibs.com"
21
- gem.authors = ["David Hsu"]
22
- # Include your dependencies below. Runtime dependencies are required when using your gem,
23
- # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
- # gem.add_runtime_dependency 'jabber4r', '> 0.1'
25
- # gem.add_development_dependency 'rspec', '> 1.2.3'
26
- gem.add_dependency 'searchlogic', '>= 2.4.27'
27
- gem.add_dependency 'amatch', '>= 0.2.5'
28
- end
29
- Jeweler::RubygemsDotOrgTasks.new
30
-
31
- #require 'rspec/core'
32
- #require 'rspec/core/rake_task'
33
- #RSpec::Core::RakeTask.new(:spec) do |spec|
34
- # spec.pattern = FileList['spec/**/*_spec.rb']
35
- #end
36
- #
37
- #RSpec::Core::RakeTask.new(:rcov) do |spec|
38
- # spec.pattern = 'spec/**/*_spec.rb'
39
- # spec.rcov = true
40
- #end
41
-
42
- task :default => :spec
43
-
44
- require 'rake/rdoctask'
45
- Rake::RDocTask.new do |rdoc|
46
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
47
-
48
- rdoc.rdoc_dir = 'rdoc'
49
- rdoc.title = "pirate #{version}"
50
- rdoc.rdoc_files.include('README*')
51
- rdoc.rdoc_files.include('lib/**/*.rb')
52
- end
2
+ Bundler::GemHelper.install_tasks
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.5
@@ -1,4 +1,12 @@
1
- require 'action_controller'
1
+ require 'uri'
2
+ require 'activesupport'
3
+ require 'active_record'
4
+ require 'amatch'
5
+ require 'will_paginate'
6
+ WillPaginate.enable_activerecord
7
+ WillPaginate.enable_named_scope
8
+
9
+ require 'searchlogic'
2
10
 
3
11
  module Pirate
4
12
  # Problems:
@@ -8,7 +16,7 @@ module Pirate
8
16
  # - pagination
9
17
  # http://www.mail-archive.com/rubyonrails-talk@googlegroups.com/msg49775.html
10
18
 
11
- mattr_accessor :result, :tag_enabled, :store_per_page, :coupon_per_page
19
+ mattr_accessor :result, :store_per_page, :coupon_per_page
12
20
 
13
21
  # :redirect => 'exact' || 'partial' || 'levenshtein' || nil
14
22
  @@result = { :redirect => nil, :instance => nil, :stores => [], :coupons => [], :tags => [], :notice => nil }
@@ -19,6 +27,24 @@ module Pirate
19
27
 
20
28
  @@page = { :stores => 1, :coupons => 1 }
21
29
 
30
+ def self.enable_tag
31
+ @@tag_enabled = true
32
+ end
33
+
34
+ def self.tag_enabled?
35
+ @@tag_enabled
36
+ end
37
+
38
+ def self.tag_enabled=(value)
39
+ ActiveSupport::Deprecation.warn "Pirate.tag_enabled= is deprecated, please use Pirate.enable_tag instead"
40
+ @@tag_enabled = value
41
+ end
42
+
43
+ def self.tag_enabled
44
+ ActiveSupport::Deprecation.warn "Pirate.tag_enabled is deprecated, please use Pirate.tag_enabled? instead"
45
+ @@tag_enabled
46
+ end
47
+
22
48
  def self.reset_result
23
49
  @@result = { :redirect => nil, :instance => nil, :stores => [], :coupons => [], :tags => [], :notice => nil }
24
50
  end
@@ -62,7 +88,7 @@ module Pirate
62
88
  end
63
89
 
64
90
  # Partial Match -- a known store name or tag name exists within the search query
65
- foundstores = Store.active.find(:all, :conditions => [ "? LIKE CONCAT('%',LOWER(name),'%')", query.downcase ])
91
+ foundstores = Store.active.find(:all, :conditions => [ "? LIKE #{DB.db_concat("\'%\'", 'LOWER(name)', "\'%\'")}", query.downcase ])
66
92
  if !foundstores.nil? and foundstores.length == 1
67
93
  store = foundstores.first
68
94
  @@result = { :redirect => 'partial', :instance => store,
@@ -164,4 +190,21 @@ module Pirate
164
190
 
165
191
  end
166
192
 
167
- ActionController::Base.send(:include, Pirate)
193
+
194
+ module DB
195
+ # Symbols should be used for field names, everything else will be quoted as a string
196
+ def self.db_concat(*args)
197
+ adapter = ActiveRecord::Base.configurations[RAILS_ENV]['adapter'].to_sym
198
+ args.map!{ |arg| arg.class==Symbol ? arg.to_s : arg }
199
+
200
+ case adapter
201
+ when :mysql
202
+ "CONCAT(#{args.join(',')})"
203
+ when :sqlserver
204
+ args.join('+')
205
+ else
206
+ args.join('||')
207
+ end
208
+
209
+ end
210
+ end
@@ -0,0 +1,3 @@
1
+ module Pirate
2
+ VERSION = "0.1.6"
3
+ end
@@ -3,81 +3,35 @@
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{pirate}
8
- s.version = "0.1.4"
6
+ # -*- encoding: utf-8 -*-
7
+ $:.push File.expand_path("../lib", __FILE__)
8
+ require "pirate/version"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["David Hsu"]
12
- s.date = %q{2010-12-20}
10
+ Gem::Specification.new do |s|
11
+ s.name = "pirate"
12
+ s.version = Pirate::VERSION
13
+ s.platform = Gem::Platform::RUBY
14
+ s.authors = ["David Hsu"]
15
+ s.email = ["david@yibs.com"]
16
+ s.homepage = "http://rubygems.org/gems/pirate"
17
+ s.summary = %q{Custom search function for 58Phases}
13
18
  s.description = %q{Custom search function for 58Phases}
14
- s.email = %q{david@yibs.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE.txt",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".rspec",
22
- "Gemfile",
23
- "Gemfile.lock",
24
- "LICENSE.txt",
25
- "README.rdoc",
26
- "Rakefile",
27
- "VERSION",
28
- "lib/pirate.rb",
29
- "pirate.gemspec",
30
- "spec/pirate_spec.rb",
31
- "spec/spec_helper.rb"
32
- ]
33
- s.homepage = %q{http://github.com/58Phases/pirate}
34
- s.licenses = [""]
35
- s.require_paths = ["lib"]
36
- s.rubygems_version = %q{1.3.7}
37
- s.summary = %q{Custom search function for 58Phases}
38
- s.test_files = [
39
- "spec/pirate_spec.rb",
40
- "spec/spec_helper.rb"
41
- ]
42
19
 
43
- if s.respond_to? :specification_version then
44
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
45
- s.specification_version = 3
20
+ s.rubyforge_project = "pirate"
46
21
 
47
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
49
- s.add_runtime_dependency(%q<actionpack>, [">= 0"])
50
- s.add_runtime_dependency(%q<searchlogic>, ["= 2.4.27"])
51
- s.add_runtime_dependency(%q<amatch>, ["= 0.2.5"])
52
- s.add_development_dependency(%q<rspec>, ["~> 1.3.0"])
53
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
54
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
55
- s.add_development_dependency(%q<rcov>, [">= 0"])
56
- s.add_runtime_dependency(%q<searchlogic>, [">= 2.4.27"])
57
- s.add_runtime_dependency(%q<amatch>, [">= 0.2.5"])
58
- else
59
- s.add_dependency(%q<activesupport>, [">= 0"])
60
- s.add_dependency(%q<actionpack>, [">= 0"])
61
- s.add_dependency(%q<searchlogic>, ["= 2.4.27"])
62
- s.add_dependency(%q<amatch>, ["= 0.2.5"])
63
- s.add_dependency(%q<rspec>, ["~> 1.3.0"])
64
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
65
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
66
- s.add_dependency(%q<rcov>, [">= 0"])
67
- s.add_dependency(%q<searchlogic>, [">= 2.4.27"])
68
- s.add_dependency(%q<amatch>, [">= 0.2.5"])
69
- end
70
- else
71
- s.add_dependency(%q<activesupport>, [">= 0"])
72
- s.add_dependency(%q<actionpack>, [">= 0"])
73
- s.add_dependency(%q<searchlogic>, ["= 2.4.27"])
74
- s.add_dependency(%q<amatch>, ["= 0.2.5"])
75
- s.add_dependency(%q<rspec>, ["~> 1.3.0"])
76
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
77
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
78
- s.add_dependency(%q<rcov>, [">= 0"])
79
- s.add_dependency(%q<searchlogic>, [">= 2.4.27"])
80
- s.add_dependency(%q<amatch>, [">= 0.2.5"])
81
- end
22
+ s.files = `git ls-files`.split("\n")
23
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
24
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
25
+ s.require_paths = ["lib"]
26
+
27
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
28
+ s.add_dependency(%q<activerecord>, ["= 2.3.9"])
29
+ s.add_dependency(%q<activesupport>, ["= 2.3.9"])
30
+ s.add_dependency(%q<amatch>, ["= 0.2.5"])
31
+ s.add_dependency(%q<searchlogic>, ["= 2.4.27"])
32
+ s.add_dependency(%q<will_paginate>, ["= 2.3.15"])
33
+ s.add_dependency(%q<acts-as-taggable-on>, ["= 2.0.3"])
34
+ s.add_dependency(%q<rspec>, ["~> 1.3.0"])
35
+ s.add_dependency(%q<sqlite3>, ["= 1.3.3"])
82
36
  end
83
37
 
@@ -7,24 +7,26 @@ describe "Pirate" do
7
7
  [['1', "Abe's of Maine"], ['2', "E.L.F."], ['3', "80's Purple"], ['4', "Adagio Teas"],
8
8
  ['5', "Akademiks"], ['6', "Discount Contact Lenses"], ['7', "Lens.com"], ['8', "Brylane Home"],
9
9
  ['9', "Directly Home"], ['10', "HomeClick"]].each do |store|
10
- @stores[store[0]] = Factory(:approved_store, :name => store[1])
10
+ @stores[store[0]] = Store.create(:name => store[1], :state => 'approved') #Factory(:approved_store, :name => store[1])
11
11
  end
12
12
 
13
13
  @tags = {}
14
14
  [['1', "shoes"], ['2', "discount"], ['3', "free shipping"], ['4', "home"],
15
15
  ['5', "electronics"], ['6', "promotion code"]].each do |tag|
16
- @tags[tag[0]] = Factory(:tag, :name => tag[1])
16
+ @tags[tag[0]] = Tag.create(:name => tag[1]) #Factory(:tag, :name => tag[1])
17
17
  end
18
18
 
19
- Pirate.find(:searchInput => "discount", :tag_enabled => true)
19
+ Pirate.tag_enabled = true
20
+
21
+ Pirate.find(:searchInput => "discount")
20
22
  Pirate.result[:redirect].should == 'exact'
21
23
  Pirate.result[:instance].should == @tags['2']
22
24
 
23
- Pirate.find(:searchInput => "free shipping coupon", :tag_enabled => true)
25
+ Pirate.find(:searchInput => "free shipping coupon")
24
26
  Pirate.result[:redirect].should == 'levenshtein'
25
27
  Pirate.result[:instance].should == @tags['3']
26
28
 
27
- Pirate.find(:searchInput => "Discount Contact", :tag_enabled => true)
29
+ Pirate.find(:searchInput => "Discount Contact")
28
30
  Pirate.result[:redirect].should == 'levenshtein'
29
31
  Pirate.result[:instance].should == @stores['6']
30
32
  end
@@ -36,7 +38,7 @@ describe "Pirate" do
36
38
  [['1', "Abe's of Maine"], ['2', "E.L.F."], ['3', "80's Purple"], ['4', "Adagio Teas"],
37
39
  ['5', "Akademiks"], ['6', "Discount Contact Lenses"], ['7', "Lens.com"], ['8', "Brylane Home"],
38
40
  ['9', "Directly Home"], ['10', "HomeClick"]].each do |store|
39
- @stores[store[0]] = Factory(:approved_store, :name => store[1])
41
+ @stores[store[0]] = Store.create(:name => store[1], :state => 'approved')
40
42
  end
41
43
  end
42
44
 
@@ -89,7 +91,7 @@ describe "Pirate" do
89
91
  [['1', "Abe's of Maine"], ['2', "E.L.F."], ['3', "80's Purple"], ['4', "Adagio Teas"],
90
92
  ['5', "Akademiks"], ['6', "Discount Contact Lenses"], ['7', "Lens.com"], ['8', "Brylane Home"],
91
93
  ['9', "Directly Home"], ['10', "HomeClick"]].each do |tag|
92
- @tags[tag[0]] = Factory(:tag, :name => tag[1])
94
+ @tags[tag[0]] = Tag.create(:name => tag[1])
93
95
  end
94
96
  end
95
97
 
@@ -1,12 +1,107 @@
1
+ # refer to https://github.com/binarylogic/searchlogic/blob/master/spec/spec_helper.rb
2
+
1
3
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
- require 'rspec'
5
+
6
+ require 'spec'
4
7
  require 'pirate'
8
+ require 'rubygems'
9
+ #require 'ruby-debug'
10
+
11
+ ENV['TZ'] = 'UTC'
12
+ Time.zone = 'Eastern Time (US & Canada)'
5
13
 
6
- # Requires supporting files with custom matchers and macros, etc,
7
- # in ./support/ and its subdirectories.
8
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
14
+ RAILS_ENV = 'test'
15
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
16
+ ActiveRecord::Base.configurations[RAILS_ENV] = { 'adapter' => "sqlite3" }
9
17
 
10
- RSpec.configure do |config|
18
+ ActiveRecord::Schema.verbose = false
19
+ ActiveRecord::Schema.define(:version => 1) do
20
+ create_table :stores do |t|
21
+ t.string :name
22
+ t.string :homepage
23
+ t.string :state
24
+ end
11
25
 
26
+ create_table :deals do |t|
27
+ t.string :name
28
+ t.text :description
29
+ t.string :state
30
+ t.integer :store_id
31
+ t.integer :store_order
32
+ end
33
+
34
+ create_table :tags do |t|
35
+ t.string :name
36
+ end
37
+ end
38
+
39
+ Spec::Runner.configure do |config|
40
+ config.before(:each) do
41
+ class ::Store < ActiveRecord::Base
42
+ named_scope :approved, :conditions => { :state => "approved" }, :order => 'stores.name ASC'
43
+ named_scope :remove_punct_from_name, lambda { |query| { :conditions => ["LOWER(REPLACE(REPLACE(REPLACE(name,\"'\",''), '-', ''), '.', '')) LIKE ?", "%#{query}%"] } }
44
+
45
+ def self.active
46
+ approved
47
+ end
48
+ end
49
+
50
+
51
+ class ::Deal < ActiveRecord::Base
52
+ begin
53
+ acts_as_taggable_on :tags
54
+ rescue
55
+ "Error when loading acts_as_taggable_on"
56
+ end
57
+
58
+ belongs_to :store
59
+
60
+ named_scope :ordered, :order => "store_order ASC"
61
+ named_scope :approved, :conditions => { :state => "approved" }, :order => 'name ASC'
62
+
63
+ def self.active
64
+ approved
65
+ end
66
+
67
+ def self.related_tags(input)
68
+ vars = []
69
+ clauses = ""
70
+ input.split(" ").each do |word|
71
+ vars << word
72
+ vars << word.upcase
73
+ vars << word.downcase
74
+ end
75
+
76
+ vars.each_with_index do |var,idx|
77
+ clauses << "name LIKE ?"
78
+ clauses << " or " if (idx+1) < vars.size
79
+ end
80
+ conditions = [clauses] + vars
81
+ tags = Tag.find(:all,:conditions => conditions)
82
+
83
+ if tags.size > 0
84
+ return self.active.tagged_with(tags.collect {|tag| tag.name}.join(","))
85
+ else
86
+ return []
87
+ end
88
+ end
89
+ end
90
+
91
+ class ::Coupon < Deal
92
+ end
93
+
94
+ class ::Tag < ActiveRecord::Base
95
+ end
96
+
97
+ ::Store.destroy_all
98
+ ::Deal.destroy_all
99
+ ::Tag.destroy_all
100
+ end
101
+
102
+ config.after(:each) do
103
+ Object.send(:remove_const, :Store)
104
+ Object.send(:remove_const, :Coupon)
105
+ Object.send(:remove_const, :Tag)
106
+ end
12
107
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pirate
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 4
10
- version: 0.1.4
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - David Hsu
@@ -15,51 +15,55 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-20 00:00:00 -08:00
18
+ date: 2011-03-21 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: activesupport
22
+ name: bundler
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ">="
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- hash: 3
29
+ hash: 23
30
30
  segments:
31
+ - 1
31
32
  - 0
32
- version: "0"
33
+ - 0
34
+ version: 1.0.0
33
35
  type: :runtime
34
36
  version_requirements: *id001
35
37
  - !ruby/object:Gem::Dependency
36
- name: actionpack
38
+ name: activerecord
37
39
  prerelease: false
38
40
  requirement: &id002 !ruby/object:Gem::Requirement
39
41
  none: false
40
42
  requirements:
41
- - - ">="
43
+ - - "="
42
44
  - !ruby/object:Gem::Version
43
- hash: 3
45
+ hash: 17
44
46
  segments:
45
- - 0
46
- version: "0"
47
+ - 2
48
+ - 3
49
+ - 9
50
+ version: 2.3.9
47
51
  type: :runtime
48
52
  version_requirements: *id002
49
53
  - !ruby/object:Gem::Dependency
50
- name: searchlogic
54
+ name: activesupport
51
55
  prerelease: false
52
56
  requirement: &id003 !ruby/object:Gem::Requirement
53
57
  none: false
54
58
  requirements:
55
59
  - - "="
56
60
  - !ruby/object:Gem::Version
57
- hash: 41
61
+ hash: 17
58
62
  segments:
59
63
  - 2
60
- - 4
61
- - 27
62
- version: 2.4.27
64
+ - 3
65
+ - 9
66
+ version: 2.3.9
63
67
  type: :runtime
64
68
  version_requirements: *id003
65
69
  - !ruby/object:Gem::Dependency
@@ -79,110 +83,97 @@ dependencies:
79
83
  type: :runtime
80
84
  version_requirements: *id004
81
85
  - !ruby/object:Gem::Dependency
82
- name: rspec
86
+ name: searchlogic
83
87
  prerelease: false
84
88
  requirement: &id005 !ruby/object:Gem::Requirement
85
89
  none: false
86
90
  requirements:
87
- - - ~>
91
+ - - "="
88
92
  - !ruby/object:Gem::Version
89
- hash: 27
93
+ hash: 41
90
94
  segments:
91
- - 1
92
- - 3
93
- - 0
94
- version: 1.3.0
95
- type: :development
95
+ - 2
96
+ - 4
97
+ - 27
98
+ version: 2.4.27
99
+ type: :runtime
96
100
  version_requirements: *id005
97
101
  - !ruby/object:Gem::Dependency
98
- name: bundler
102
+ name: will_paginate
99
103
  prerelease: false
100
104
  requirement: &id006 !ruby/object:Gem::Requirement
101
105
  none: false
102
106
  requirements:
103
- - - ~>
107
+ - - "="
104
108
  - !ruby/object:Gem::Version
105
- hash: 23
109
+ hash: 29
106
110
  segments:
107
- - 1
108
- - 0
109
- - 0
110
- version: 1.0.0
111
- type: :development
111
+ - 2
112
+ - 3
113
+ - 15
114
+ version: 2.3.15
115
+ type: :runtime
112
116
  version_requirements: *id006
113
117
  - !ruby/object:Gem::Dependency
114
- name: jeweler
118
+ name: acts-as-taggable-on
115
119
  prerelease: false
116
120
  requirement: &id007 !ruby/object:Gem::Requirement
117
121
  none: false
118
122
  requirements:
119
- - - ~>
123
+ - - "="
120
124
  - !ruby/object:Gem::Version
121
- hash: 7
125
+ hash: 9
122
126
  segments:
123
- - 1
124
- - 5
125
127
  - 2
126
- version: 1.5.2
127
- type: :development
128
+ - 0
129
+ - 3
130
+ version: 2.0.3
131
+ type: :runtime
128
132
  version_requirements: *id007
129
133
  - !ruby/object:Gem::Dependency
130
- name: rcov
134
+ name: rspec
131
135
  prerelease: false
132
136
  requirement: &id008 !ruby/object:Gem::Requirement
133
137
  none: false
134
138
  requirements:
135
- - - ">="
139
+ - - ~>
136
140
  - !ruby/object:Gem::Version
137
- hash: 3
141
+ hash: 27
138
142
  segments:
143
+ - 1
144
+ - 3
139
145
  - 0
140
- version: "0"
141
- type: :development
146
+ version: 1.3.0
147
+ type: :runtime
142
148
  version_requirements: *id008
143
149
  - !ruby/object:Gem::Dependency
144
- name: searchlogic
150
+ name: sqlite3
145
151
  prerelease: false
146
152
  requirement: &id009 !ruby/object:Gem::Requirement
147
153
  none: false
148
154
  requirements:
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- hash: 41
152
- segments:
153
- - 2
154
- - 4
155
- - 27
156
- version: 2.4.27
157
- type: :runtime
158
- version_requirements: *id009
159
- - !ruby/object:Gem::Dependency
160
- name: amatch
161
- prerelease: false
162
- requirement: &id010 !ruby/object:Gem::Requirement
163
- none: false
164
- requirements:
165
- - - ">="
155
+ - - "="
166
156
  - !ruby/object:Gem::Version
167
157
  hash: 29
168
158
  segments:
169
- - 0
170
- - 2
171
- - 5
172
- version: 0.2.5
159
+ - 1
160
+ - 3
161
+ - 3
162
+ version: 1.3.3
173
163
  type: :runtime
174
- version_requirements: *id010
164
+ version_requirements: *id009
175
165
  description: Custom search function for 58Phases
176
- email: david@yibs.com
166
+ email:
167
+ - david@yibs.com
177
168
  executables: []
178
169
 
179
170
  extensions: []
180
171
 
181
- extra_rdoc_files:
182
- - LICENSE.txt
183
- - README.rdoc
172
+ extra_rdoc_files: []
173
+
184
174
  files:
185
175
  - .document
176
+ - .gitignore
186
177
  - .rspec
187
178
  - Gemfile
188
179
  - Gemfile.lock
@@ -191,13 +182,14 @@ files:
191
182
  - Rakefile
192
183
  - VERSION
193
184
  - lib/pirate.rb
185
+ - lib/pirate/version.rb
194
186
  - pirate.gemspec
195
187
  - spec/pirate_spec.rb
196
188
  - spec/spec_helper.rb
197
189
  has_rdoc: true
198
- homepage: http://github.com/58Phases/pirate
199
- licenses:
200
- - ""
190
+ homepage: http://rubygems.org/gems/pirate
191
+ licenses: []
192
+
201
193
  post_install_message:
202
194
  rdoc_options: []
203
195
 
@@ -223,8 +215,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
215
  version: "0"
224
216
  requirements: []
225
217
 
226
- rubyforge_project:
227
- rubygems_version: 1.3.7
218
+ rubyforge_project: pirate
219
+ rubygems_version: 1.4.2
228
220
  signing_key:
229
221
  specification_version: 3
230
222
  summary: Custom search function for 58Phases