Sha256: e4e8472032abe61d2680cf714b277c47bbc723ac1bc64b8a3a24ac38e0da725a

Contents?: true

Size: 663 Bytes

Versions: 1

Compression:

Stored size: 663 Bytes

Contents

module FleetAPI::Collection
  def self.included(klass)
    klass.send(:extend, FleetAPI::Collection::Attributes)
  end

  module Attributes
    def model_root(model_root)
      @model_root = model_root
    end

    def model_request(model_request)
      @model_request = model_request
    end
  end

  def model_root
    self.class.instance_variable_get(:@model_root)
  end

  def model_request
    self.class.instance_variable_get(:@model_request)
  end

  def get(id)
    if data = connection.send(self.model_request, {"name" => id}).body[self.model_root] # hax
      new(data)
    else
      nil
    end
  rescue FleetAPI::Response::NotFound
    nil
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
coreos-fleet-api-0.1.0 lib/fleet_api/collection.rb