Class: Wes::Data::API::Challenge

Inherits:
Object
  • Object
show all
Defined in:
lib/wes/data/api/challenge.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id = nil) ⇒ Challenge

Returns a new instance of Challenge.



8
9
10
# File 'lib/wes/data/api/challenge.rb', line 8

def initialize(id = nil)
  @id = id
end

Class Method Details

.allObject



12
13
14
# File 'lib/wes/data/api/challenge.rb', line 12

def self.all
  new.all
end

.closedObject



16
17
18
# File 'lib/wes/data/api/challenge.rb', line 16

def self.closed
  new.closed
end

.draftsObject



20
21
22
# File 'lib/wes/data/api/challenge.rb', line 20

def self.drafts
  new.drafts
end

.find(id) ⇒ Object



24
25
26
# File 'lib/wes/data/api/challenge.rb', line 24

def self.find(id)
  new.find id
end

.openObject



28
29
30
# File 'lib/wes/data/api/challenge.rb', line 28

def self.open
  new.open
end

Instance Method Details

#allObject



32
33
34
# File 'lib/wes/data/api/challenge.rb', line 32

def all
  client.get routes.challenges
end

#closedObject



36
37
38
# File 'lib/wes/data/api/challenge.rb', line 36

def closed
  client.get "#{routes.challenges}/closed"
end

#draftsObject



40
41
42
# File 'lib/wes/data/api/challenge.rb', line 40

def drafts
  client.get "#{routes.challenges}/drafts"
end

#find(id) ⇒ Object



44
45
46
# File 'lib/wes/data/api/challenge.rb', line 44

def find(id)
  client.get("#{routes.challenge}/#{id}").first
end

#openObject



48
49
50
# File 'lib/wes/data/api/challenge.rb', line 48

def open
  client.get "#{routes.challenges}/open"
end

#videosObject

Raises:

  • (ArgumentError)


52
53
54
55
# File 'lib/wes/data/api/challenge.rb', line 52

def videos
  raise(ArgumentError, "ID not set for Challenge") if id.nil?
  client.get "#{routes.challenge}/#{id}#{routes.videos}"
end