scoped_search 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,15 +1,15 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  # These specs will run on all databases that are defined in the spec/database.yml file.
4
4
  # Comment out any databases that you do not have available for testing purposes if needed.
5
- ScopedSearch::Spec::Database.test_databases.each do |db|
5
+ ScopedSearch::RSpec::Database.test_databases.each do |db|
6
6
 
7
7
  describe ScopedSearch, "using a #{db} database" do
8
8
 
9
9
  before(:all) do
10
- ScopedSearch::Spec::Database.establish_named_connection(db)
10
+ ScopedSearch::RSpec::Database.establish_named_connection(db)
11
11
 
12
- @class = ScopedSearch::Spec::Database.create_model(:string => :string, :another => :string, :explicit => :string) do |klass|
12
+ @class = ScopedSearch::RSpec::Database.create_model(:string => :string, :another => :string, :explicit => :string) do |klass|
13
13
  klass.scoped_search :on => :string
14
14
  klass.scoped_search :on => :another, :default_operator => :eq, :alias => :alias
15
15
  klass.scoped_search :on => :explicit, :only_explicit => true
@@ -21,8 +21,8 @@ ScopedSearch::Spec::Database.test_databases.each do |db|
21
21
  end
22
22
 
23
23
  after(:all) do
24
- ScopedSearch::Spec::Database.drop_model(@class)
25
- ScopedSearch::Spec::Database.close_connection
24
+ ScopedSearch::RSpec::Database.drop_model(@class)
25
+ ScopedSearch::RSpec::Database.close_connection
26
26
  end
27
27
 
28
28
  context 'in an implicit string field' do
data/spec/lib/database.rb CHANGED
@@ -1,6 +1,7 @@
1
+ require 'erb'
1
2
  ActiveRecord::Migration.verbose = false unless ENV.has_key?('DEBUG')
2
3
 
3
- module ScopedSearch::Spec::Database
4
+ module ScopedSearch::RSpec::Database
4
5
 
5
6
  def self.establish_connection
6
7
  if ENV['DATABASE']
@@ -10,15 +11,18 @@ module ScopedSearch::Spec::Database
10
11
  end
11
12
  end
12
13
 
14
+ def self.test_databases_configuration
15
+ file = File.expand_path("../database.yml", File.dirname(__FILE__))
16
+ @database_connections ||= YAML.load(ERB.new(File.read(file)).result)
17
+ end
18
+
13
19
  def self.test_databases
14
- @database_connections ||= YAML.load(File.read("#{File.dirname(__FILE__)}/../database.yml"))
15
- @database_connections.keys
20
+ test_databases_configuration.keys
16
21
  end
17
22
 
18
23
  def self.establish_named_connection(name)
19
- @database_connections ||= YAML.load(File.read("#{File.dirname(__FILE__)}/../database.yml"))
20
- raise "#{name} database not configured" if @database_connections[name.to_s].nil?
21
- ActiveRecord::Base.establish_connection(@database_connections[name.to_s])
24
+ raise "#{name} database not configured" if test_databases_configuration[name.to_s].nil?
25
+ ActiveRecord::Base.establish_connection(test_databases_configuration[name.to_s])
22
26
  end
23
27
 
24
28
  def self.establish_default_connection
data/spec/lib/matchers.rb CHANGED
@@ -1,40 +1,23 @@
1
- module ScopedSearch::Spec::Matchers
2
- def be_infix_operator(operator = nil)
3
- simple_matcher('node to be an infix operator') do |node|
4
- node.kind_of?(ScopedSearch::QueryLanguage::AST::OperatorNode) &&
5
- node.infix? && (operator.nil? || operator == node.operator)
6
- end
7
- end
1
+ RSpec::Matchers.define :be_infix_operator do |operator|
2
+ match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::OperatorNode) && node.infix? && (operator.nil? || operator == node.operator) }
3
+ end
8
4
 
9
- def be_prefix_operator(operator = nil)
10
- simple_matcher('node to be an prefix operator') do |node|
11
- node.kind_of?(ScopedSearch::QueryLanguage::AST::OperatorNode) &&
12
- node.prefix? && (operator.nil? || operator == node.operator)
13
- end
14
- end
5
+ RSpec::Matchers.define :be_prefix_operator do |operator|
6
+ match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::OperatorNode) && node.prefix? && (operator.nil? || operator == node.operator) }
7
+ end
15
8
 
