module ClientDataAdapter::Util

Public Instance Methods

merge(*elements) click to toggle source

Merge some hash.

@param [Hash] elements

# File lib/client-data-adapter/util.rb, line 9
def merge(*elements)
  {}.tap do |hsh|
    elements.each do |elem|
      elem.each do |k, v|
        hsh[k] = v
      end
    end
  end
end
to_lambda(source_proc) click to toggle source

Convert a Proc to Lambda.

@param [Proc] source_proc @return [Lambda]

# File lib/client-data-adapter/util.rb, line 23
def to_lambda(source_proc)
  return source_proc if source_proc.lambda?

  unbound_method = Module.new.module_eval do
    instance_method(define_method(:_, &source_proc))
  end

  lambda do |*args, &block|
    unbound_method.bind(self).call(*args, &block)
  end
end