Sha256: 6e91ee64f86c2d7b3a043b643f72b983630f43889b08bfdff5da438ba25ba564

Contents?: true

Size: 792 Bytes

Versions: 8

Compression:

Stored size: 792 Bytes

Contents

require 'jquery/gridify/grid'

module Gridify

  def self.included(base)
    base.extend(ClassMethods)
  end

  module ClassMethods
    attr_accessor :grids

    def gridify(*args, &block)
      # debugger
      grid = Gridify::Grid.new(self, *args, &block)
      @grids ||= {}
      @grids[grid.name.to_sym] = grid

      unless self.respond_to?(:find_for_grid)
        class_eval <<-EOV
						named_scope :find_for_grid, lambda {|name, params|
							grid = grids[name]
							grid.update_from_params( params )
							grid.current_scope
						}
        EOV
      end
    end

    def grids
      @grids || {}
    end

    def grid(name=nil)
      name ? grids[name] : grids[:grid]
    end
  end
end

class ActiveRecord::Base
  include Gridify
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
compass-jquery-plugin-0.3.3.1 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.3.0 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.2.8 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.2.7 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.2.7.nil lib/jquery/gridify.rb
compass-jquery-plugin-0.3.2.6 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.2.5 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.2.4 lib/jquery/gridify.rb