Sha256: 3fc31ffad862c1fce1519f6fb58a1b9c460a6c31683017f822874d9c6a909fa7

Contents?: true

Size: 447 Bytes

Versions: 40

Compression:

Stored size: 447 Bytes

Contents

module Prefab
  class ContextShape
    MAPPING = {
      Integer => 1,
      String => 2,
      Float => 4,
      TrueClass => 5,
      FalseClass => 5,
      Array => 10,
    }.freeze

    # We default to String if the type isn't a primitive we support.
    # This is because we do a `to_s` in the CriteriaEvaluator.
    DEFAULT = MAPPING[String]

    def self.field_type_number(value)
      MAPPING.fetch(value.class, DEFAULT)
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
prefab-cloud-ruby-1.8.8 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.8.pre.1 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.7 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.6 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.5 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.4 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.3 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.2 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.1 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.8.0 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.7.2 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.7.1 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.7.0 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.6.2 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.6.1 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.6.0 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.5.1 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.6.0.pre2 lib/prefab/context_shape.rb
prefab-cloud-ruby-1.6.0.pre1 lib/prefab/context_shape.rb
prefab-cloud-ruby-0 lib/prefab/context_shape.rb