Class: AccessGrid::AccessCards

Inherits:
Object
  • Object
show all
Defined in:
lib/accessgrid/access_cards.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ AccessCards

Returns a new instance of AccessCards.



4
5
6
# File 'lib/accessgrid/access_cards.rb', line 4

def initialize(client)
  @client = client
end

Instance Method Details

#delete(card_id) ⇒ Object



55
56
57
# File 'lib/accessgrid/access_cards.rb', line 55

def delete(card_id)
  manage_state(card_id, 'delete')
end

#get(card_id:) ⇒ Object



16
17
18
19
# File 'lib/accessgrid/access_cards.rb', line 16

def get(card_id:)
  response = @client.make_request(:get, "/v1/key-cards/#{card_id}")
  Card.new(response)
end

#issue(params) ⇒ Object Also known as: provision



8
9
10
11
# File 'lib/accessgrid/access_cards.rb', line 8

def issue(params)
  response = @client.make_request(:post, '/v1/key-cards', params)
  Card.new(response)
end

#list(template_id, state = nil) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/accessgrid/access_cards.rb', line 26

def list(template_id, state = nil)
  params = { template_id: template_id }
  params[:state] = state if state
  
  response = @client.make_request(:get, '/v1/key-cards', nil, params)
  response.fetch('keys', []).map { |item| Card.new(item) }
end

#resume(card_id) ⇒ Object



47
48
49
# File 'lib/accessgrid/access_cards.rb', line 47

def resume(card_id)
  manage_state(card_id, 'resume')
end

#suspend(card_id) ⇒ Object



43
44
45
# File 'lib/accessgrid/access_cards.rb', line 43

def suspend(card_id)
  manage_state(card_id, 'suspend')
end


51
52
53
# File 'lib/accessgrid/access_cards.rb', line 51

def unlink(card_id)
  manage_state(card_id, 'unlink')
end

#update(card_id, params) ⇒ Object



21
22
23
24
# File 'lib/accessgrid/access_cards.rb', line 21

def update(card_id, params)
  response = @client.make_request(:patch, "/v1/key-cards/#{card_id}", params)
  Card.new(response)
end