Sha256: 047be6b273a016ef328175fa8bf581aef8d9f3db648e0e88439004d1b4c0d154

Contents?: true

Size: 565 Bytes

Versions: 22

Compression:

Stored size: 565 Bytes

Contents

module Ransack
  module Nodes
    module Bindable

      attr_accessor :parent, :attr_name

      def attr
        @attr ||= ransacker ? ransacker.attr_from(self) : context.table_for(parent)[attr_name]
      end
      alias :arel_attribute :attr

      def ransacker
        klass._ransackers[attr_name]
      end

      def klass
        @klass ||= context.klassify(parent)
      end

      def bound?
        attr_name.present? && parent.present?
      end

      def reset_binding!
        @parent = @attr_name = @attr = @klass = nil
      end

    end
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
ransack-1.1.0 lib/ransack/nodes/bindable.rb
ransack-1.0.0 lib/ransack/nodes/bindable.rb
ransack-0.7.2 lib/ransack/nodes/bindable.rb
ransack-0.7.1 lib/ransack/nodes/bindable.rb
ransack_ffcrm-0.7.1 lib/ransack/nodes/bindable.rb
ransack-0.7.0 lib/ransack/nodes/bindable.rb
ransack_ffcrm-0.6.0 lib/ransack/nodes/bindable.rb
ransack-0.6.0 lib/ransack/nodes/bindable.rb
ransack-0.5.8 lib/ransack/nodes/bindable.rb
ransack-0.5.7 lib/ransack/nodes/bindable.rb
ransack-0.5.6 lib/ransack/nodes/bindable.rb
ransack-0.5.5 lib/ransack/nodes/bindable.rb
ransack-0.5.4 lib/ransack/nodes/bindable.rb
ransack-0.5.3 lib/ransack/nodes/bindable.rb
ransack-0.5.2 lib/ransack/nodes/bindable.rb
ransack-0.5.1 lib/ransack/nodes/bindable.rb
ransack-0.5.0 lib/ransack/nodes/bindable.rb
ransack-0.4.2 lib/ransack/nodes/bindable.rb
ransack-0.4.1 lib/ransack/nodes/bindable.rb
ransack-0.4.0 lib/ransack/nodes/bindable.rb