Sha256: a3ef2e38c69d48c4a7686ecd74ff0ab0f3bacc3c13f1f31749982c90a6c50d05

Contents?: true

Size: 907 Bytes

Versions: 2

Compression:

Stored size: 907 Bytes

Contents

class StrongJSON
  module Types
    def object(fields = {})
      Type::Object.new(fields)
    end

    def array(type = any)
      Type::Array.new(type)
    end

    def optional(type = any)
      Type::Optional.new(type)
    end

    def string
      StrongJSON::Type::Base.new(:string)
    end

    def numeric
      StrongJSON::Type::Base.new(:numeric)
    end

    def number
      StrongJSON::Type::Base.new(:number)
    end

    def boolean
      StrongJSON::Type::Base.new(:boolean)
    end

    def any
      StrongJSON::Type::Base.new(:any)
    end

    def prohibited
      StrongJSON::Type::Base.new(:prohibited)
    end

    def string?
      optional(string)
    end

    def numeric?
      optional(numeric)
    end

    def number?
      optional(number)
    end

    def boolean?
      optional(boolean)
    end

    def ignored
      StrongJSON::Type::Base.new(:ignored)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
strong_json-0.1.1 lib/strong_json/types.rb
strong_json-0.1.0 lib/strong_json/types.rb