ts-xml 0.0.1 → 1.0.2

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.
Files changed (86) hide show
  1. data/LICENSE +1 -1
  2. data/README.textile +9 -9
  3. data/lib/thinking_sphinx/xml/adapters/oracle_adapter.rb +5 -2
  4. data/lib/thinking_sphinx/xml/tasks.rb +12 -4
  5. metadata +40 -102
  6. data/features/alternate_primary_key.feature +0 -27
  7. data/features/attribute_transformation.feature +0 -22
  8. data/features/attribute_updates.feature +0 -39
  9. data/features/deleting_instances.feature +0 -67
  10. data/features/direct_attributes.feature +0 -11
  11. data/features/excerpts.feature +0 -13
  12. data/features/extensible_delta_indexing.feature +0 -9
  13. data/features/facets.feature +0 -82
  14. data/features/facets_across_model.feature +0 -29
  15. data/features/handling_edits.feature +0 -92
  16. data/features/retry_stale_indexes.feature +0 -24
  17. data/features/searching_across_models.feature +0 -20
  18. data/features/searching_by_index.feature +0 -40
  19. data/features/searching_by_model.feature +0 -175
  20. data/features/searching_with_find_arguments.feature +0 -56
  21. data/features/sphinx_detection.feature +0 -25
  22. data/features/sphinx_scopes.feature +0 -42
  23. data/features/step_definitions/alpha_steps.rb +0 -7
  24. data/features/step_definitions/beta_steps.rb +0 -7
  25. data/features/step_definitions/common_steps.rb +0 -188
  26. data/features/step_definitions/extensible_delta_indexing_steps.rb +0 -7
  27. data/features/step_definitions/facet_steps.rb +0 -96
  28. data/features/step_definitions/find_arguments_steps.rb +0 -36
  29. data/features/step_definitions/gamma_steps.rb +0 -15
  30. data/features/step_definitions/scope_steps.rb +0 -15
  31. data/features/step_definitions/search_steps.rb +0 -89
  32. data/features/step_definitions/sphinx_steps.rb +0 -35
  33. data/features/sti_searching.feature +0 -19
  34. data/features/support/database.example.yml +0 -3
  35. data/features/support/db/fixtures/alphas.rb +0 -10
  36. data/features/support/db/fixtures/authors.rb +0 -1
  37. data/features/support/db/fixtures/betas.rb +0 -10
  38. data/features/support/db/fixtures/boxes.rb +0 -9
  39. data/features/support/db/fixtures/categories.rb +0 -1
  40. data/features/support/db/fixtures/cats.rb +0 -3
  41. data/features/support/db/fixtures/comments.rb +0 -24
  42. data/features/support/db/fixtures/developers.rb +0 -29
  43. data/features/support/db/fixtures/dogs.rb +0 -3
  44. data/features/support/db/fixtures/extensible_betas.rb +0 -10
  45. data/features/support/db/fixtures/foxes.rb +0 -3
  46. data/features/support/db/fixtures/gammas.rb +0 -10
  47. data/features/support/db/fixtures/people.rb +0 -1001
  48. data/features/support/db/fixtures/posts.rb +0 -6
  49. data/features/support/db/fixtures/robots.rb +0 -14
  50. data/features/support/db/fixtures/tags.rb +0 -27
  51. data/features/support/db/migrations/create_alphas.rb +0 -7
  52. data/features/support/db/migrations/create_animals.rb +0 -5
  53. data/features/support/db/migrations/create_authors.rb +0 -3
  54. data/features/support/db/migrations/create_authors_posts.rb +0 -6
  55. data/features/support/db/migrations/create_betas.rb +0 -5
  56. data/features/support/db/migrations/create_boxes.rb +0 -5
  57. data/features/support/db/migrations/create_categories.rb +0 -3
  58. data/features/support/db/migrations/create_comments.rb +0 -10
  59. data/features/support/db/migrations/create_developers.rb +0 -9
  60. data/features/support/db/migrations/create_extensible_betas.rb +0 -5
  61. data/features/support/db/migrations/create_gammas.rb +0 -3
  62. data/features/support/db/migrations/create_people.rb +0 -13
  63. data/features/support/db/migrations/create_posts.rb +0 -5
  64. data/features/support/db/migrations/create_robots.rb +0 -4
  65. data/features/support/db/migrations/create_taggings.rb +0 -5
  66. data/features/support/db/migrations/create_tags.rb +0 -4
  67. data/features/support/env.rb +0 -21
  68. data/features/support/lib/generic_delta_handler.rb +0 -8
  69. data/features/support/models/alpha.rb +0 -21
  70. data/features/support/models/animal.rb +0 -5
  71. data/features/support/models/author.rb +0 -3
  72. data/features/support/models/beta.rb +0 -8
  73. data/features/support/models/box.rb +0 -8
  74. data/features/support/models/cat.rb +0 -3
  75. data/features/support/models/category.rb +0 -4
  76. data/features/support/models/comment.rb +0 -10
  77. data/features/support/models/developer.rb +0 -16
  78. data/features/support/models/dog.rb +0 -3
  79. data/features/support/models/extensible_beta.rb +0 -9
  80. data/features/support/models/fox.rb +0 -5
  81. data/features/support/models/gamma.rb +0 -5
  82. data/features/support/models/person.rb +0 -23
  83. data/features/support/models/post.rb +0 -21
  84. data/features/support/models/robot.rb +0 -12
  85. data/features/support/models/tag.rb +0 -3
  86. data/features/support/models/tagging.rb +0 -4
