Class: Plum::FormDefinition

Inherits:
ApplicationRecord show all
Includes:
SiteScoped, StaticCacheInvalidation
Defined in:
app/models/plum/form_definition.rb

Constant Summary collapse

FIELD_TYPES =
%w[text email textarea select checkbox].freeze
HANDLE_PATTERN =
/\A[a-z][a-z0-9_]*\z/

Constants included from StaticCacheInvalidation

StaticCacheInvalidation::CACHE_IRRELEVANT_COLUMNS

Instance Method Summary collapse

Instance Method Details

#field_handlesObject



21
22
23
# File 'app/models/plum/form_definition.rb', line 21

def field_handles
  form_fields.filter_map { |field| field["handle"].presence }
end

#form_fieldsObject



17
18
19
# File 'app/models/plum/form_definition.rb', line 17

def form_fields
  fields || []
end

#to_liquidObject



25
26
27
28
29
30
31
# File 'app/models/plum/form_definition.rb', line 25

def to_liquid
  {
    "name" => name,
    "handle" => handle,
    "fields" => form_fields
  }
end