16
- def be_logical_operator(operator = nil)
17
- simple_matcher('node to be an logical operator') do |node|
18
- node.kind_of?(ScopedSearch::QueryLanguage::AST::LogicalOperatorNode) &&
19
- (operator.nil? || operator == node.operator)
20
- end
21
- end
9
+ RSpec::Matchers.define :be_logical_operator do |operator|
10
+ match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::LogicalOperatorNode) && (operator.nil? || operator == node.operator) }
11
+ end
22
12
 
23
- def be_leaf_node(value = nil)
24
- simple_matcher('node to be an logical operator') do |node|
25
- node.kind_of?(ScopedSearch::QueryLanguage::AST::LeafNode) && (value.nil? || value == node.value)
26
- end
27
- end
13
+ RSpec::Matchers.define :be_leaf_node do |value|
14
+ match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::LeafNode) && (value.nil? || value == node.value) }
15
+ end
28
16
 
29
- def tokenize_to(*tokens)
30
- simple_matcher("to tokenize to #{tokens.inspect}") do |string|
31
- tokens == ScopedSearch::QueryLanguage::Compiler.tokenize(string)
32
- end
33
- end
17
+ RSpec::Matchers.define :tokenize_to do |*tokens|
18
+ match { |str| tokens == ScopedSearch::QueryLanguage::Compiler.tokenize(str) }
19
+ end
34
20
 
35
- def parse_to(tree)
36
- simple_matcher("to parse to #{tree.inspect}") do |string|
37
- tree == ScopedSearch::QueryLanguage::Compiler.parse(string).to_a
38
- end
39
- end
21
+ RSpec::Matchers.define :parse_to do |tree|
22
+ match { |str| tree == ScopedSearch::QueryLanguage::Compiler.parse(str).to_a }
40
23
  end
data/spec/lib/mocks.rb CHANGED
@@ -1,4 +1,4 @@
1
- module ScopedSearch::Spec::Mocks
1
+ module ScopedSearch::RSpec::Mocks
2
2
 
3
3
  def tree(array)
4
4
  ScopedSearch::QueryLanguage::AST.from_array(array)
data/spec/spec_helper.rb CHANGED
@@ -1,19 +1,18 @@
1
1
  $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
 
3
3
  require 'rubygems'
4
- require 'spec'
4
+ require 'rspec'
5
5
  require 'active_record'
6
6
 
7
7
  require 'scoped_search'
8
8
 
9
- module ScopedSearch::Spec; end
9
+ module ScopedSearch::RSpec; end
10
10
 
11
11
  require "#{File.dirname(__FILE__)}/lib/matchers"
12
12
  require "#{File.dirname(__FILE__)}/lib/database"
13
13
  require "#{File.dirname(__FILE__)}/lib/mocks"
14
14
 
15
15
 
16
- Spec::Runner.configure do |config|
17
- config.include ScopedSearch::Spec::Matchers
18
- config.include ScopedSearch::Spec::Mocks
16
+ RSpec.configure do |config|
17
+ config.include ScopedSearch::RSpec::Mocks
19
18
  end
@@ -1,4 +1,4 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe ScopedSearch::QueryLanguage::AST do
4
4
 
@@ -1,4 +1,4 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe ScopedSearch::Definition do
4
4
 
@@ -1,4 +1,4 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe ScopedSearch::QueryLanguage::Parser do
4
4
 
@@ -1,4 +1,4 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe ScopedSearch::QueryBuilder do
4
4
 
@@ -1,4 +1,4 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe ScopedSearch::QueryLanguage::Tokenizer do
4
4
 
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'rake/tasklib'
4
4
  require 'date'
5
- require 'git'
5
+ require 'set'
6
6
 
7
7
  module GithubGem
8
8
 
@@ -24,7 +24,7 @@ module GithubGem
24
24
 
25
25
  class RakeTasks
26
26
 
27
- attr_reader :gemspec, :modified_files, :git
27
+ attr_reader :gemspec, :modified_files
28
28
  attr_accessor :gemspec_file, :task_namespace, :main_include, :root_dir, :spec_pattern, :test_pattern, :remote, :remote_branch, :local_branch
29
29
 
30
30
  # Initializes the settings, yields itself for configuration
@@ -33,7 +33,7 @@ module GithubGem
33
33
  @gemspec_file = GithubGem.detect_gemspec_file
34
34
  @task_namespace = task_namespace
35
35
  @main_include = GithubGem.detect_main_include
36
- @modified_files = []
36
+ @modified_files = Set.new
37
37
  @root_dir = Dir.pwd
38
38
  @test_pattern = 'test/**/*_test.rb'
