Sha256: 45774443f85ad154f8f1382c211861354d43fac422723f600774b0155451a6c1

Contents?: true

Size: 561 Bytes

Versions: 18

Compression:

Stored size: 561 Bytes

Contents

module ActiveHash

  module ARApi
    require 'active_record/errors'

    module FindBy

      def find_by(options = {})
        send(:where, options).first
      end

      def find_by!(options={})
        result = find_by(options)
        raise ActiveRecord::RecordNotFound if result.blank?
        result
      end

      def where(options)
        return @records if options.nil?
        (@records || []).select do |record|
          options.all? do |col, match|
            record.send(col) == match
          end
        end
      end

    end

  end

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
active_mocker-1.2.4 lib/active_hash/find_by.rb
active_mocker-1.2.3 lib/active_hash/find_by.rb
active_mocker-1.2 lib/active_hash/find_by.rb
active_mocker-1.2.pre.11 lib/active_hash/find_by.rb
active_mocker-1.2.pre.10 lib/active_hash/find_by.rb
active_mocker-1.2.pre.9 lib/active_hash/find_by.rb
active_mocker-1.2.pre.8 lib/active_hash/find_by.rb
active_mocker-1.2.pre.7 lib/active_hash/find_by.rb
active_mocker-1.2.pre.6 lib/active_hash/find_by.rb
active_mocker-1.2.pre.5 lib/active_hash/find_by.rb
active_mocker-1.2.pre.4 lib/active_hash/find_by.rb
active_mocker-1.2.pre.3 lib/active_hash/find_by.rb
active_mocker-1.2.pre.2 lib/active_hash/find_by.rb
active_mocker-1.2.pre.1 lib/active_hash/find_by.rb
active_mocker-1.2.pre lib/active_hash/find_by.rb
active_mocker-1.1.23 lib/active_hash/find_by.rb
active_mocker-1.1.22 lib/active_hash/find_by.rb
active_mocker-1.1.21 lib/active_hash/find_by.rb