spoll 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/spoll/client.rb +4 -13
- data/lib/spoll/response.rb +24 -8
- data/lib/spoll/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4c93138850732759a693db59dfc427df18a4373
|
4
|
+
data.tar.gz: 11442e2b93c26c15628bbaf4810f9feb25f7743b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfb0e5fa0a51855c086ccd07bd2ae8c3da7f77d85275f6f32ce12c2fad6c22d6f77d8f238e1ea4e50ac92d9d2e59c77f21d26de794553b9c52d67c980992590a
|
7
|
+
data.tar.gz: e6b7cf1c1e4148f1d1ee3bbf8d28cd0e77d55410a6bf5aec3daa0915aecc57f7119e2e269334b04eba941cc79eacb71e2edd7a4cd9721da055bf0199eb30d42f
|
data/lib/spoll/client.rb
CHANGED
@@ -19,12 +19,7 @@ module Spoll
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def get_match(id, params = {})
|
22
|
-
|
23
|
-
response = Spoll::Response.new(json)
|
24
|
-
match = Models::Match.new(json.parsed['match'])
|
25
|
-
match.set_relations(response)
|
26
|
-
response.match = match
|
27
|
-
response
|
22
|
+
get("/matches/#{id}", params)
|
28
23
|
end
|
29
24
|
|
30
25
|
def get_events(params)
|
@@ -32,12 +27,7 @@ module Spoll
|
|
32
27
|
end
|
33
28
|
|
34
29
|
def get_event(id, params = {})
|
35
|
-
|
36
|
-
response = Spoll::Response.new(json)
|
37
|
-
event = Models::Event.new(json.parsed['event'])
|
38
|
-
event.set_relations(response)
|
39
|
-
response.event = event
|
40
|
-
response
|
30
|
+
get("/events/#{id}", params)
|
41
31
|
end
|
42
32
|
|
43
33
|
private
|
@@ -60,7 +50,8 @@ module Spoll
|
|
60
50
|
|
61
51
|
def request(method, url, params, body)
|
62
52
|
with_retry do
|
63
|
-
token.send(method, "/#{version}/#{url}", headers: HEADERS, params: params, body: body.to_json)
|
53
|
+
json = token.send(method, "/#{version}/#{url}", headers: HEADERS, params: params, body: body.to_json)
|
54
|
+
Spoll::Response.new(json)
|
64
55
|
end
|
65
56
|
end
|
66
57
|
|
data/lib/spoll/response.rb
CHANGED
@@ -14,10 +14,11 @@ module Spoll
|
|
14
14
|
@teams = []
|
15
15
|
|
16
16
|
includes = [
|
17
|
-
{ model: Spoll::Models::Match, key: '
|
18
|
-
{ model: Spoll::Models::
|
19
|
-
{ model: Spoll::Models::
|
20
|
-
{ model: Spoll::Models::
|
17
|
+
{ model: Spoll::Models::Match, key: 'match', attribute: 'match' },
|
18
|
+
{ model: Spoll::Models::Match, key: 'matches', attribute: 'matches' },
|
19
|
+
{ model: Spoll::Models::Event, key: 'events', attribute: 'events' },
|
20
|
+
{ model: Spoll::Models::EventType, key: 'event_types', attribute: 'event_types' },
|
21
|
+
{ model: Spoll::Models::Team, key: 'teams', attribute: 'teams' }
|
21
22
|
]
|
22
23
|
|
23
24
|
load_includes(includes)
|
@@ -38,16 +39,31 @@ module Spoll
|
|
38
39
|
|
39
40
|
def load_include(model, key, attribute)
|
40
41
|
if @response.parsed.key?(key)
|
41
|
-
@response.parsed[key]
|
42
|
-
|
42
|
+
parsed = @response.parsed[key]
|
43
|
+
|
44
|
+
if parsed.is_a?(Array)
|
45
|
+
load_array(attribute, parsed, model)
|
46
|
+
else
|
47
|
+
load_single(attribute, parsed, model)
|
43
48
|
end
|
44
49
|
end
|
45
50
|
end
|
46
51
|
|
52
|
+
def load_array(attribute, array, model)
|
53
|
+
array.each do |record|
|
54
|
+
send(attribute) << model.new(record)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def load_single(attribute, value, model)
|
59
|
+
self.send("#{attribute}=", model.new(value))
|
60
|
+
end
|
61
|
+
|
47
62
|
def set_relations(includes)
|
48
63
|
includes.each do |hash|
|
49
|
-
hash[:attribute].each do |record|
|
50
|
-
record
|
64
|
+
[*hash[:attribute]].each do |record|
|
65
|
+
attribute = send(record)
|
66
|
+
attribute.set_relations(self) if attribute.present?
|
51
67
|
end
|
52
68
|
end
|
53
69
|
end
|
data/lib/spoll/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spoll
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "İ. Emre Kutlu"
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth2
|
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
110
|
version: '0'
|
111
111
|
requirements: []
|
112
112
|
rubyforge_project:
|
113
|
-
rubygems_version: 2.
|
113
|
+
rubygems_version: 2.6.7
|
114
114
|
signing_key:
|
115
115
|
specification_version: 4
|
116
116
|
summary: API client for spoll
|