Class: CaseSensitiveAttributes::Transformer

Inherits:
Object
  • Object
show all
Defined in:
lib/case_sensitive_attributes/transformer.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value, kind) ⇒ Transformer

Returns a new instance of Transformer.



8
9
10
11
# File 'lib/case_sensitive_attributes/transformer.rb', line 8

def initialize(value, kind)
  @value = value
  @kind = kind.to_sym
end

Class Method Details

.call(value, kind) ⇒ Object



4
5
6
# File 'lib/case_sensitive_attributes/transformer.rb', line 4

def self.call(value, kind)
  new(value, kind).call
end

Instance Method Details

#callObject



13
14
15
16
# File 'lib/case_sensitive_attributes/transformer.rb', line 13

def call
  raise CaseSensitiveAttributes::IncorrectKind.new("Your kind (#{kind}) is not correct.") if whitelist.exclude?(kind)
  value.present? ? value.to_s.send(kind) : value
end