module Neewom::Model
Public Instance Methods
initialize_neewom_attributes(key_or_form)
click to toggle source
# File lib/neewom/model.rb, line 8 def initialize_neewom_attributes(key_or_form) self.neewom_form = case key_or_form when Neewom::AbstractForm key_or_form when Neewom::CustomForm key_or_form.to_form else Neewom::CustomForm.find_by!(key: key_or_form).to_form end initialize_neewom_view neewom_form.virtual_fields.map(&:name).map(&:to_sym) neewom_form.fields.map do |field| name = field.name.to_sym validations_config = field.validations singleton_class.class_eval do if validations_config.present? Array(validations_config).each do |config| next if config.blank? validates *[name, config] end end end end self end
initialize_neewom_view(*names)
click to toggle source
# File lib/neewom/model.rb, line 40 def initialize_neewom_view(*names) data_column = self.class.neewom_attributes_column names.each do |name| singleton_class.class_eval do store_accessor data_column, name end end self end