Class: ActiveFields::Config
- Inherits:
-
Object
- Object
- ActiveFields::Config
- Includes:
- Singleton
- Defined in:
- lib/active_fields/config.rb
Constant Summary collapse
- DEFAULT_FIELD_BASE_CLASS_NAME =
"ActiveFields::Field::Base"
- DEFAULT_VALUE_CLASS_NAME =
"ActiveFields::Value"
Instance Attribute Summary collapse
-
#field_base_class_name ⇒ Object
Returns the value of attribute field_base_class_name.
-
#fields ⇒ Object
readonly
Returns the value of attribute fields.
-
#value_class_name ⇒ Object
Returns the value of attribute value_class_name.
Instance Method Summary collapse
- #field_base_class ⇒ Object
- #field_base_class_changed? ⇒ Boolean
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #register_field(type_name, class_name) ⇒ Object
- #type_class_names ⇒ Object
- #type_names ⇒ Object
- #value_class ⇒ Object
- #value_class_changed? ⇒ Boolean
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/active_fields/config.rb', line 13 def initialize @field_base_class_name = DEFAULT_FIELD_BASE_CLASS_NAME @value_class_name = DEFAULT_VALUE_CLASS_NAME @fields = { boolean: "ActiveFields::Field::Boolean", date: "ActiveFields::Field::Date", date_array: "ActiveFields::Field::DateArray", datetime: "ActiveFields::Field::DateTime", datetime_array: "ActiveFields::Field::DateTimeArray", decimal: "ActiveFields::Field::Decimal", decimal_array: "ActiveFields::Field::DecimalArray", enum: "ActiveFields::Field::Enum", enum_array: "ActiveFields::Field::EnumArray", integer: "ActiveFields::Field::Integer", integer_array: "ActiveFields::Field::IntegerArray", text: "ActiveFields::Field::Text", text_array: "ActiveFields::Field::TextArray", } end |
Instance Attribute Details
#field_base_class_name ⇒ Object
Returns the value of attribute field_base_class_name.
10 11 12 |
# File 'lib/active_fields/config.rb', line 10 def field_base_class_name @field_base_class_name end |
#fields ⇒ Object (readonly)
Returns the value of attribute fields.
11 12 13 |
# File 'lib/active_fields/config.rb', line 11 def fields @fields end |
#value_class_name ⇒ Object
Returns the value of attribute value_class_name.
10 11 12 |
# File 'lib/active_fields/config.rb', line 10 def value_class_name @value_class_name end |
Instance Method Details
#field_base_class ⇒ Object
33 34 35 |
# File 'lib/active_fields/config.rb', line 33 def field_base_class @field_base_class ||= field_base_class_name.constantize end |
#field_base_class_changed? ⇒ Boolean
41 42 43 |
# File 'lib/active_fields/config.rb', line 41 def field_base_class_changed? field_base_class_name != DEFAULT_FIELD_BASE_CLASS_NAME end |
#register_field(type_name, class_name) ⇒ Object
49 50 51 |
# File 'lib/active_fields/config.rb', line 49 def register_field(type_name, class_name) @fields[type_name.to_sym] = class_name end |
#type_class_names ⇒ Object
57 58 59 |
# File 'lib/active_fields/config.rb', line 57 def type_class_names fields.values end |
#type_names ⇒ Object
53 54 55 |
# File 'lib/active_fields/config.rb', line 53 def type_names fields.keys end |
#value_class ⇒ Object
37 38 39 |
# File 'lib/active_fields/config.rb', line 37 def value_class @value_class ||= value_class_name.constantize end |
#value_class_changed? ⇒ Boolean
45 46 47 |
# File 'lib/active_fields/config.rb', line 45 def value_class_changed? value_class_name != DEFAULT_VALUE_CLASS_NAME end |