-
Notifications
You must be signed in to change notification settings - Fork 0
/
performance.rb
70 lines (54 loc) · 1.5 KB
/
performance.rb
1
2
3
4
5
6
7
8
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# frozen_string_literal: true
require 'bigdecimal'
require 'time'
module Kentaa
module Api
module Resources
class Performance < Resource
def object_key
"ActionPerformance_#{id}"
end
def action_id
data[:action_id]
end
def action
Kentaa::Api::Resources::Action.new(config, id: action_id, options: options)
end
def title
data[:title]
end
def description
data[:description]
end
def performance_type
data[:performance_type]
end
def performance_at
Time.parse(data[:performance_at])
end
def distance
BigDecimal(data[:distance])
end
def unit
data[:unit]
end
def photos(options = {})
@photos ||= Kentaa::Api::Resources::List.new(config, options.merge(resource_class: Kentaa::Api::Resources::PerformancePhoto, endpoint_path: "/actions/#{action_id}/performances/#{id}/photos"))
end
private
def load_resource
request.get("#{endpoint_path}/#{id}", options)
end
def create_resource(attributes)
request.post(endpoint_path, options, attributes)
end
def update_resource(attributes)
request.patch("#{endpoint_path}/#{id}", options, attributes)
end
def delete_resource
request.delete("#{endpoint_path}/#{id}", options)
end
end
end
end
end