Sha256: 866c50ba45f8ef85fe43b0739a2abd96da74a39f7e43c8552519e9d75f10d835

Contents?: true

Size: 673 Bytes

Versions: 17

Compression:

Stored size: 673 Bytes

Contents

# frozen_string_literal: true

class ThinkingSphinx::ActiveRecord::Column
  def initialize(*stack)
    @stack = stack
    @name  = stack.pop
  end

  def __name
    @name
  end

  def __path
    @stack + [@name]
  end

  def __replace(stack, replacements)
    return [self] if string? || __stack[0..stack.length-1] != stack

    replacements.collect { |replacement|
      self.class.new *(replacement + __stack[stack.length..-1]), __name
    }
  end

  def __stack
    @stack
  end

  def string?
    __name.is_a?(String)
  end

  def to_ary
    [self]
  end

  private

  def method_missing(method, *args, &block)
    @stack << @name
    @name = method
    self
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
thinking-sphinx-5.6.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.5.1 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.5.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.4.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.3.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.2.1 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.2.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.1.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-5.0.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.4.1 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.4.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.3.2 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.3.1 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.3.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.2.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.1.0 lib/thinking_sphinx/active_record/column.rb
thinking-sphinx-4.0.0 lib/thinking_sphinx/active_record/column.rb