pirate 0.1.4 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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