Module: ActiveRecord::Endoscope

Defined in:
lib/active_record/endoscope.rb,
lib/active_record/endoscope/version.rb

Constant Summary collapse

VERSION =
"0.0.3"

Instance Method Summary collapse

Instance Method Details

#scope(name, body, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/active_record/endoscope.rb', line 5

def scope(name, body, &block)
  super

  instance_method_name = "#{name.to_s.sub(/^have_/, 'has_')}?"

  define_method(instance_method_name) do |*args|
    self.class.send(name, *args).build_arel.to_ruby.call([self]).present?
  end
end