lib/arstotzka/key_reader.rb in arstotzka-1.4.0 vs lib/arstotzka/key_reader.rb in arstotzka-1.4.1
- old
+ new
@@ -46,10 +46,11 @@
end
private
attr_reader :hash, :base_key, :options
+ delegate :key, to: :key_changer
# @private
#
# Checks if hash contains or not the key
#
@@ -64,25 +65,13 @@
hash.key?(key) || hash.key?(key.to_sym)
end
# @private
#
- # Transforms the key to have the correct case
+ # Returns key changer for getting the correct key
#
- # the possible cases (instance attribute) are
- # - lower_camel: for cammel case with first letter lowercase
- # - upper_camel: for cammel case with first letter uppercase
- # - snake: for snake case
- #
- # @return [String] the string transformed
- def key
- @key ||= case options.case
- when :lower_camel
- base_key.camelize(:lower)
- when :upper_camel
- base_key.camelize(:upper)
- when :snake
- base_key.underscore
- end
+ # @return [KeyChanger]
+ def key_changer
+ @key_changer ||= KeyChanger.new(base_key, options)
end
end
end