ts-xml 1.0.2 → 1.0.3
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.
- data/README.textile +7 -1
 - data/TODO +15 -0
 - data/lib/thinking_sphinx/xml.rb +2 -0
 - data/lib/thinking_sphinx/xml/adapters/oracle_adapter.rb +1 -1
 - data/lib/thinking_sphinx/xml/adapters/sqlite3_adapter.rb +1 -1
 - data/lib/thinking_sphinx/xml/source.rb +10 -0
 - data/lib/thinking_sphinx/xml/tasks.rb +1 -2
 - metadata +9 -7
 - data/spec/cucumber_env.rb +0 -22
 
    
        data/README.textile
    CHANGED
    
    | 
         @@ -15,16 +15,22 @@ In your @environment.rb@ file, with the rest of your gem dependencies: 
     | 
|
| 
       15 
15 
     | 
    
         
             
            And add the following lines to the bottom of your @Rakefile@:
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            <pre><code>begin
         
     | 
| 
      
 18 
     | 
    
         
            +
              require 'thinking_sphinx'
         
     | 
| 
       18 
19 
     | 
    
         
             
              require 'thinking_sphinx/tasks'
         
     | 
| 
      
 20 
     | 
    
         
            +
              require 'thinking_sphinx/xml'
         
     | 
| 
       19 
21 
     | 
    
         
             
              require 'thinking_sphinx/xml/tasks'
         
     | 
| 
       20 
22 
     | 
    
         
             
            rescue LoadError
         
     | 
| 
       21 
     | 
    
         
            -
              puts  
     | 
| 
      
 23 
     | 
    
         
            +
              puts 'Cannot load thinking sphinx tasks'
         
     | 
| 
       22 
24 
     | 
    
         
             
            end</code></pre>
         
     | 
| 
       23 
25 
     | 
    
         | 
| 
       24 
26 
     | 
    
         
             
            h2. Usage
         
     | 
| 
       25 
27 
     | 
    
         | 
| 
       26 
28 
     | 
    
         
             
            Just add those lines and it will use xmlpipe2 data source instead of SQL data source.
         
     | 
| 
       27 
29 
     | 
    
         | 
| 
      
 30 
     | 
    
         
            +
            h2. Limitations
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            Oracle CLOB data types are not supported and indexed fields are trimmed to 4000 bytes.
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
       28 
34 
     | 
    
         
             
            h2. Copyright
         
     | 
| 
       29 
35 
     | 
    
         | 
| 
       30 
36 
     | 
    
         
             
            Copyright (c) 2010 Edgars Beigarts, and released under an MIT Licence.
         
     | 
    
        data/TODO
    ADDED
    
    | 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = TODO
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Fix tag_ids
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            = Oracle vs ts-xml
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ts-xml:
         
     | 
| 
      
 8 
     | 
    
         
            +
            - pagaidām neatbalsta clob
         
     | 
| 
      
 9 
     | 
    
         
            +
            - 4000 baitu limits uz laukiem
         
     | 
| 
      
 10 
     | 
    
         
            +
            + var meklēt caur daudziem indeksiem
         
     | 
| 
      
 11 
     | 
    
         
            +
            + var indeksēt dajebko caur xml
         
     | 
| 
      
 12 
     | 
    
         
            +
            + var viegli nomapot Ā uz A utt
         
     | 
| 
      
 13 
     | 
    
         
            +
            + morphology, stemming
         
     | 
| 
      
 14 
     | 
    
         
            +
            + facets
         
     | 
| 
      
 15 
     | 
    
         
            +
            + 
         
     | 
    
        data/lib/thinking_sphinx/xml.rb
    CHANGED
    
    
| 
         @@ -14,7 +14,7 @@ module ThinkingSphinx 
     | 
|
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                def group_concatenate(clause, separator = ' ')
         
     | 
| 
       17 
     | 
    
         
            -
                  "TO_STRING(CAST(COLLECT(TO_CHAR(#{clause})) AS SYS.ODCIVARCHAR2LIST), '#{separator}')"
         
     | 
| 
      
 17 
     | 
    
         
            +
                  "TO_STRING(CAST(COLLECT(DISTINCT TO_CHAR(#{clause})) AS SYS.ODCIVARCHAR2LIST), '#{separator}')"
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                def cast_to_string(clause)
         
     | 
| 
         @@ -1,5 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module ThinkingSphinx
         
     | 
| 
       2 
2 
     | 
    
         
             
              class Source
         
     | 
| 
      
 3 
     | 
    
         
            +
                def initialize_with_oracle_database_configuration(index, options = {})
         
     | 
| 
      
 4 
     | 
    
         
            +
                  connection = index.model.connection
         
     | 
| 
      
 5 
     | 
    
         
            +
                  if connection.class.name == "ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter"
         
     | 
| 
      
 6 
     | 
    
         
            +
                    connection.instance_variable_set(:@config, connection.raw_connection.instance_variable_get(:@config))
         
     | 
| 
      
 7 
     | 
    
         
            +
                  end
         
     | 
| 
      
 8 
     | 
    
         
            +
                  initialize_without_oracle_database_configuration(index, options)
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
                
         
     | 
| 
      
 11 
     | 
    
         
            +
                alias_method_chain :initialize, :oracle_database_configuration
         
     | 
