Sha256: a6284a3a7b0dd6751efb09077a89bab5319d962953d52f828ce3340fed90e803

Contents?: true

Size: 816 Bytes

Versions: 13

Compression:

Stored size: 816 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

13 entries across 13 versions & 1 rubygems

Version Path
compass-jquery-plugin-0.3.0.beta.21 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.20 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.19 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.18 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.17 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.16 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.14 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.13 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.10 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.5 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.4 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.2 lib/jquery/gridify.rb
compass-jquery-plugin-0.3.0.beta.1 lib/jquery/gridify.rb