Sha256: 780f63fb251a54ad51b809efcd10d8a6440646417467cf501cdc91d97f7515a4

Contents?: true

Size: 733 Bytes

Versions: 14

Compression:

Stored size: 733 Bytes

Contents

require 'active_record'

module DefaultOrder
  def self.append_features(base) # :nodoc:
    super
    base.extend ClassMethods
  end
  
  module ClassMethods
    def order_by(order_string)
      self.class_eval %{
        class << self
          def find_with_order(*args)
            if args[1] 
              args[1][:order] = "#{order_string}" if args[1].is_a?(Hash) && !args[1][:order]
            else
              args[1] = {:order => "#{order_string}"}
            end
            find_without_order(*args)
          end
        
          alias_method :find_without_order, :find
          alias_method :find, :find_with_order
        end
      }
    end
  end
end

ActiveRecord::Base.class_eval do
  include DefaultOrder
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
radiant-0.7.2 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.1 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.0 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.2 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.3 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.4 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.5.1 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.5 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.6 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.7 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.9 vendor/plugins/default_order/lib/default_order.rb
radiant-0.6.8 vendor/plugins/default_order/lib/default_order.rb
radiant-0.7.0 vendor/plugins/default_order/lib/default_order.rb
radiant-0.7.1 vendor/plugins/default_order/lib/default_order.rb