Sha256: e10ad9344f98b840c339fd90e6ff2dc42fbc232c5ee524a190ba934679d67591

Contents?: true

Size: 601 Bytes

Versions: 1

Compression:

Stored size: 601 Bytes

Contents

require_relative "base"

class StoreSchema::Converter::Float
  include StoreSchema::Converter::Base

  # Converts the {#value} to a database-storable value.
  #
  # @return [String, false] false if {#value} is an invalid date-type.
  #
  def to_db
    case value
    when ::Integer
      value.to_f.to_s
    when ::Float
      value.to_s
    when ::String
      if value =~ /^\d+|\d+\.\d+$/
        value.to_f.to_s
      else
        false
      end
    else
      false
    end
  end

  # Converts the {#value} to a Ruby-type value.
  #
  # @return [Float]
  #
  def from_db
    value.to_f
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
store_schema-0.0.1 lib/store_schema/converter/float.rb