X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factiverecord%2Flib%2Factive_record%2Fdynamic_scope_match.rb;fp=vendor%2Frails%2Factiverecord%2Flib%2Factive_record%2Fdynamic_scope_match.rb;h=f796ba669a3860a06826a5b875431f992e96364e;hb=437aa336c44c74a30aeea16a06743c32747ed661;hp=0000000000000000000000000000000000000000;hpb=97a0772b06264134cfe38e7494f9427efe0840a0;p=feedcatcher.git

diff --git a/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb b/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb
new file mode 100644
index 0000000..f796ba6
--- /dev/null
+++ b/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb
@@ -0,0 +1,25 @@
+module ActiveRecord
+  class DynamicScopeMatch
+    def self.match(method)
+      ds_match = self.new(method)
+      ds_match.scope ? ds_match : nil
+    end
+
+    def initialize(method)
+      @scope = true
+      case method.to_s
+      when /^scoped_by_([_a-zA-Z]\w*)$/
+        names = $1
+      else
+        @scope = nil
+      end
+      @attribute_names = names && names.split('_and_')
+    end
+
+    attr_reader :scope, :attribute_names
+
+    def scope?
+      !@scope.nil?
+    end
+  end
+end