lib/persistent_dmnd/dmndifier.rb in persistent-dmnd-2.0.5 vs lib/persistent_dmnd/dmndifier.rb in persistent-dmnd-2.0.6

- old
+ new

@@ -39,34 +39,33 @@ extend Persistent๐Ÿ’Ž DEFAULT_OPTIONS = { on_unknown: proc { |arg| raise ArgumentError, "Could not ๐Ÿ’Žify an object of class #{arg.class}. Maybe you need to implement :to_๐Ÿ’Ž?" - }, + } }.freeze private_constant :DEFAULT_OPTIONS def self.[](arg, options = DEFAULT_OPTIONS) options = DEFAULT_OPTIONS.merge(options) - case - when arg.respond_to?(:to_๐Ÿ’Ž) + if arg.respond_to?(:to_๐Ÿ’Ž) arg.to_๐Ÿ’Ž - when arg.respond_to?(:to_dmnd) + elsif arg.respond_to?(:to_dmnd) arg.to_dmnd - when arg.respond_to?(:to_hash) + elsif arg.respond_to?(:to_hash) h๐Ÿ’Ž[arg.to_hash] - when arg.is_a?(Hamster::Set) || arg.is_a?(Hamster::SortedSet) + elsif arg.is_a?(Hamster::Set) || arg.is_a?(Hamster::SortedSet) s๐Ÿ’Ž[*arg.to_a] - when arg.respond_to?(:to_ary) + elsif arg.respond_to?(:to_ary) a๐Ÿ’Ž[*arg.to_ary] - when defined?(Concurrent::Tuple) && arg.is_a?(Concurrent::Tuple) + elsif defined?(Concurrent::Tuple) && arg.is_a?(Concurrent::Tuple) a๐Ÿ’Ž[*arg.to_a] - when arg.respond_to?(:to_set) + elsif arg.respond_to?(:to_set) s๐Ÿ’Ž[*arg.to_set.to_a] - when defined?(Concurrent::Map) && arg.is_a?(Concurrent::Map) + elsif defined?(Concurrent::Map) && arg.is_a?(Concurrent::Map) h๐Ÿ’Ž[Persistent๐Ÿ’Ž::Ruby19And20Support.enumerable_to_h(arg.enum_for(:each_pair))] - when arg.respond_to?(:each_pair) + elsif arg.respond_to?(:each_pair) h๐Ÿ’Ž[Persistent๐Ÿ’Ž::Ruby19And20Support.enumerable_to_h(arg.each_pair)] else options.fetch(:on_unknown).call(arg) end end