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

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ Challenge

Returns a new instance of Challenge.



10
11
12
# File 'lib/wes/data/api/challenge.rb', line 10

def initialize(attributes)
  @attributes = attributes
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



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

def attributes
  @attributes
end

Class Method Details

.clientObject



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

def client
  Client.new
end

.configurationObject



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

def configuration
  Configuration
end

.find(id) ⇒ Object



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

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

.routesObject



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

def routes
  configuration.routes
end

Instance Method Details

#allObject



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

def all
  client.get routes.challenges
end

#closedObject



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

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

#draftsObject



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

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

#openObject



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

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

#videosObject

Raises:



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

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