Sha256: 044abdcc04b1d1fb56356db71eff687a059d494907a2a1f2e29dbcbe2b875eb5

Contents?: true

Size: 1.01 KB

Versions: 19

Compression:

Stored size: 1.01 KB

Contents

require 'active_record/attribute_methods/query'

module ActiveRecord
  module AttributeMethods
    module Query
      def query_attribute(attr_name)
        unless value = read_attribute(attr_name)
          false
        else
          column = self.class.columns_hash[attr_name]
          if column.nil?

            # TODO submit a rails patch

            # not sure what active_record tests say but i guess this should mean:
            # call to_i and check zero? if the value is a Numeric or starts with
            # a digit, so it can meaningfully be typecasted by to_i

            # if Numeric === value || value !~ /[^0-9]/
            if Numeric === value || value.to_s =~ /^[0-9]/
              !value.to_i.zero?
            else
              return false if ActiveRecord::ConnectionAdapters::Column::FALSE_VALUES.include?(value)
              !value.blank?
            end
          elsif column.number?
            !value.zero?
          else
            !value.blank?
          end
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 6 rubygems

Version Path
globalize-6.3.0 lib/patches/active_record/rails4/query_method.rb
globalize-6.2.1 lib/patches/active_record/rails4/query_method.rb
globalize-6.2.0 lib/patches/active_record/rails4/query_method.rb
globalize-6.1.0 lib/patches/active_record/rails4/query_method.rb
globalize-6.0.1 lib/patches/active_record/rails4/query_method.rb
globalize-6.0.0 lib/patches/active_record/rails4/query_method.rb
globalize-5.3.1 lib/patches/active_record/rails4/query_method.rb
globalize-6.0.0.alpha.1 lib/patches/active_record/rails4/query_method.rb
globalize-danibachar-5.2.0 lib/patches/active_record/rails4/query_method.rb
globalize-5.3.0 lib/patches/active_record/rails4/query_method.rb
countrizable-0.1.2 lib/patches/active_record/rails4/query_method.rb
countrizable-0.1.1 lib/patches/active_record/rails4/query_method.rb
globalize-5.2.0 lib/patches/active_record/rails4/query_method.rb
globalize-5.1.0 lib/patches/active_record/rails4/query_method.rb
globalize-5.1.0.beta2 lib/patches/active_record/rails4/query_method.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/globalize-5.1.0.beta1/lib/patches/active_record/rails4/query_method.rb
globalize-5.1.0.beta1 lib/patches/active_record/rails4/query_method.rb
globalize-rails5-5.1.0 lib/patches/active_record/rails4/query_method.rb
globalize-r5-5.1.0 lib/patches/active_record/rails4/query_method.rb