Class: Yattho::Forms::Dsl::CheckBoxInput

Inherits:
Input
  • Object
show all
Defined in:
lib/yattho/forms/dsl/check_box_input.rb

Overview

:nodoc:

Constant Summary collapse

DEFAULT_SCHEME =
:boolean
SCHEMES =
[DEFAULT_SCHEME, :array].freeze

Constants inherited from Input

Input::DEFAULT_SIZE, Input::SIZE_MAPPINGS, Input::SIZE_OPTIONS, Input::SPACE_DELIMITED_ARIA_ATTRIBUTES

Instance Attribute Summary collapse

Attributes inherited from Input

#builder, #caption, #form, #form_control, #ids, #input_arguments, #label_arguments, #validation_message

Instance Method Summary collapse

Methods inherited from Input

#add_input_aria, #add_input_classes, #add_input_data, #add_label_classes, #autofocus!, #caption?, #caption_id, #caption_template?, #disabled?, #focusable?, #full_width?, #hidden?, #input?, #invalid?, #merge_input_arguments!, #need_validation_element?, #remove_input_data, #render_caption_template, #required?, #size, #valid?, #validation_arguments, #validation_id, #validation_message_arguments, #validation_messages

Methods included from ClassNameHelper

#class_names

Constructor Details

#initialize(name:, label:, value: nil, unchecked_value: nil, scheme: DEFAULT_SCHEME, **system_arguments) {|_self| ... } ⇒ CheckBoxInput

Returns a new instance of CheckBoxInput.

Yields:

  • (_self)

Yield Parameters:

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 13

def initialize(name:, label:, value: nil, unchecked_value: nil, scheme: DEFAULT_SCHEME, **system_arguments)
  raise ArgumentError, "Check box scheme must be one of #{SCHEMES.join(', ')}" unless SCHEMES.include?(scheme)

  raise ArgumentError, "Check box needs an explicit value if scheme is array" if scheme == :array && value.nil?

  @name = name
  @label = label
  @value = value
  @unchecked_value = unchecked_value
  @scheme = scheme

  super(**system_arguments)

  yield(self) if block_given?
end

Instance Attribute Details

#labelObject (readonly)

Returns the value of attribute label.



11
12
13
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 11

def label
  @label
end

#nameObject (readonly)

Returns the value of attribute name.



11
12
13
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 11

def name
  @name
end

#nested_form_argumentsObject (readonly)

Returns the value of attribute nested_form_arguments.



11
12
13
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 11

def nested_form_arguments
  @nested_form_arguments
end

#nested_form_blockObject (readonly)

Returns the value of attribute nested_form_block.



11
12
13
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 11

def nested_form_block
  @nested_form_block
end

#schemeObject (readonly)

Returns the value of attribute scheme.



11
12
13
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 11

def scheme
  @scheme
end

#unchecked_valueObject (readonly)

Returns the value of attribute unchecked_value.



11
12
13
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 11

def unchecked_value
  @unchecked_value
end

#valueObject (readonly)

Returns the value of attribute value.



11
12
13
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 11

def value
  @value
end

Instance Method Details

#nested_form(**system_arguments, &block) ⇒ Object



33
34
35
36
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 33

def nested_form(**system_arguments, &block)
  @nested_form_arguments = system_arguments
  @nested_form_block = block
end

#to_componentObject



29
30
31
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 29

def to_component
  CheckBox.new(input: self)
end

#typeObject



38
39
40
# File 'lib/yattho/forms/dsl/check_box_input.rb', line 38

def type
  :check_box
end