Class: PlainParams

Inherits:
Object
  • Object
show all
Extended by:
ActiveModel::Naming
Includes:
ActiveModel::Conversion, ActiveModel::Validations
Defined in:
lib/plain_params.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params_attributes = {}) ⇒ PlainParams

Returns a new instance of PlainParams.



8
9
10
11
12
13
14
15
# 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? and self.class.virtual_fields.nil?)

  self.class.real_fields ||= []
  self.class.virtual_fields ||= []

  self.attributes = params_attributes
end

Class Method Details

.real_fieldsObject



17
# File 'lib/plain_params.rb', line 17

def self.real_fields = @real_fields

.virtual_fieldsObject



18
# File 'lib/plain_params.rb', line 18

def self.virtual_fields = @virtual_fields

Instance Method Details

#persisted?Boolean

Returns:

  • (Boolean)


32
# File 'lib/plain_params.rb', line 32

def persisted? = false

#real_valuesObject



29
# File 'lib/plain_params.rb', line 29

def real_values = values[:real]

#valuesObject



20
21
22
23
24
25
26
27
# File 'lib/plain_params.rb', line 20

def values
  fields_values = {}

  fields_values[:real] = self.class.real_fields.map { |afield| [afield, send(afield)] }.to_h
  fields_values[:virtual] = self.class.virtual_fields.map { |afield| [afield, send(afield)] }.to_h

  fields_values
end

#virtual_valuesObject



30
# File 'lib/plain_params.rb', line 30

def virtual_values = values[:virtual]