Class: EditInPlace::Configuration
- Inherits:
-
Object
- Object
- EditInPlace::Configuration
- Defined in:
- lib/edit_in_place/configuration.rb
Overview
Configuration is a class that is capable of storing configuration for an edit_in_place Builder. Essentially all the options provided by edit_in_place reside in this class for easy reuse. This class is currently used in two locations—the global configuration in config and the builder-specific configuration in Builder#config.
Constant Summary collapse
- DEFAULT_MODE =
The default mode in which fields should be rendered if left unpspecified in the configuration.
:viewing
Instance Attribute Summary collapse
-
#defined_middlewares ⇒ Array
An array containing all the middleware classes permitted, in the order they should be run.
-
#field_options ⇒ FieldOptions
The default FieldOptions instance to use when a builder renders a field.
-
#field_types ⇒ FieldTypeRegistrar
The FieldTypeRegistrar used to store the list of registered field types.
Instance Method Summary collapse
-
#dup ⇒ Configuration
Creates a deep copy of this Configuration that can be safely modified.
-
#initialize ⇒ Configuration
constructor
Creates a new, default instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Creates a new, default instance of EditInPlace::Configuration.
31 32 33 34 35 |
# File 'lib/edit_in_place/configuration.rb', line 31 def initialize @field_types = FieldTypeRegistrar.new @field_options = FieldOptions.new(mode: DEFAULT_MODE) @defined_middlewares = [] end |
Instance Attribute Details
#defined_middlewares ⇒ Array
An array containing all the middleware classes permitted, in the order they should be run.
28 29 30 |
# File 'lib/edit_in_place/configuration.rb', line 28 def defined_middlewares @defined_middlewares end |
#field_options ⇒ FieldOptions
The default FieldOptions instance to use when a builder renders a field. Note that this instance will be merged with the one passed directly to Builder#field.
24 25 26 |
# File 'lib/edit_in_place/configuration.rb', line 24 def @field_options end |
#field_types ⇒ FieldTypeRegistrar
The FieldTypeRegistrar used to store the list of registered field types.
19 20 21 |
# File 'lib/edit_in_place/configuration.rb', line 19 def field_types @field_types end |
Instance Method Details
#dup ⇒ Configuration
Creates a deep copy of this EditInPlace::Configuration that can be safely modified.
39 40 41 42 43 44 45 46 |
# File 'lib/edit_in_place/configuration.rb', line 39 def dup c = Configuration.new c.field_types = field_types.dup c. = .dup # Note that this is purposely NOT a deep copy---it doesn't make sense to duplicate classes. c.defined_middlewares = defined_middlewares.dup c end |