Module: Deploygate::Api::Invite

Defined in:
lib/deploygate/api/invite.rb

Defined Under Namespace

Modules: Role

Class Method Summary collapse

Class Method Details

.add_members(owner_name, app_id, token, users, role = Role::DEVELOPER) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/deploygate/api/invite.rb', line 15

def add_members(owner_name, app_id, token, users, role = Role::DEVELOPER)
  params = {
    token: token,
    users: Array(users).join(","),
    role:  role,
  }
  response = connection.post(endpoint_path(owner_name, app_id), params)
  response.body
end

.connectionObject



34
35
36
37
38
39
40
41
# File 'lib/deploygate/api/invite.rb', line 34

def connection
  Faraday.new(url: BASE_URL) do |faraday|
    faraday.request :url_encoded
    faraday.response :logger
    faraday.response :json
    faraday.adapter :net_http
  end
end

.endpoint_path(owner_name, app_id) ⇒ Object



43
44
45
46
47
48
# File 'lib/deploygate/api/invite.rb', line 43

def endpoint_path(owner_name, app_id)
  path = "/api/users/%<owner_name>s/apps/%<app_id>s/members" % {
    owner_name: owner_name,
    app_id: app_id,
  }
end

.get_members(owner_name, app_id, token) ⇒ Object



9
10
11
12
13
# File 'lib/deploygate/api/invite.rb', line 9

def get_members(owner_name, app_id, token)
  params = { token: token }
  response = connection.get(endpoint_path(owner_name, app_id), params)
  response.body
end

.remove_members(owner_name, app_id, token, users) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/deploygate/api/invite.rb', line 25

def remove_members(owner_name, app_id, token, users)
  params = {
    token: token,
    users: Array(users).join(","),
  }
  response = connection.delete(endpoint_path(owner_name, app_id), params)
  response.body
end