Class: Bed::SchemaBuilder
Instance Attribute Summary collapse
-
#fields ⇒ Object
readonly
Returns the value of attribute fields.
Instance Method Summary collapse
- #compile(&block) ⇒ Object
- #define_field(type, field_name, required: true, enable_default: false, default_value: nil, allow_nil: false) ⇒ Object
-
#initialize ⇒ SchemaBuilder
constructor
A new instance of SchemaBuilder.
- #to_schema ⇒ Object
Constructor Details
#initialize ⇒ SchemaBuilder
Returns a new instance of SchemaBuilder.
106 107 108 |
# File 'lib/bed/definition.rb', line 106 def initialize @fields = {} end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
Instance Attribute Details
#fields ⇒ Object (readonly)
Returns the value of attribute fields.
104 105 106 |
# File 'lib/bed/definition.rb', line 104 def fields @fields end |
Instance Method Details
#compile(&block) ⇒ Object
116 117 118 |
# File 'lib/bed/definition.rb', line 116 def compile(&block) instance_eval(&block) end |
#define_field(type, field_name, required: true, enable_default: false, default_value: nil, allow_nil: false) ⇒ Object
124 125 126 |
# File 'lib/bed/definition.rb', line 124 def define_field(type, field_name, required: true, enable_default: false, default_value: nil, allow_nil: false) @fields[field_name] = Field.new(name: field_name, type: type, required: required, enable_default: enable_default, default_value: default_value, allow_nil: allow_nil) end |