Sha256: 7cf6c61045a5d510606b216882149c27cce3960d3d1609ed595912517be78d2a
Contents?: true
Size: 717 Bytes
Versions: 229
Compression:
Stored size: 717 Bytes
Contents
module ActiveRecord # = Active Record Dynamic Scope Match # # Provides dynamic attribute-based scopes such as <tt>scoped_by_price(4.99)</tt> # if, for example, the <tt>Product</tt> has an attribute with that name. You can # chain more <tt>scoped_by_* </tt> methods after the other. It acts like a named # scope except that it's dynamic. class DynamicScopeMatch def self.match(method) return unless method.to_s =~ /^scoped_by_([_a-zA-Z]\w*)$/ new(true, $1 && $1.split('_and_')) end def initialize(scope, attribute_names) @scope = scope @attribute_names = attribute_names end attr_reader :scope, :attribute_names alias :scope? :scope end end
Version data entries
229 entries across 198 versions & 16 rubygems