39
39
  @spec_pattern = 'spec/**/*_spec.rb'
@@ -43,13 +43,16 @@ module GithubGem
43
43
 
44
44
  yield(self) if block_given?
45
45
 
46
- @git = Git.open(@root_dir)
47
46
  load_gemspec!
48
47
  define_tasks!
49
48
  end
50
49
 
51
50
  protected
52
51
 
52
+ def git
53
+ @git ||= ENV['GIT'] || 'git'
54
+ end
55
+
53
56
  # Define Unit test tasks
54
57
  def define_test_tasks!
55
58
  require 'rake/testtask'
@@ -68,23 +71,23 @@ module GithubGem
68
71
 
69
72
  # Defines RSpec tasks
70
73
  def define_rspec_tasks!
71
- require 'spec/rake/spectask'
74
+ require 'rspec/core/rake_task'
72
75
 
73
76
  namespace(:spec) do
74
77
  desc "Verify all RSpec examples for #{gemspec.name}"
75
- Spec::Rake::SpecTask.new(:basic) do |t|
76
- t.spec_files = FileList[spec_pattern]
78
+ RSpec::Core::RakeTask.new(:basic) do |t|
79
+ t.pattern = spec_pattern
77
80
  end
78
81
 
79
82
  desc "Verify all RSpec examples for #{gemspec.name} and output specdoc"
80
- Spec::Rake::SpecTask.new(:specdoc) do |t|
81
- t.spec_files = FileList[spec_pattern]
82
- t.spec_opts << '--format' << 'specdoc' << '--color'
83
+ RSpec::Core::RakeTask.new(:specdoc) do |t|
84
+ t.pattern = spec_pattern
85
+ t.rspec_opts = ['--format', 'documentation', '--color']
83
86
  end
84
87
 
85
88
  desc "Run RCov on specs for #{gemspec.name}"
86
- Spec::Rake::SpecTask.new(:rcov) do |t|
87
- t.spec_files = FileList[spec_pattern]
89
+ RSpec::Core::RakeTask.new(:rcov) do |t|
90
+ t.pattern = spec_pattern
88
91
  t.rcov = true
89
92
  t.rcov_opts = ['--exclude', '"spec/*,gems/*"', '--rails']
90
93
  end
@@ -134,8 +137,8 @@ module GithubGem
134
137
  desc "Release the next version of the gem, by incrementing the last version segment by 1"
135
138
  task(:next => [:next_version] + release_tasks) { release_task }
136
139
 
137
- desc "Release the next version of the gem, using a bump increment (0.0.1)"
138
- task(:bump => [:next_bump_version] + release_tasks) { release_task }
140
+ desc "Release the next version of the gem, using a patch increment (0.0.1)"
141
+ task(:patch => [:next_patch_version] + release_tasks) { release_task }
139
142
 
140
143
  desc "Release the next version of the gem, using a minor increment (0.1.0)"
141
144
  task(:minor => [:next_minor_version] + release_tasks) { release_task }
@@ -152,7 +155,7 @@ module GithubGem
152
155
  task(:commit_modified_files) { commit_modified_files_task }
153
156
 
154
157
  task(:next_version) { next_version_task }
155
- task(:next_bump_version) { next_version_task(:bump) }
158
+ task(:next_patch_version) { next_version_task(:patch) }
156
159
  task(:next_minor_version) { next_version_task(:minor) }
157
160
  task(:next_major_version) { next_version_task(:major) }
158
161
 
@@ -165,7 +168,7 @@ module GithubGem
165
168
  # in the repository and the spec/test file pattern.
166
169
  def manifest_task
167
170
  # Load all the gem's files using "git ls-files"
168
- repository_files = git.ls_files.keys
171
+ repository_files = `#{git} ls-files`.split("\n")
169
172
  test_files = Dir[test_pattern] + Dir[spec_pattern]
170
173
 
171
174
  update_gemspec(:files, repository_files)
@@ -180,14 +183,14 @@ module GithubGem
180
183
  end
181
184
 
182
185
  def newest_version
183
- git.tags.map { |tag| tag.name.split('-').last }.compact.map { |v| Gem::Version.new(v) }.max || Gem::Version.new('0.0.0')
186
+ `#{git} tag`.split("\n").map { |tag| tag.split('-').last }.compact.map { |v| Gem::Version.new(v) }.max || Gem::Version.new('0.0.0')
184
187
  end
185
188
 
186
189
  def next_version(increment = nil)
187
190
  next_version = newest_version.segments
