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.1.5"

Class Method Summary collapse

Class Method Details

.reserved_namesObject



27
28
29
30
31
32
# File 'lib/form_core.rb', line 27

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

Raises:

  • (ArgumentError)


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

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

  @reserved_names = nil
  @virtual_model_class = klass
end

.virtual_model_coder_classObject



34
35
36
# File 'lib/form_core.rb', line 34

def virtual_model_coder_class
  @virtual_model_coder_class ||= HashCoder
end

.virtual_model_coder_class=(klass) ⇒ Object

Raises:

  • (ArgumentError)


38
39
40
41
42
# File 'lib/form_core.rb', line 38

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

  @virtual_model_coder_class = klass
end