module Ciesta::ClassMethods
Public Instance Methods
definitions()
click to toggle source
Returns fields definitions
@api private @return [Ciesta::FieldList]
# File lib/ciesta/class_methods.rb, line 31 def definitions @definitions ||= {} end
field(name, **options)
click to toggle source
Declare new form field
@param [Symbol] name Field
name @param [Hash] options Options @option (see Ciesta::Field
)
# File lib/ciesta/class_methods.rb, line 10 def field(name, **options) name = name.to_sym definitions[name] = options proxy.instance_eval do define_method(name) { fields[name] } define_method("#{name}=") { |value| fields[name] = value } end end
proxy()
click to toggle source
# File lib/ciesta/class_methods.rb, line 43 def proxy @proxy ||= begin m = Module.new include m m end end
validate(&block)
click to toggle source
Declare rules for validation
@param [Block] block Block with validation rules @see dry-rb.org/gems/dry-validation
# File lib/ciesta/class_methods.rb, line 23 def validate(&block) validator.use(&block) end
validator()
click to toggle source
Returns form validator
@api private @return [Ciesta::Validator]
# File lib/ciesta/class_methods.rb, line 39 def validator @validator ||= Ciesta::Validator.new end