188
191
  increment_index = case increment
189
192
  when :micro then 3
190
- when :bump then 2
193
+ when :patch then 2
191
194
  when :minor then 1
192
195
  when :major then 0
193
196
  else next_version.length - 1
@@ -217,72 +220,58 @@ module GithubGem
217
220
 
218
221
  def check_version_task
219
222
  raise "#{ENV['VERSION']} is not a valid version number!" if ENV['VERSION'] && !Gem::Version.correct?(ENV['VERSION'])
220
- proposed_version = Gem::Version.new(ENV['VERSION'] || gemspec.version)
223
+ proposed_version = Gem::Version.new(ENV['VERSION'].dup || gemspec.version)
221
224
  raise "This version (#{proposed_version}) is not higher than the highest tagged version (#{newest_version})" if newest_version >= proposed_version
222
225
  end
223
226
 
224
227
  # Checks whether the current branch is not diverged from the remote branch
225
228
  def check_not_diverged_task
226
- raise "The current branch is diverged from the remote branch!" if git.log.between('HEAD', git.remote(remote).branch(remote_branch).gcommit).any?
229
+ raise "The current branch is diverged from the remote branch!" if `#{git} rev-list HEAD..#{remote}/#{remote_branch}`.split("\n").any?
227
230
  end
228
231
 
229
232
  # Checks whether the repository status ic clean
230
233
  def check_clean_status_task
231
- raise "The current working copy contains modifications" if git.status.changed.any?
234
+ raise "The current working copy contains modifications" if `#{git} ls-files -m`.split("\n").any?
232
235
  end
233
236
 
234
237
  # Checks whether the current branch is correct
235
238
  def check_current_branch_task
236
- raise "Currently not on #{local_branch} branch!" unless git.branch.name == local_branch.to_s
239
+ raise "Currently not on #{local_branch} branch!" unless `#{git} branch`.split("\n").detect { |b| /^\* / =~ b } == "* #{local_branch}"
237
240
  end
238
241
 
239
242
  # Fetches the latest updates from Github
240
243
  def fetch_origin_task
241
- git.fetch('origin')
244
+ sh git, 'fetch', remote
242
245
  end
243
246
 
244
247
  # Commits every file that has been changed by the release task.
245
248
  def commit_modified_files_task
246
- if modified_files.any?
247
- modified_files.each { |file| git.add(file) }
248
- git.commit("Released #{gemspec.name} gem version #{gemspec.version}")
249
+ really_modified = `#{git} ls-files -m #{modified_files.entries.join(' ')}`.split("\n")
250
+ if really_modified.any?
251
+ really_modified.each { |file| sh git, 'add', file }
252
+ sh git, 'commit', '-m', "Released #{gemspec.name} gem version #{gemspec.version}."
249
253
  end
250
254
  end
251
255
 
252
256
  # Adds a tag for the released version
253
257
  def tag_version_task
254
- git.add_tag("#{gemspec.name}-#{gemspec.version}")
258
+ sh git, 'tag', '-a', "#{gemspec.name}-#{gemspec.version}", '-m', "Released #{gemspec.name} gem version #{gemspec.version}."
255
259
  end
256
260
 
257
261
  # Pushes the changes and tag to github
258
262
  def github_release_task
259
- git.push(remote, remote_branch, true)
263
+ sh git, 'push', '--tags', remote, remote_branch
260
264
  end
261
265
 
262
- # # Checks whether Rubyforge is configured properly
263
- # def check_rubyforge_task
264
- # # Login no longer necessary when using rubyforge 2.0.0 gem
265
- # # raise "Could not login on rubyforge!" unless `rubyforge login 2>&1`.strip.empty?
266
- # output = `rubyforge names`.split("\n")
267
- # raise "Rubyforge group not found!" unless output.any? { |line| %r[^groups\s*\:.*\b#{Regexp.quote(gemspec.rubyforge_project)}\b.*] =~ line }
268
- # raise "Rubyforge package not found!" unless output.any? { |line| %r[^packages\s*\:.*\b#{Regexp.quote(gemspec.name)}\b.*] =~ line }
269
- # end
270
-
271
- # # Task to release the .gem file toRubyforge.
272
- # def rubyforge_release_task
273
- # sh 'rubyforge', 'add_release', gemspec.rubyforge_project, gemspec.name, gemspec.version.to_s, "pkg/#{gemspec.name}-#{gemspec.version}.gem"
274
- # end
275
-
276
266
  def gemcutter_release_task
