Sha256: 4cc23cddcb38c3410ea25a3266bf7c105d02b0505a2ffaa8a4fdb1aca7f142ef

Contents?: true

Size: 1.62 KB

Versions: 8

Compression:

Stored size: 1.62 KB

Contents

class Apitool::Client::ApiKey < Apitool::Client::ApitoolClient

  #  ApiKey
  #
  #  {
  #    :api_key => {
  #      :id => NUMERIC,
  #      :token => "TOKEN",
  #      :roles=>[
  #        {
  #          :role => {
  #            :id => 1,
  #            :name=>"master"
  #          }
  #        },
  #        {
  #          :role => {
  #            :id => 2,
  #            :name=>"admin"
  #          }
  #        },
  #        {
  #          :role => {
  #            :id => 3,
  #            :name=>"user"
  #          }
  #        }
  #      ]
  #    }
  #  }

  def index
    get('/api_keys') do |response, request, result|
      if response.code == 200
        parse(response)
      else
        nil
      end
    end
  end

  def show(token)
    get("/api_keys/#{token}") do |response|
      if response.code == 200
        parse(response)
      else
        nil
      end
    end
  end

  # roles = 3
  # roles = [3]
  # roles = [1, 2, 3]
  def create(roles = 3)
    parameters = {
      api_key: {
        role_ids: [roles].flatten
      }
    }
    post("/api_keys", parameters) do |response|
      if response.code == 200
        parse(response)
      else
        nil
      end
    end
  end

  def update(token, roles = 3)
    parameters = {
      api_key: {
        role_ids: [roles].flatten
      }
    }
    put("/api_keys/#{token}", parameters) do |response|
      if response.code == 200
        parse(response)
      else
        nil
      end
    end
  end

  def destroy(token)
    delete("/api_keys/#{token}") do |response|
      if response.code == 200
        parse(response)
      else
        nil
      end
    end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
apitool-client-0.0.8 lib/apitool/client/api_key.rb
apitool-client-0.0.7 lib/apitool/client/api_key.rb
apitool-client-0.0.6 lib/apitool/client/api_key.rb
apitool-client-0.0.5 lib/apitool/client/api_key.rb
apitool-client-0.0.4 lib/apitool/client/api_key.rb
apitool-client-0.0.3 lib/apitool/client/api_key.rb
apitool-client-0.0.2 lib/apitool/client/api_key.rb
apitool-client-0.0.1 lib/apitool/client/api_key.rb