Sha256: d3956ea49a8da80cd5098a0b204c2e7dbb7b53e3aca10610d6eb4f5e4204d408

Contents?: true

Size: 741 Bytes

Versions: 13

Compression:

Stored size: 741 Bytes

Contents

require "time"

module Formulario
  class Field
    class DefaultTimeField < Field
      private

      def self.build(raw_value)
        case raw_value
        when base_class
          new raw_value
        when ::Hash
          parse_hash(raw_value)
        when ::String
          new base_class.parse(raw_value)
        end
      end

      def self.invalid_keys_exceptional_value(hash)
        ExceptionalValue.new(hash,
                             reasons: [
                               "the only possible keys are: #{allowed_keys.map(&:inspect).join(', ')}"
                             ])
      end

      def self.has_invalid_keys?(hash)
        hash.keys.any? {|key| !allowed_keys.include?(key) }
      end

    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
formulario-0.1.12 lib/formulario/fields/default_time_field.rb
formulario-0.1.11 lib/formulario/fields/default_time_field.rb
formulario-0.1.10 lib/formulario/fields/default_time_field.rb
formulario-0.1.9 lib/formulario/fields/default_time_field.rb
formulario-0.1.8 lib/formulario/fields/default_time_field.rb
formulario-0.1.6 lib/formulario/fields/default_time_field.rb
formulario-0.1.5 lib/formulario/fields/default_time_field.rb
formulario-0.1.4 lib/formulario/fields/default_time_field.rb
formulario-0.1.3 lib/formulario/fields/default_time_field.rb
formulario-0.1.2 lib/formulario/fields/default_time_field.rb
formulario-0.1.1b lib/formulario/fields/default_time_field.rb
formulario-0.1.1 lib/formulario/fields/default_time_field.rb
formulario-0.1.0 lib/formulario/fields/default_time_field.rb