Sha256: f1e3104e2ef69b69cebb759e003fc661f28511e3caf3eaf28a754c26beff90ef

Contents?: true

Size: 339 Bytes

Versions: 3

Compression:

Stored size: 339 Bytes

Contents

module ConfigMapper

  module Factory

    def self.resolve(arg)
      return arg if arg.respond_to?(:new)
      return ProcFactory.new(arg) if arg.respond_to?(:call)
      raise ArgumentError, "invalid factory"
    end

  end

  class ProcFactory

    def initialize(f)
      @f = f
    end

    def new
      @f.call
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
config_mapper-1.7.0 lib/config_mapper/factory.rb
config_mapper-1.6.0 lib/config_mapper/factory.rb
config_mapper-1.5.0 lib/config_mapper/factory.rb