@@ -1,6 +0,0 @@
1
- post = Post.create(
2
- :subject => "Hello World", :content => "Um Text", :id => 1, :category_id => 1
3
- )
4
-
5
- post.authors << Author.find(:first)
6
- post.save
@@ -1,14 +0,0 @@
1
- # Reset the primary key to allow us to create robots with specific internal_ids
2
- class Robot < ActiveRecord::Base
3
- set_primary_key :alternate_primary_key
4
- end
5
-
6
- Robot.create :name => 'Fritz', :internal_id => 'F0001'
7
- Robot.create :name => 'Sizzle', :internal_id => 'S0001'
8
- Robot.create :name => 'Sizzle Jr.', :internal_id => 'S0002'
9
- Robot.create :name => 'Expendable', :internal_id => 'E0001'
10
-
11
- # Annnnnnnnnnd we're back
12
- class Robot < ActiveRecord::Base
13
- set_primary_key :internal_id
14
- end
@@ -1,27 +0,0 @@
1
- post = Post.find(1)
2
-
3
- [
4
- 'Nunc in neque. Integer sed odio ac quam pellentesque suscipit. Cras posuere posuere est. Suspendisse est.',
5
- 'In hac habitasse platea dictumst. Etiam eleifend est ac diam. Ut ac felis sit amet mi bibendum varius.',
6
- 'Nullam sollicitudin tellus at ipsum. Duis mi eros, blandit sed, condimentum non, mattis vel, orci.',
7
- 'Praesent auctor mollis leo. Nulla facilisi. Pellentesque habitant morbi tristique senectus et netus et',
8
- 'malesuada fames ac turpis egestas. Donec non odio. Maecenas varius elit ut ante. Phasellus egestas, quam',
9
- 'a congue euismod, diam urna gravida risus, at euismod lectus diam id sem. Vestibulum sed dolor et massa',
10
- 'porta placerat. Etiam eget risus. Sed ornare. Vivamus in sapien. Maecenas non enim nec metus posuere',
11
- 'vehicula. Donec rhoncus mauris at metus. Curabitur volutpat massa a metus. Aliquam ornare, neque ut',
12
- 'tristique convallis, libero orci eleifend nibh, ac porta leo felis sed orci. Lorem ipsum dolor sit amet,',
13
- 'Waffles' # This one is important, whereas the others are just padding
14
- ].each do |text|
15
- Tagging.create :taggable => post, :tag => Tag.create(:text => text)
16
- end
17
-
18
- Developer.find(:all).each do |developer|
19
- [:country, :city, :state].each do |column|
20
- Tagging.create(
21
- :taggable => developer,
22
- :tag => Tag.find_or_create_by_text(developer.send(column))
23
- )
24
- end
25
- end
26
-
27
- Tagging.create(:taggable => Developer.find(:all).last)
@@ -1,7 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :alphas, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- t.column :value, :integer, :null => false
4
- t.column :cost, :decimal, :precision => 10, :scale => 6
5
- t.column :created_on, :date
6
- t.column :created_at, :timestamp
7
- end
@@ -1,5 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :animals, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- t.column :type, :string
4
- t.column :delta, :boolean, :null => false, :default => false
5
- end
@@ -1,3 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :authors, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- end
@@ -1,6 +0,0 @@
1
- ActiveRecord::Base.connection.create_table(
2
- :authors_posts, :force => true, :id => false
3
- ) do |t|
4
- t.column :author_id, :integer, :null => false
5
- t.column :post_id, :integer, :null => false
6
- end
@@ -1,5 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :betas, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- t.column :value, :integer, :null => false
4
- t.column :delta, :boolean, :null => false, :default => false
5
- end
@@ -1,5 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :boxes, :force => true do |t|
2
- t.column :width, :integer, :null => false
3
- t.column :length, :integer, :null => false
4
- t.column :depth, :integer
5
- end
@@ -1,3 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :categories, :force => true do |t|
2
- t.column :name, :string
3
- end
@@ -1,10 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :comments, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- t.column :email, :string
4
- t.column :url, :string
5
- t.column :content, :text
6
- t.column :post_id, :integer, :null => false
7
- t.column :category_id, :integer, :null => false
8
- t.column :created_at, :datetime
9
- t.column :updated_at, :datetime
10
- end
@@ -1,9 +0,0 @@
1
- require 'faker'
2
-
3
- ActiveRecord::Base.connection.create_table :developers, :force => true do |t|
4
- t.column :name, :string, :null => false
5
- t.column :city, :string
6
- t.column :state, :string
7
- t.column :country, :string
8
- t.column :age, :integer
9
- end
@@ -1,5 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :extensible_betas, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- t.column :delta, :boolean, :null => false, :default => false
4
- t.column :changed_by_generic, :boolean, :null => false, :default => false
5
- end
@@ -1,3 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :gammas, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- end
@@ -1,13 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :people, :force => true do |t|
2
- t.column :first_name, :string
3
- t.column :middle_initial, :string
4
- t.column :last_name, :string
5
- t.column :gender, :string
6
- t.column :street_address, :string
7
- t.column :city, :string
8
- t.column :state, :string
9
- t.column :postcode, :string
10
- t.column :email, :string
11
- t.column :birthday, :datetime
12
- t.column :delta, :boolean, :null => false, :default => false
13
- end
@@ -1,5 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :posts, :force => true do |t|
2
- t.column :subject, :string, :null => false
3
- t.column :content, :text
4
- t.column :category_id, :integer, :null => false
5
- end
@@ -1,4 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :robots, :primary_key => :alternate_primary_key, :force => true do |t|
2
- t.column :name, :string, :null => false
3
- t.column :internal_id, :string, :null => false
4
- end
@@ -1,5 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :taggings, :force => true do |t|
2
- t.column :tag_id, :integer
3
- t.column :taggable_id, :integer, :null => false
4
- t.column :taggable_type, :string, :null => false
5
- end
@@ -1,4 +0,0 @@
1
- ActiveRecord::Base.connection.create_table :tags, :force => true do |t|
2
- # t.column :post_id, :integer, :null => false
3
- t.column :text, :text, :null => true
4
- end
@@ -1,21 +0,0 @@
1
- require 'rubygems'
2
- require 'cucumber'
3
- require 'spec'
4
- require 'fileutils'
5
- require 'ginger'
6
- require 'will_paginate'
7
- require 'active_record'
8
-
9
- $:.unshift File.dirname(__FILE__) + '/../../lib'
10
- Dir[File.join(File.dirname(__FILE__), '../../vendor/*/lib')].each do |path|
11
- $:.unshift path
12
- end
13
-
14
- require 'cucumber/thinking_sphinx/internal_world'
15
-
16
- world = Cucumber::ThinkingSphinx::InternalWorld.new
17
- world.configure_database
18
-
19
- require "thinking_sphinx"
20
-
21
- world.setup
@@ -1,8 +0,0 @@
1
- class GenericDeltaHandler < ThinkingSphinx::Deltas::DefaultDelta
2
-
3
- def index(model, instance = nil)
4
- #do nothing but set a bit for every record
5
- #this is just a demonstration of extensibility
6
- model.update_all(:changed_by_generic => true)
7
- end
8
- end
@@ -1,21 +0,0 @@
1
- class Alpha < ActiveRecord::Base
2
- define_index do
3
- indexes :name, :sortable => true
4
-
5
- has value, created_at, created_on
6
- has cost, :facet => true
7
-
8
- set_property :field_weights => {"name" => 10}
9
- end
10
-
11
- define_index 'alternative' do
12
- indexes :name, :as => :alternative_name, :sortable => true
13
-
14
- has value, created_at, created_on
15
- has cost, :facet => true
16
-
17
- set_property :field_weights => {'alternative_name' => 10}
18
-
19
- where "value > 3"
20
- end
21
- end
@@ -1,5 +0,0 @@
1
- class Animal < ActiveRecord::Base
2
- define_index do
3
- indexes name, :sortable => true
4
- end
5
- end
@@ -1,3 +0,0 @@
1
- class Author < ActiveRecord::Base
2
- #
3
- end
@@ -1,8 +0,0 @@
1
- class Beta < ActiveRecord::Base
2
- define_index do
3
- indexes :name, :sortable => true
4
- has value
5
-
6
- set_property :delta => true
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- class Box < ActiveRecord::Base
2
- define_index do
3
- indexes width, :as => :width_field
4
-
5
- has width, length, depth
6
- has [width, length, depth], :as => :dimensions
7
- end
8
- end
@@ -1,3 +0,0 @@
1
- class Cat < Animal
2
- #
3
- end
@@ -1,4 +0,0 @@
1
- class Category < ActiveRecord::Base
2
- has_many :posts
3
- has_many :comments
4
- end
@@ -1,10 +0,0 @@
1
- class Comment < ActiveRecord::Base
2
- define_index do
3
- indexes :content
4
-
5
- has category.name, :facet => true, :as => :category_name, :type => :string
6
- end
7
-
8
- belongs_to :post
9
- belongs_to :category
10
- end
@@ -1,16 +0,0 @@
1
- require 'features/support/models/tag'
2
- require 'features/support/models/tagging'
3
-
4
- class Developer < ActiveRecord::Base
5
- has_many :taggings, :as => :taggable
6
- has_many :tags, :through => :taggings
7
-
8
- define_index do
9
- indexes country, :facet => true
10
- indexes state, :facet => true
11
- indexes tags.text, :as => :tags, :facet => true
12
- has age, :facet => true
13
- has tags(:id), :as => :tag_ids, :facet => true
14
- facet city
15
- end
16
- end
@@ -1,3 +0,0 @@
1
- class Dog < Animal
2
- #
3
- end
@@ -1,9 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "generic_delta_handler")
2
-
3
- class ExtensibleBeta < ActiveRecord::Base
4
- define_index do
5
- indexes :name, :sortable => true
6
-
7
- set_property :delta => "GenericDeltaHandler"
8
- end
9
- end
@@ -1,5 +0,0 @@
1
- class Fox < Animal
2
- define_index do
3
- indexes :name
4
- end
5
- end
@@ -1,5 +0,0 @@
1
- class Gamma < ActiveRecord::Base
2
- define_index do
3
- indexes :name, :sortable => true
4
- end
5
- end
@@ -1,23 +0,0 @@
1
- class Person < ActiveRecord::Base
2
- define_index do
3
- indexes first_name, last_name, :sortable => true
4
-
5
- has [first_name, middle_initial, last_name], :as => :name_sort
6
- has birthday
7
- has gender, :facet => true
8
-
9
- set_property :min_infix_len => 1
10
- set_property :enable_star => true
11
- end
12
-
13
- sphinx_scope(:with_first_name) { |name|
14
- { :conditions => {:first_name => name} }
15
- }
16
- sphinx_scope(:with_last_name) { |name|
17
- { :conditions => {:last_name => name} }
18
- }
19
- sphinx_scope(:with_id) { |id|
20
- { :with => {:sphinx_internal_id => id} }
21
- }
22
- sphinx_scope(:ids_only) { {:ids_only => true} }
23
- end
@@ -1,21 +0,0 @@
1
- class Post < ActiveRecord::Base
2
- has_many :comments, :dependent => :destroy
3
- has_many :taggings, :as => :taggable
4
- has_many :tags, :through => :taggings
5
- belongs_to :category
6
- has_and_belongs_to_many :authors
7
-
8
- define_index do
9
- indexes subject
10
- indexes content
11
- indexes tags.text, :as => :tags
12
- indexes comments.content, :as => :comments
13
- indexes authors.name, :as => :authors
14
-
15
- has comments(:id), :as => :comment_ids, :source => :ranged_query,
16
- :facet => true
17
- has category.name, :facet => true, :as => :category_name, :type => :string
18
- has 'COUNT(DISTINCT comments.id)', :as => :comments_count, :type => :integer
19
- has comments.created_at, :as => :comments_created_at
20
- end
21
- end
@@ -1,12 +0,0 @@
1
- class Robot < ActiveRecord::Base
2
- set_primary_key :internal_id
3
- set_sphinx_primary_key :alternate_primary_key
4
-
5
- define_index do
6
- indexes :name
7
- end
8
-
9
- def id
10
- internal_id
11
- end
12
- end
@@ -1,3 +0,0 @@
1
- class Tag < ActiveRecord::Base
2
- belongs_to :post
3
- end
@@ -1,4 +0,0 @@
1
- class Tagging < ActiveRecord::Base
2
- belongs_to :tag
3
- belongs_to :taggable, :polymorphic => true
4
- end