Class: SimpleFormWithClientValidation::Inputs::Base
- Inherits:
-
Object
- Object
- SimpleFormWithClientValidation::Inputs::Base
- Extended by:
- SimpleFormWithClientValidation::I18nCache
- Includes:
- Components::Errors, Components::HTML5, Components::Hints, Components::LabelInput, Components::Maxlength, Components::MinMax, Components::Minlength, Components::Pattern, Components::Placeholders, Components::Readonly, Helpers::Autofocus, Helpers::Disabled, Helpers::Readonly, Helpers::Required, Helpers::Validators
- Defined in:
- lib/simple_form_with_client_validation/inputs/base.rb
Direct Known Subclasses
BlockInput, BooleanInput, CollectionInput, DateTimeInput, FileInput, HiddenInput, NumericInput, PasswordInput, StringInput, TextInput
Instance Attribute Summary collapse
-
#attribute_name ⇒ Object
readonly
Returns the value of attribute attribute_name.
-
#column ⇒ Object
readonly
Returns the value of attribute column.
-
#html_classes ⇒ Object
readonly
Returns the value of attribute html_classes.
-
#input_html_classes ⇒ Object
readonly
Returns the value of attribute input_html_classes.
-
#input_html_options ⇒ Object
readonly
Returns the value of attribute input_html_options.
-
#input_type ⇒ Object
readonly
Returns the value of attribute input_type.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#reflection ⇒ Object
readonly
Returns the value of attribute reflection.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(builder, attribute_name, column, input_type, options = {}) ⇒ Base
constructor
A new instance of Base.
- #input ⇒ Object
- #input_options ⇒ Object
Methods included from SimpleFormWithClientValidation::I18nCache
get_i18n_cache, i18n_cache, reset_i18n_cache
Methods included from Components::Readonly
Methods included from Components::Placeholders
#placeholder, #placeholder_text
Methods included from Components::Pattern
Methods included from Components::MinMax
Methods included from Components::Minlength
Methods included from Components::Maxlength
Methods included from Components::LabelInput
Methods included from Components::HTML5
#has_required?, #html5, #html5?
Methods included from Components::Hints
Methods included from Components::Errors
Methods included from Helpers::Validators
Constructor Details
#initialize(builder, attribute_name, column, input_type, options = {}) ⇒ Base
Returns a new instance of Base.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 49 def initialize(builder, attribute_name, column, input_type, = {}) super @builder = builder @attribute_name = attribute_name @column = column @input_type = input_type @reflection = .delete(:reflection) @options = .reverse_merge!(self.class.) @required = calculate_required # Notice that html_options_for receives a reference to input_html_classes. # This means that classes added dynamically to input_html_classes will # still propagate to input_html_options. @html_classes = SimpleFormWithClientValidation.additional_classes_for(:input) { [input_type, required_class, readonly_class, disabled_class].compact } @input_html_classes = @html_classes.dup @input_html_options = (:input, input_html_classes).tap do |o| o[:readonly] = true if has_readonly? o[:disabled] = true if has_disabled? o[:autofocus] = true if has_autofocus? end end |
Instance Attribute Details
#attribute_name ⇒ Object (readonly)
Returns the value of attribute attribute_name.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def attribute_name @attribute_name end |
#column ⇒ Object (readonly)
Returns the value of attribute column.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def column @column end |
#html_classes ⇒ Object (readonly)
Returns the value of attribute html_classes.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def html_classes @html_classes end |
#input_html_classes ⇒ Object (readonly)
Returns the value of attribute input_html_classes.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def input_html_classes @input_html_classes end |
#input_html_options ⇒ Object (readonly)
Returns the value of attribute input_html_options.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def @input_html_options end |
#input_type ⇒ Object (readonly)
Returns the value of attribute input_type.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def input_type @input_type end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def @options end |
#reflection ⇒ Object (readonly)
Returns the value of attribute reflection.
23 24 25 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 23 def reflection @reflection end |
Class Method Details
.disable(*keys) ⇒ Object
37 38 39 40 41 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 37 def self.disable(*keys) = self..dup keys.each { |key| [key] = false } self. = end |
.enable(*keys) ⇒ Object
31 32 33 34 35 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 31 def self.enable(*keys) = self..dup keys.each { |key| .delete(key) } self. = end |
Instance Method Details
#input ⇒ Object
75 76 77 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 75 def input raise NotImplementedError end |
#input_options ⇒ Object
79 80 81 |
# File 'lib/simple_form_with_client_validation/inputs/base.rb', line 79 def end |