Module: RSchema::DSL

Defined in:
lib/rschema.rb

Class Method Summary collapse

Class Method Details

._?(key) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/rschema.rb', line 57

def self._?(key)
  OptionalHashKey.new(key)
end

.enum(possible_values, subschema = nil) ⇒ Object

Raises:



80
81
82
83
# File 'lib/rschema.rb', line 80

def self.enum(possible_values, subschema = nil)
  raise InvalidSchemaError unless possible_values && possible_values.size > 0
  EnumSchema.new(Set.new(possible_values), subschema)
end

.hash_of(subschemas_hash) ⇒ Object

Raises:



61
62
63
64
# File 'lib/rschema.rb', line 61

def self.hash_of(subschemas_hash)
  raise InvalidSchemaError unless subschemas_hash.size == 1
  GenericHashSchema.new(subschemas_hash.keys.first, subschemas_hash.values.first)
end

.maybe(subschema) ⇒ Object

Raises:



75
76
77
78
# File 'lib/rschema.rb', line 75

def self.maybe(subschema)
  raise InvalidSchemaError unless subschema
  MaybeSchema.new(subschema)
end

.predicate(name = nil, &block) ⇒ Object

Raises:



70
71
72
73
# File 'lib/rschema.rb', line 70

def self.predicate(name = nil, &block)
  raise InvalidSchemaError unless block
  PredicateSchema.new(name, block)
end

.set_of(subschema) ⇒ Object



66
67
68
# File 'lib/rschema.rb', line 66

def self.set_of(subschema)
  GenericSetSchema.new(subschema)
end