277
- sh "gem push pkg/#{gemspec.name}-#{gemspec.version}.gem"
267
+ sh "gem", 'push', "pkg/#{gemspec.name}-#{gemspec.version}.gem"
278
268
  end
279
269
 
280
270
  # Gem release task.
281
271
  # All work is done by the task's dependencies, so just display a release completed message.
282
272
  def release_task
283
273
  puts
284
- puts '------------------------------------------------------------'
285
- puts "Released #{gemspec.name} version #{gemspec.version}"
274
+ puts "Release successful."
286
275
  end
287
276
 
288
277
  private
@@ -342,6 +331,9 @@ module GithubGem
342
331
 
343
332
  # Reload the gemspec so the changes are incorporated
344
333
  load_gemspec!
334
+
335
+ # Also mark the Gemfile.lock file as changed because of the new version.
336
+ modified_files << 'Gemfile.lock' if File.exist?(File.join(root_dir, 'Gemfile.lock'))
345
337
  end
346
338
  end
347
339
 
@@ -357,15 +349,13 @@ module GithubGem
357
349
  open(__FILE__, "w") { |file| file.write(response.body) }
358
350
  end
359
351
 
360
- relative_file = File.expand_path(__FILE__).sub(%r[^#{git.dir.path}/], '')
361
- if git.status[relative_file] && git.status[relative_file].type == 'M'
362
- git.add(relative_file)
363
- git.commit("Updated to latest gem release management tasks.")
364
- puts "Updated to latest version of gem release management tasks."
352
+ relative_file = File.expand_path(__FILE__).sub(%r[^#{@root_dir}/], '')
353
+ if `#{git} ls-files -m #{relative_file}`.split("\n").any?
354
+ sh git, 'add', relative_file
355
+ sh git, 'commit', '-m', "Updated to latest gem release management tasks."
365
356
  else
366
357
  puts "Release managament tasks already are at the latest version."
367
358
  end
368
359
  end
369
-
370
360
  end
371
361
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scoped_search
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 5
4
5
  prerelease: false
5
6
  segments:
6
7
  - 2
7
8
  - 2
8
- - 0
9
- version: 2.2.0
9
+ - 1
10
+ version: 2.2.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Willem van Bergen
@@ -15,16 +16,18 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-05-26 00:00:00 +02:00
19
+ date: 2010-11-09 00:00:00 +01:00
19
20
  default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
23
  name: activerecord
23
24
  prerelease: false
24
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
25
27
  requirements:
26
28
  - - ">="
27
29
  - !ruby/object:Gem::Version
30
+ hash: 11
28
31
  segments:
29
32
  - 2
30
33
  - 1
@@ -36,17 +39,18 @@ dependencies:
36
39
  name: rspec
37
40
  prerelease: false
38
41
  requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
39
43
  requirements:
40
- - - ">="
44
+ - - ~>
41
45
  - !ruby/object:Gem::Version
46
+ hash: 3
42
47
  segments:
43
- - 1
44
- - 1
45
- - 4
46
- version: 1.1.4
48
+ - 2
49
+ - 0
50
+ version: "2.0"
47
51
  type: :development
48
52
  version_requirements: *id002
49
- description: " Scoped search makes it easy to search your ActiveRecord-based models.\n It will create a named scope :search_for that can be called with a query string. It will build an SQL query using\n the provided query string and a definition that specifies on what fields to search. Because the functionality is\n built on named_scope, the result of the search_for call can be used like any other named_scope, so it can be\n chained with another scope or combined with will_paginate.\"\n"
53
+ description: " Scoped search makes it easy to search your ActiveRecord-based models.\n \n It will create a named scope :search_for that can be called with a query string. It will build an SQL query using\n the provided query string and a definition that specifies on what fields to search. Because the functionality is\n built on named_scope, the result of the search_for call can be used like any other named_scope, so it can be\n chained with another scope or combined with will_paginate.\n \n Because it uses standard SQL, it does not require any setup, indexers or daemons. This makes scoped_search\n suitable to quickly add basic search functionality to your application with little hassle. On the other hand,\n it may not be the best choice if it is going to be used on very large datasets or by a large user base.\n"
50
54
  email:
51
55
  - willem@railsdoctors.com
52
56
  - weshays@gbdev.com
@@ -57,37 +61,37 @@ extensions: []
57
61
  extra_rdoc_files:
58
62
  - README.rdoc
59
63
  files:
60
- - spec/spec_helper.rb
61
- - spec/integration/string_querying_spec.rb
62
- - lib/scoped_search/definition.rb
63
- - spec/lib/mocks.rb
64
- - scoped_search.gemspec
65
- - lib/scoped_search/query_language/parser.rb
66
- - spec/lib/matchers.rb
67
64
  - .gitignore
68
65
  - LICENSE
69
- - spec/unit/ast_spec.rb
70
- - spec/database.yml
71
- - init.rb
66
+ - README.rdoc
72
67
  - Rakefile
73
- - spec/unit/tokenizer_spec.rb
74
- - spec/unit/parser_spec.rb
75
- - spec/integration/api_spec.rb
76
- - lib/scoped_search/query_language/ast.rb
77
- - lib/scoped_search/query_language.rb
68
+ - init.rb
69
+ - lib/scoped_search.rb
70
+ - lib/scoped_search/definition.rb
78
71
  - lib/scoped_search/query_builder.rb
79
- - README.rdoc
80
- - spec/unit/definition_spec.rb
81
- - spec/lib/database.rb
72
+ - lib/scoped_search/query_language.rb
73
+ - lib/scoped_search/query_language/ast.rb
74
+ - lib/scoped_search/query_language/parser.rb
75
+ - lib/scoped_search/query_language/tokenizer.rb
76
+ - scoped_search.gemspec
77
+ - spec/database.yml
78
+ - spec/integration/api_spec.rb
79
+ - spec/integration/ordinal_querying_spec.rb
82
80
  - spec/integration/profile_querying_spec.rb
83
- - tasks/github-gem.rake
84
- - spec/unit/query_builder_spec.rb
85
- - lib/scoped_search.rb
86
81
  - spec/integration/relation_querying_spec.rb
87
- - spec/integration/ordinal_querying_spec.rb
88
- - lib/scoped_search/query_language/tokenizer.rb
82
+ - spec/integration/string_querying_spec.rb
83
+ - spec/lib/database.rb
84
+ - spec/lib/matchers.rb
85
+ - spec/lib/mocks.rb
86
+ - spec/spec_helper.rb
87
+ - spec/unit/ast_spec.rb
88
+ - spec/unit/definition_spec.rb
89
+ - spec/unit/parser_spec.rb
90
+ - spec/unit/query_builder_spec.rb
91
+ - spec/unit/tokenizer_spec.rb
92
+ - tasks/github-gem.rake
89
93
  has_rdoc: true
90
- homepage: http://wiki.github.com/wvanbergen/scoped_search
94
+ homepage: http://github.com/wvanbergen/scoped_search/wiki
91
95
  licenses: []
92
96
 
93
97
  post_install_message:
@@ -101,34 +105,38 @@ rdoc_options:
101
105
  require_paths:
102
106
  - lib
103
107
  required_ruby_version: !ruby/object:Gem::Requirement
108
+ none: false
104
109
  requirements:
105
110
  - - ">="
106
111
  - !ruby/object:Gem::Version
112
+ hash: 3
107
113
  segments:
108
114
  - 0
109
115
  version: "0"
110
116
  required_rubygems_version: !ruby/object:Gem::Requirement
117
+ none: false
111
118
  requirements:
112
119
  - - ">="
113
120
  - !ruby/object:Gem::Version
121
+ hash: 3
114
122
  segments:
115
123
  - 0
116
124
  version: "0"
117
125
  requirements: []
118
126
 
119
127
  rubyforge_project:
120
- rubygems_version: 1.3.6
128
+ rubygems_version: 1.3.7
121
129
  signing_key:
122
130
  specification_version: 3
123
131
  summary: Easily search you ActiveRecord models with a simple query language using a named scope.
124
132
  test_files:
133
+ - spec/integration/api_spec.rb
134
+ - spec/integration/ordinal_querying_spec.rb
135
+ - spec/integration/profile_querying_spec.rb
136
+ - spec/integration/relation_querying_spec.rb
125
137
  - spec/integration/string_querying_spec.rb
126
138
  - spec/unit/ast_spec.rb
127
- - spec/unit/tokenizer_spec.rb
128
- - spec/unit/parser_spec.rb
129
- - spec/integration/api_spec.rb
130
139
  - spec/unit/definition_spec.rb
131
- - spec/integration/profile_querying_spec.rb
140
+ - spec/unit/parser_spec.rb
132
141
  - spec/unit/query_builder_spec.rb
133
- - spec/integration/relation_querying_spec.rb
134
- - spec/integration/ordinal_querying_spec.rb
142
+ - spec/unit/tokenizer_spec.rb