Module: RSchema::DSL
- Defined in:
- lib/rschema.rb
Class Method Summary collapse
- ._?(key) ⇒ Boolean
- .enum(possible_values, subschema = nil) ⇒ Object
- .hash_of(subschemas_hash) ⇒ Object
- .maybe(subschema) ⇒ Object
- .predicate(name = nil, &block) ⇒ Object
- .set_of(subschema) ⇒ Object
Class Method Details
._?(key) ⇒ Boolean
57 58 59 |
# File 'lib/rschema.rb', line 57 def self._?(key) OptionalHashKey.new(key) end |
.enum(possible_values, subschema = nil) ⇒ Object
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
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
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
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 |