Module: RSchema::DSL
- Defined in:
- lib/rschema.rb
Class Method Summary collapse
- ._?(key) ⇒ Boolean
- .boolean ⇒ Object
- .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
72 73 74 |
# File 'lib/rschema.rb', line 72 def self._?(key) OptionalHashKey.new(key) end |
.boolean ⇒ Object
100 101 102 |
# File 'lib/rschema.rb', line 100 def self.boolean BooleanSchema end |
.enum(possible_values, subschema = nil) ⇒ Object
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
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
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
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 |