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