Class: Formwandler::Field

Inherits:
Object
  • Object
show all
Defined in:
lib/formwandler/field.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(form:, field_definition:) ⇒ Field

Returns a new instance of Field.



9
10
11
12
# File 'lib/formwandler/field.rb', line 9

def initialize(form:, field_definition:)
  @form = form
  @field_definition = field_definition
end

Instance Attribute Details

#field_definitionObject (readonly)

Returns the value of attribute field_definition.



5
6
7
# File 'lib/formwandler/field.rb', line 5

def field_definition
  @field_definition
end

#formObject (readonly)

Returns the value of attribute form.



5
6
7
# File 'lib/formwandler/field.rb', line 5

def form
  @form
end

Instance Method Details

#defaultObject



42
43
44
45
46
47
48
# File 'lib/formwandler/field.rb', line 42

def default
  if field_definition.default.respond_to?(:call)
    form.instance_exec(&field_definition.default)
  else
    field_definition.default
  end
end

#default?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/formwandler/field.rb', line 38

def default?
  !field_definition.default.nil?
end

#delocalizeObject



50
51
52
53
54
55
56
# File 'lib/formwandler/field.rb', line 50

def delocalize
  if field_definition.delocalize.respond_to?(:call)
    form.instance_exec(&field_definition.delocalize)
  else
    field_definition.delocalize
  end
end

#disabled?Boolean

Returns:

  • (Boolean)


26
27
28
29
30
31
32
# File 'lib/formwandler/field.rb', line 26

def disabled?
  if field_definition.disabled.respond_to?(:call)
    form.instance_exec(&field_definition.disabled)
  else
    field_definition.disabled
  end
end

#hidden?Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
# File 'lib/formwandler/field.rb', line 14

def hidden?
  if field_definition.hidden.respond_to?(:call)
    form.instance_exec(&field_definition.hidden)
  else
    field_definition.hidden
  end
end

#optionsObject



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

def options
  all_options - hidden_options
end

#visible?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/formwandler/field.rb', line 22

def visible?
  !hidden?
end