spoll 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84c96351fb151e16778a9bf6d8d47ccdf88bd30a
4
- data.tar.gz: e6e8ead477d379bc25b94bb3d7e8cbf49fd70d43
3
+ metadata.gz: e4c93138850732759a693db59dfc427df18a4373
4
+ data.tar.gz: 11442e2b93c26c15628bbaf4810f9feb25f7743b
5
5
  SHA512:
6
- metadata.gz: 043a9f772592a874b40a8325cb501a80b8b6acd36b3041fc3923a679b5e9826f37fbccb609041212bf2068bf55959fd291e2111f2523424a6f191edb996e18e0
7
- data.tar.gz: 566a87841753105ac4c180ab94056f660974f08ad20d18633f665fc5d1eadea71e7fa7c27e8253ecebd953688ea11d5c481dfd69ed665eb910f9a8366e6c1d1e
6
+ metadata.gz: cfb0e5fa0a51855c086ccd07bd2ae8c3da7f77d85275f6f32ce12c2fad6c22d6f77d8f238e1ea4e50ac92d9d2e59c77f21d26de794553b9c52d67c980992590a
7
+ data.tar.gz: e6b7cf1c1e4148f1d1ee3bbf8d28cd0e77d55410a6bf5aec3daa0915aecc57f7119e2e269334b04eba941cc79eacb71e2edd7a4cd9721da055bf0199eb30d42f
@@ -19,12 +19,7 @@ module Spoll
19
19
  end
20
20
 
21
21
  def get_match(id, params = {})
22
- json = get("/matches/#{id}", params)
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
- json = get("/events/#{id}", params)
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
 
@@ -14,10 +14,11 @@ module Spoll
14
14
  @teams = []
15
15
 
16
16
  includes = [
17
- { model: Spoll::Models::Match, key: 'matches', attribute: @matches },
18
- { model: Spoll::Models::Event, key: 'events', attribute: @events },
19
- { model: Spoll::Models::EventType, key: 'event_types', attribute: @event_types },
20
- { model: Spoll::Models::Team, key: 'teams', attribute: @teams }
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].each do |record|
42
- attribute << model.new(record)
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.set_relations(self)
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
@@ -1,3 +1,3 @@
1
1
  module Spoll
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'
3
3
  end
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.3.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-06-11 00:00:00.000000000 Z
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.4.5
113
+ rubygems_version: 2.6.7
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: API client for spoll