Class: PlainParams
- Inherits:
-
Object
- Object
- PlainParams
- Extended by:
- ActiveModel::Naming
- Includes:
- ActiveModel::Conversion, ActiveModel::Validations
- Defined in:
- lib/plain_params.rb
Class Attribute Summary collapse
-
.real_fields ⇒ Object
Returns the value of attribute real_fields.
-
.virtual_fields ⇒ Object
Returns the value of attribute virtual_fields.
Instance Method Summary collapse
-
#initialize(params_attributes = {}) ⇒ PlainParams
constructor
A new instance of PlainParams.
- #persisted? ⇒ Boolean
- #real_values ⇒ Object
- #values ⇒ Object
- #virtual_values ⇒ Object
Constructor Details
#initialize(params_attributes = {}) ⇒ PlainParams
Returns a new instance of PlainParams.
8 9 10 11 12 13 14 15 16 |
# File 'lib/plain_params.rb', line 8 def initialize(params_attributes = {}) raise 'No @real_fields or @virtual_fields provided in the class definition' if self.class.real_fields.nil? && self.class.virtual_fields.nil? self.class.real_fields ||= [] self.class.virtual_fields ||= [] setup_accessors self.attributes = params_attributes end |
Class Attribute Details
.real_fields ⇒ Object
Returns the value of attribute real_fields.
19 20 21 |
# File 'lib/plain_params.rb', line 19 def real_fields @real_fields end |
.virtual_fields ⇒ Object
Returns the value of attribute virtual_fields.
19 20 21 |
# File 'lib/plain_params.rb', line 19 def virtual_fields @virtual_fields end |
Instance Method Details
#persisted? ⇒ Boolean
31 |
# File 'lib/plain_params.rb', line 31 def persisted? = false |
#real_values ⇒ Object
29 |
# File 'lib/plain_params.rb', line 29 def real_values = values[:real] |
#values ⇒ Object
22 23 24 25 26 27 |
# File 'lib/plain_params.rb', line 22 def values { real: self.class.real_fields.to_h { [it, send(it)] }, virtual: self.class.virtual_fields.to_h { [it, send(it)] } } end |
#virtual_values ⇒ Object
30 |
# File 'lib/plain_params.rb', line 30 def virtual_values = values[:virtual] |