Sha256: f27d1c76015b178dc0e06ece096ef716bf374ab3e2a8af6d5fbf89c0319a5d62
Contents?: true
Size: 653 Bytes
Versions: 1
Compression:
Stored size: 653 Bytes
Contents
module Compel module Builder class Schema include Builder::Common attr_reader :type, :options def initialize(type) @type = type @options = default_options end def required? options[:required] end def default_value options[:default] end def validate(object) Contract.new(object, self).validate end class << self def human_name "#{self.name.split('::')[1..-1].join('::')}" end end protected def default_options { required: false } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
compel-0.4.0 | lib/compel/builder/schema.rb |