Module: SimpleExposure::Core

Extended by:
ActiveSupport::Concern
Defined in:
lib/simple_exposure/core.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

UnknownExtension =
Class.new(NameError)

Instance Method Summary collapse

Instance Method Details

#_apply_exposure_extension(attribute, extension) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/simple_exposure/core.rb', line 23

def _apply_exposure_extension(attribute, extension)
  value = send(attribute)

  unless value.nil?
    extension = _exposure_extension_class(extension)
    send :"#{attribute}=", extension.apply(value, self)
  end
end

#_apply_exposure_extensionsObject



15
16
17
18
19
20
21
# File 'lib/simple_exposure/core.rb', line 15

def _apply_exposure_extensions
  _exposure_extensions.each do |attribute, extensions|
    extensions.each do |extension|
      _apply_exposure_extension(attribute, extension)
    end
  end
end

#_exposure_extension_class(extension) ⇒ Object



32
33
34
35
36
# File 'lib/simple_exposure/core.rb', line 32

def _exposure_extension_class(extension)
  Extensions.const_get(extension.camelize)
rescue NameError
  raise UnknownExtension, "Unknown extension: #{extension}"
end