Sha256: 402eb881189dba3a53bdac147f387e0685314c294cfbd1249a35cc9d0856a668
Contents?: true
Size: 790 Bytes
Versions: 1
Compression:
Stored size: 790 Bytes
Contents
# frozen_string_literal: true require "active_record" require_relative "active_record_has/version" require_relative "active_record_has/reflection_methods" require_relative "active_record_has/through_methods" ActiveRecord::Reflection::BelongsToReflection.include ActiveRecordHas::ReflectionMethods ActiveRecord::Reflection::HasManyReflection.include ActiveRecordHas::ReflectionMethods ActiveRecord::Reflection::ThroughReflection.include ActiveRecordHas::ThroughMethods module ActiveRecordHas class Error < StandardError; end def has(association, &block) reflection = reflections[association.to_s] raise Error unless reflection foreign_scope = reflection.foreign_scope foreign_scope = block.call(foreign_scope) if block where(foreign_scope.arel.exists) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_record_has-0.1.0 | lib/active_record_has.rb |