| 
      
 12 
     | 
    
         
            +
                
         
     | 
| 
       3 
13 
     | 
    
         
             
                def to_riddle_for_core(offset, position)
         
     | 
| 
       4 
14 
     | 
    
         
             
                  source = Riddle::Configuration::XMLSource.new(
         
     | 
| 
       5 
15 
     | 
    
         
             
                    "#{index.core_name}_#{position}", "xmlpipe2"
         
     | 
| 
         @@ -11,7 +11,6 @@ namespace :thinking_sphinx do 
     | 
|
| 
       11 
11 
     | 
    
         
             
                ensure
         
     | 
| 
       12 
12 
     | 
    
         
             
                  STDOUT.reopen(_stdout)
         
     | 
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
     | 
    
         
            -
                require 'thinking_sphinx'
         
     | 
| 
       15 
14 
     | 
    
         
             
                require 'thinking_sphinx/xml'
         
     | 
| 
       16 
15 
     | 
    
         
             
                # ThinkingSphinx::Configuration.instance.load_models
         
     | 
| 
       17 
16 
     | 
    
         
             
                source_name = ENV["NAME"]
         
     | 
| 
         @@ -56,7 +55,7 @@ namespace :thinking_sphinx do 
     | 
|
| 
       56 
55 
     | 
    
         
             
                    # STDERR.puts attribute
         
     | 
| 
       57 
56 
     | 
    
         
             
                    case attribute && attribute.type
         
     | 
| 
       58 
57 
     | 
    
         
             
                    when :boolean
         
     | 
| 
       59 
     | 
    
         
            -
                      v = ['Y', 'T', '1', 1, true].include?(v) ? 1 : 0
         
     | 
| 
      
 58 
     | 
    
         
            +
                      v = ['Y', 'T', 't', '1', 1, true].include?(v) ? 1 : 0
         
     | 
| 
       60 
59 
     | 
    
         
             
                    when :integer, :datetime
         
     | 
| 
       61 
60 
     | 
    
         
             
                      v = v.to_i
         
     | 
| 
       62 
61 
     | 
    
         
             
                    when :float
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 1
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 1.0. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 3
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 1.0.3
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Edgars Beigarts
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2010- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-03-18 00:00:00 +02:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -69,7 +69,7 @@ dependencies: 
     | 
|
| 
       69 
69 
     | 
    
         
             
                    version: "0"
         
     | 
| 
       70 
70 
     | 
    
         
             
              type: :development
         
     | 
| 
       71 
71 
     | 
    
         
             
              version_requirements: *id004
         
     | 
| 
       72 
     | 
    
         
            -
            description:  
     | 
| 
      
 72 
     | 
    
         
            +
            description: Thinking Sphinx plugin for xmlpipe2 data sources (Oracle, SQLite3, ...)
         
     | 
| 
       73 
73 
     | 
    
         
             
            email: 1@wb4.lv
         
     | 
| 
       74 
74 
     | 
    
         
             
            executables: []
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
         @@ -78,6 +78,7 @@ extensions: [] 
     | 
|
| 
       78 
78 
     | 
    
         
             
            extra_rdoc_files: 
         
     | 
| 
       79 
79 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       80 
80 
     | 
    
         
             
            - README.textile
         
     | 
| 
      
 81 
     | 
    
         
            +
            - TODO
         
     | 
| 
       81 
82 
     | 
    
         
             
            files: 
         
     | 
| 
       82 
83 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       83 
84 
     | 
    
         
             
            - README.textile
         
     | 
| 
         @@ -87,6 +88,7 @@ files: 
     | 
|
| 
       87 
88 
     | 
    
         
             
            - lib/thinking_sphinx/xml/adapters/sqlite3_adapter.rb
         
     | 
| 
       88 
89 
     | 
    
         
             
            - lib/thinking_sphinx/xml/source.rb
         
     | 
| 
       89 
90 
     | 
    
         
             
            - lib/thinking_sphinx/xml/tasks.rb
         
     | 
| 
      
 91 
     | 
    
         
            +
            - TODO
         
     | 
| 
       90 
92 
     | 
    
         
             
            has_rdoc: true
         
     | 
| 
       91 
93 
     | 
    
         
             
            homepage: http://github.com/ebeigarts/ts-xml
         
     | 
| 
       92 
94 
     | 
    
         
             
            licenses: []
         
     | 
| 
         @@ -116,6 +118,6 @@ rubyforge_project: 
     | 
|
| 
       116 
118 
     | 
    
         
             
            rubygems_version: 1.3.6
         
     | 
| 
       117 
119 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       118 
120 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       119 
     | 
    
         
            -
            summary: Thinking Sphinx  
     | 
| 
       120 
     | 
    
         
            -
            test_files: 
         
     | 
| 
       121 
     | 
    
         
            -
             
     | 
| 
      
 121 
     | 
    
         
            +
            summary: Thinking Sphinx + XML
         
     | 
| 
      
 122 
     | 
    
         
            +
            test_files: []
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
    
        data/spec/cucumber_env.rb
    DELETED
    
    | 
         @@ -1,22 +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 
     | 
    
         
            -
            require "thinking_sphinx/xml"
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
            world.setup
         
     |