Class: CodewarsApi::TrainNextKata

Inherits:
Object
  • Object
show all
Includes:
Common
Defined in:
lib/codewars_api/train_next_kata.rb

Instance Method Summary collapse

Methods included from Common

#reason, #success, #to_h

Constructor Details

#initialize(options) ⇒ TrainNextKata

Returns a new instance of TrainNextKata.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/codewars_api/train_next_kata.rb', line 5

def initialize(options)
  api_key = options.delete!(:api_key)
  language = options.delete!(:language)

  request_options = {}
  request_options = RequestHelper.add_api_key(request_options, api_key)
  request_options = RequestHelper.add_body_options(request_options, options)

  @response = RequestHelper.post(
    "#{CodewarsApi::API_URL}/code-challenges/#{language}/train",
    request_options
  )
  ResponseChecker.check_errors(@response)
end

Instance Method Details

#authorObject



36
37
38
# File 'lib/codewars_api/train_next_kata.rb', line 36

def author
  @response.to_h['author']
end

#average_completionObject



44
45
46
# File 'lib/codewars_api/train_next_kata.rb', line 44

def average_completion
  @response.to_h['averageCompletion']
end

#codeObject



68
69
70
# File 'lib/codewars_api/train_next_kata.rb', line 68

def code
  @response.to_h['session'].andand['code']
end

#code_setupObject



60
61
62
# File 'lib/codewars_api/train_next_kata.rb', line 60

def code_setup
  @response.to_h['session'].andand['setup']
end

#descriptionObject



32
33
34
# File 'lib/codewars_api/train_next_kata.rb', line 32

def description
  @response.to_h['description']
end

#hrefObject



28
29
30
# File 'lib/codewars_api/train_next_kata.rb', line 28

def href
  @response.to_h['href']
end

#nameObject



20
21
22
# File 'lib/codewars_api/train_next_kata.rb', line 20

def name
  @response.to_h['name']
end

#project_idObject



52
53
54
# File 'lib/codewars_api/train_next_kata.rb', line 52

def project_id
  @response.to_h['session'].andand['projectId']
end

#rankObject



40
41
42
# File 'lib/codewars_api/train_next_kata.rb', line 40

def rank
  @response.to_h['rank']
end

#slugObject



24
25
26
# File 'lib/codewars_api/train_next_kata.rb', line 24

def slug
  @response.to_h['slug']
end

#solution_idObject



56
57
58
# File 'lib/codewars_api/train_next_kata.rb', line 56

def solution_id
  @response.to_h['session'].andand['solutionId']
end

#tagsObject



48
49
50
# File 'lib/codewars_api/train_next_kata.rb', line 48

def tags
  @response.to_h['tags']
end

#tests_setupObject



64
65
66
# File 'lib/codewars_api/train_next_kata.rb', line 64

def tests_setup
  @response.to_h['session'].andand['exampleFixture']
end