Module: FormCore

Defined in:
lib/form_core.rb,
lib/form_core/coder.rb,
lib/form_core/engine.rb,
lib/form_core/errors.rb,
lib/form_core/version.rb,
app/models/form_core/form.rb,
app/models/form_core/field.rb,
lib/form_core/virtual_model.rb,
lib/form_core/coders/hash_coder.rb,
lib/form_core/coders/yaml_coder.rb,
app/models/form_core/application_record.rb

Defined Under Namespace

Modules: Concerns Classes: ApplicationRecord, Coder, DecodingDataCorrupted, Engine, Field, Form, FormCoreError, HashCoder, VirtualModel, YAMLCoder

Constant Summary collapse

VERSION =
"0.0.9"

Class Method Summary collapse

Class Method Details

.reserved_namesObject



29
30
31
32
33
34
# File 'lib/form_core.rb', line 29

def reserved_names
  @reserved_names ||= Set.new(
    %i(def class module private public protected allocate new parent superclass) +
      virtual_model_class.instance_methods(true)
  )
end

.virtual_model_classObject



16
17
18
# File 'lib/form_core.rb', line 16

def virtual_model_class
  @virtual_model_class ||= VirtualModel
end

.virtual_model_class=(klass) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/form_core.rb', line 20

def virtual_model_class=(klass)
  unless klass && klass < VirtualModel
    raise ArgumentError, "#{klass} should be sub-class of #{VirtualModel}."
  end

  @reserved_names = nil
  @virtual_model_class = klass
end

.virtual_model_coder_classObject



36
37
38
# File 'lib/form_core.rb', line 36

def virtual_model_coder_class
  @virtual_model_coder_class ||= HashCoder
end

.virtual_model_coder_class=(klass) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/form_core.rb', line 40

def virtual_model_coder_class=(klass)
  unless klass && klass < Coder
    raise ArgumentError, "#{klass} should be sub-class of #{Coder}."
  end

  @virtual_model_coder_class = klass
end