Sha256: d7eaed379ed2aec9b5947a932a492cf53317b16af87c805642be4f3c94fdde70

Contents?: true

Size: 967 Bytes

Versions: 1

Compression:

Stored size: 967 Bytes

Contents

class Etcdv3
  class Request

    attr_reader :metacache

    def initialize(hostname, credentials, metadata, metacache)
      @hostname = hostname
      @credentials = credentials
      @metadata = metadata
      @metacache = metacache
    end

    def handle(interface, method, method_args=[])
      interface = resolve_interface(interface)
      interface.send(method, *method_args)
    end

    private

    def resolve_interface(interface)
      self.send(interface)
    end

    def auth
      @auth ||= Etcdv3::Auth.new(@hostname, @credentials, @metadata)
    end

    def kv
      @kv ||= Etcdv3::KV.new(@hostname, @credentials, @metadata)
    end

    def maintenance
      @maintenance ||= Etcdv3::Maintenance.new(@hostname, @credentials, @metadata)
    end

    def lease
      @lease ||= Etcdv3::Lease.new(@hostname, @credentials, @metadata)
    end

    def watch
      @watch ||= Etcdv3::Watch.new(@hostname, @credentials, @metadata)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
etcdv3-0.4.0 lib/etcdv3/request.rb