Class: Super::Form::SchemaTypes
- Inherits:
-
Object
- Object
- Super::Form::SchemaTypes
- Defined in:
- lib/super/form/schema_types.rb
Defined Under Namespace
Instance Method Summary collapse
- #_destroy(**extras) ⇒ Object
- #check_box(*args, **kwargs) ⇒ Object
- #date_flatpickr(*args, **kwargs) ⇒ Object
- #datetime_flatpickr(*args, **kwargs) ⇒ Object
- #direct(method_name, *args, super_builder: true, **kwargs) ⇒ Object
- #has_many(reader, **extras) ⇒ Object
- #has_one(reader, **extras) ⇒ Object (also: #belongs_to)
- #hidden_field(*args, **kwargs) ⇒ Object
-
#initialize(fields:) ⇒ SchemaTypes
constructor
A new instance of SchemaTypes.
- #partial(partial_path, **extras) ⇒ Object
- #password_field(*args, **kwargs) ⇒ Object
- #rich_text_area(*args, **kwargs) ⇒ Object
- #select(*args, **kwargs) ⇒ Object
- #text_field(*args, **kwargs) ⇒ Object
- #time_flatpickr(*args, **kwargs) ⇒ Object
Constructor Details
#initialize(fields:) ⇒ SchemaTypes
Returns a new instance of SchemaTypes.
96 97 98 |
# File 'lib/super/form/schema_types.rb', line 96 def initialize(fields:) @fields = fields end |
Instance Method Details
#_destroy(**extras) ⇒ Object
172 173 174 175 176 177 178 |
# File 'lib/super/form/schema_types.rb', line 172 def _destroy(**extras) Generic.new( partial_path: "form_field__destroy", extras: extras, nested: {} ) end |
#check_box(*args, **kwargs) ⇒ Object
120 121 122 |
# File 'lib/super/form/schema_types.rb', line 120 def check_box(*args, **kwargs) Direct.new(super_builder: true, method_name: :check_box!, args: args, kwargs: kwargs) end |
#date_flatpickr(*args, **kwargs) ⇒ Object
124 125 126 |
# File 'lib/super/form/schema_types.rb', line 124 def date_flatpickr(*args, **kwargs) Direct.new(super_builder: true, method_name: :date_flatpickr!, args: args, kwargs: kwargs) end |
#datetime_flatpickr(*args, **kwargs) ⇒ Object
128 129 130 |
# File 'lib/super/form/schema_types.rb', line 128 def datetime_flatpickr(*args, **kwargs) Direct.new(super_builder: true, method_name: :datetime_flatpickr!, args: args, kwargs: kwargs) end |
#direct(method_name, *args, super_builder: true, **kwargs) ⇒ Object
104 105 106 |
# File 'lib/super/form/schema_types.rb', line 104 def direct(method_name, *args, super_builder: true, **kwargs) Direct.new(super_builder: super_builder, method_name: method_name, args: args, kwargs: kwargs) end |
#has_many(reader, **extras) ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/super/form/schema_types.rb', line 144 def has_many(reader, **extras) subfields = Schema::Fields.new @fields.nested do yield subfields end Generic.new( partial_path: "form_has_many", extras: extras.merge(reader: reader), nested: subfields.to_h ) end |
#has_one(reader, **extras) ⇒ Object Also known as: belongs_to
157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/super/form/schema_types.rb', line 157 def has_one(reader, **extras) subfields = Schema::Fields.new @fields.nested do yield subfields end Generic.new( partial_path: "form_has_one", extras: extras.merge(reader: reader), nested: subfields.to_h ) end |
#hidden_field(*args, **kwargs) ⇒ Object
132 133 134 |
# File 'lib/super/form/schema_types.rb', line 132 def hidden_field(*args, **kwargs) Direct.new(super_builder: false, method_name: :hidden_field, args: args, kwargs: kwargs) end |
#partial(partial_path, **extras) ⇒ Object
100 101 102 |
# File 'lib/super/form/schema_types.rb', line 100 def partial(partial_path, **extras) Generic.new(partial_path: partial_path, extras: extras, nested: {}) end |
#password_field(*args, **kwargs) ⇒ Object
136 137 138 |
# File 'lib/super/form/schema_types.rb', line 136 def password_field(*args, **kwargs) Direct.new(super_builder: true, method_name: :password_field!, args: args, kwargs: kwargs) end |
#rich_text_area(*args, **kwargs) ⇒ Object
116 117 118 |
# File 'lib/super/form/schema_types.rb', line 116 def rich_text_area(*args, **kwargs) Direct.new(super_builder: true, method_name: :rich_text_area!, args: args, kwargs: kwargs) end |
#select(*args, **kwargs) ⇒ Object
108 109 110 |
# File 'lib/super/form/schema_types.rb', line 108 def select(*args, **kwargs) Direct.new(super_builder: true, method_name: :select!, args: args, kwargs: kwargs) end |