Module: RSchema::DSL

Defined in:
lib/rschema.rb

Class Method Summary collapse

Class Method Details

._?(key) ⇒ Boolean

Returns:

  • (Boolean)


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

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

.booleanObject



100
101
102
# File 'lib/rschema.rb', line 100

def self.boolean
  BooleanSchema
end

.enum(possible_values, subschema = nil) ⇒ Object

Raises:



95
96
97
98
# File 'lib/rschema.rb', line 95

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:



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

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:



90
91
92
93
# File 'lib/rschema.rb', line 90

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

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

Raises:



85
86
87
88
# File 'lib/rschema.rb', line 85

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

.set_of(subschema) ⇒ Object



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

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