Sha256: 877ffa260a36046aad43122aef49e8f4f07f753090ad32ad12ba5fbedd19d818

Contents?: true

Size: 518 Bytes

Versions: 3

Compression:

Stored size: 518 Bytes

Contents

module MassiveRecord
  module ORM
    module AttributeMethods
      module CastNumbersOnWrite
        extend ActiveSupport::Concern

        def write_attribute(attr_name, value)
          if value.present?
            if field = attributes_schema[attr_name]
              case field.type
              when :integer
                value = value.to_i
              when :float
                value = value.to_f
              end
            end
          end

          super
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
massive_record-0.2.2 lib/massive_record/orm/attribute_methods/cast_numbers_on_write.rb
massive_record-0.2.2.rc2 lib/massive_record/orm/attribute_methods/cast_numbers_on_write.rb
massive_record-0.2.2.rc1 lib/massive_record/orm/attribute_methods/cast_numbers_on_write.rb