Module: Alexa::SMAPI::Endpoints::SkillManagement

Included in:
Client
Defined in:
lib/alexa/smapi/endpoints/skill_management.rb

Instance Method Summary collapse

Instance Method Details

#create_skill(vendor_id, manifest) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/alexa/smapi/endpoints/skill_management.rb', line 45

def create_skill vendor_id, manifest

  endpoint = '/v1/skills'

  body = {
      "vendorId": vendor_id,
  }.merge(manifest)

  post(endpoint, {body: body.to_json})

end

#delete_skill(skill_id) ⇒ Object



73
74
75
76
77
78
79
# File 'lib/alexa/smapi/endpoints/skill_management.rb', line 73

def delete_skill skill_id

  endpoint = "/v1/skills/#{skill_id}"

  delete(endpoint)

end

#get_skill(skill_id, stage = 'development') ⇒ Object



37
38
39
40
41
42
43
# File 'lib/alexa/smapi/endpoints/skill_management.rb', line 37

def get_skill skill_id, stage='development'

  endpoint = "/v1/skills/#{skill_id}/stages/#{stage}/manifest"

  get(endpoint)

end

#get_skill_resource_status(skill_id, resource = 'manifest') ⇒ Object



65
66
67
68
69
70
71
# File 'lib/alexa/smapi/endpoints/skill_management.rb', line 65

def get_skill_resource_status skill_id, resource='manifest'

  endpoint = "/v1/skills/#{skill_id}/status?resource=#{resource}"

  get(endpoint)

end

#get_skills(vendor_id, skill_ids = [], max_results = nil, next_token = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/alexa/smapi/endpoints/skill_management.rb', line 9

def get_skills vendor_id, skill_ids=[], max_results=nil, next_token=nil

  endpoint = "/v1/skills?vendorId=#{vendor_id}"

  if (!skill_ids.nil? && !skill_ids.empty?) && skill_ids.length < 10

    skill_ids_param = ''

    skill_ids.each do |id|
      param = "skillId=#{id}"
      skill_ids_param += "&#{param}"
    end

    endpoint += "#{skill_ids_param}"

  end

  if (skill_ids.nil? || skill_ids.empty?) && (!max_results.nil? && !max_results.to_s.empty?)
    endpoint += "&maxResults=#{max_results}"
  end

  if (skill_ids.nil? || skill_ids.empty?) && (!next_token.nil? && !next_token.empty?)
    endpoint += "&nextToken=#{next_token}"
  end

  get(endpoint)
end

#update_skill(skill_id, manifest) ⇒ Object



57
58
59
60
61
62
63
# File 'lib/alexa/smapi/endpoints/skill_management.rb', line 57

def update_skill skill_id, manifest

  endpoint = "/v1/skills/#{skill_id}/stages/development/manifest"

  put(endpoint, {body: manifest.to_json})

end