module Moneta::EachKeySupport
This provides an each_key
implementation that works in most cases. @api private
Public Class Methods
included(base)
click to toggle source
# File lib/moneta/each_key_support.rb, line 23 def self.included(base) base.supports(:each_key) if base.respond_to?(:supports) end
Public Instance Methods
each_key() { |key| ... }
click to toggle source
# File lib/moneta/each_key_support.rb, line 5 def each_key return enum_for(:each_key) unless block_given? if @backend.respond_to?(:each_key) @backend.each_key { |key| yield key } elsif @backend.respond_to?(:keys) if keys = @backend.keys keys.each { |key| yield key } end elsif @backend.respond_to?(:each) @backend.each { |key, _| yield key } else raise ::NotImplementedError, "No enumerable found on backend" end self end