Class: Portunus::FieldConfigurer

Inherits:
Object
  • Object
show all
Defined in:
lib/portunus/field_configurer.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(object:, field:) ⇒ FieldConfigurer

Returns a new instance of FieldConfigurer.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/portunus/field_configurer.rb', line 7

def initialize(object:, field:)
  @object = object

  if field.is_a?(Hash)
    @field = field.keys.first.to_sym
    @field_options = default_field_options.merge(field[field.keys.first])
  else
    @field = field
    @field_options = default_field_options
  end
end

Class Method Details

.for(object, field) ⇒ Object



3
4
5
# File 'lib/portunus/field_configurer.rb', line 3

def self.for(object, field)
  new(object: object, field: field).setup
end

Instance Method Details

#setupObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/portunus/field_configurer.rb', line 19

def setup
  # add the field to a configuration so we can easily determine if it's
  # a field we need to attempt to encrypt and decrypt. We need this in
  # the `field_before_typecast` method since the normal accessors are
  # not used after a validation fail
  register_field

  # setup the methods on the model itself
  define_instance_methods
end