sportdb-readers 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f272d4ffee7d8d56aa09bc05ec0280ab252ef793cc26090206e4dad41824cd43
4
- data.tar.gz: 3343b9b089991220fa61584f166a229ce1bd35aad695a0aef76ac692fc62825e
3
+ metadata.gz: 8b8a59dbab5255cf06addb3d061e308969d39f8a9a90106ee59006630bee4463
4
+ data.tar.gz: 0e212bead4a0e408c639ad7e2a14a76c820a6822065c4c50bfa97f656513a3c1
5
5
  SHA512:
6
- metadata.gz: 665bd28de289348d82f8bb3157e08601f20ebe35794c3e1694802fb77df34151bb15589a784c615c3c83fb3c1ad30a0e66f51a0c4a34a366dd666be3b1249d41
7
- data.tar.gz: d330593cd5ae11a2a887ef365e69c3cd02486623e9a0fbca132466eef7408b65a455ab9ee1cad6f55f6f1d706c7f901f816f23bb01060fd28457ca6df5879092
6
+ metadata.gz: 8f23bbac50bd681fef79202831ad0094c88491abfc27c9f9ad3b7be00b090cbeb0f1045b1b9bfef4281a1e79e554e3e116e1a7d0984dbe7c9112110309fe381e
7
+ data.tar.gz: f38162e554d9760bbaeb024724a842a907d57fb48ceaba727c539e7c1e08f843cd1c82e005d858912fa1e93d602352d4cdd934227312c96acacdf86a335fc08a
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- ### 2.1.0
1
+ ### 2.1.1
2
2
 
3
3
  ### 0.0.1 / 2019-10-29
4
4
 
@@ -213,8 +213,8 @@ class MatchReader ## todo/check: rename to MatchReaderV2 (use plural?) why? w
213
213
 
214
214
  matches.each do |match|
215
215
  ## note: pass along stage (if present): stage - optional from heading!!!!
216
- match = match.update( stage: stage ) if stage
217
- match_rec = Sync::Match.create_or_update( match, event: event_rec )
216
+ match = match.update( stage: stage ) if stage
217
+ match_rec = Sync::Match.create!( match, event: event_rec )
218
218
  end
219
219
  end
220
220
 
@@ -2,10 +2,7 @@ module SportDb
2
2
  module Sync
3
3
 
4
4
  class Match
5
- ### todo/fix: rename to create!! (add update support later) !!!!
6
- ## use update_by_round or update_by_date or update_by_teams or such
7
- ## NO easy (unique always auto-id match) possible!!!!!!
8
- def self.create_or_update( match, event: )
5
+ def self.create!( match, event: )
9
6
  ## note: MUST find round, thus, use bang (!)
10
7
 
11
8
  ## todo/check: allow strings too - why? why not?
@@ -36,10 +33,11 @@ module Sync
36
33
  ## || Team.find_or_create( team1 ) -- note: does NOT work for string (only recs) - what to do?
37
34
  ## || Model::Team.find_by!( name: team1_name )
38
35
  team1_name = match.team1.is_a?( String ) ? match.team1 : match.team1.name
39
- team1_rec = Team.cache[ team1_name ]
40
36
  team2_name = match.team2.is_a?( String ) ? match.team2 : match.team2.name
37
+ team1_rec = Team.cache[ team1_name ]
41
38
  team2_rec = Team.cache[ team2_name ]
42
39
 
40
+
43
41
  ## check optional group (e.g. Group A, etc.)
44
42
  group_rec = if match.group
45
43
  group_name = match.group.is_a?( String ) ? match.group : match.group.name
@@ -58,30 +56,10 @@ module Sync
58
56
  nil
59
57
  end
60
58
 
61
- ### todo/check: what happens if there's more than one match? exception raised??
62
- rec = if ['N. N.', 'N.N.'].include?( team1_name ) && ## some special cases - always assume new record for now (to avoid ambigious update conflict)
63
- ['N. N.', 'N.N.'].include?( team2_name )
64
- ## always assume new record for now
65
- ## check for date or such - why? why not?
66
- nil
67
- elsif round_rec
68
- ## add match status too? allows [abandoned] and [replay] in same round
69
- find_attributes = { round_id: round_rec.id,
70
- team1_id: team1_rec.id,
71
- team2_id: team2_rec.id }
72
-
73
- ## add stage if present to query
74
- find_attributes[ :stage_id] = stage_rec.id if stage_rec
75
-
76
- Model::Match.find_by( find_attributes )
77
- else
78
- ## always assume new record for now
79
- ## check for date or such - why? why not?
80
- nil
81
- end
82
-
83
- if rec.nil?
84
- ## find last pos - check if it can be nil? yes, is nil if no records found
59
+
60
+ rec = nil ## match record
61
+
62
+ ## find last pos - check if it can be nil? yes, is nil if no records found
85
63
  max_pos = Model::Match.where( event_id: event.id ).maximum( 'pos' )
86
64
  max_pos = max_pos ? max_pos+1 : 1
87
65
 
@@ -90,7 +68,6 @@ module Sync
90
68
  team2_id: team2_rec.id,
91
69
  pos: max_pos,
92
70
  num: match.num, ## note - might be nil (not nil for euro, world cup, etc.)
93
- # date: match.date.to_date, ## todo/fix: split and add date & time!!!!
94
71
  date: match.date, # assume iso format as string e.g. 2021-07-10 !!!
95
72
  time: match.time, # assume iso format as string e.g. 21:00 !!!
96
73
  score1: match.score1,
@@ -136,16 +113,8 @@ module Sync
136
113
  )
137
114
  end
138
115
  end
139
- else
140
- # update - todo
141
- puts "!! ERROR - match updates not yet supported (only inserts); sorry"
142
- pp match
143
- puts "---"
144
- puts "found match record:"
145
- pp rec
146
- exit 1
147
- end
148
- rec
116
+
117
+ rec
149
118
  end
150
119
  end # class Match
151
120
 
@@ -5,7 +5,7 @@ module Module
5
5
  module Readers
6
6
  MAJOR = 2 ## todo: namespace inside version or something - why? why not??
7
7
  MINOR = 1
8
- PATCH = 0
8
+ PATCH = 1
9
9
  VERSION = [MAJOR,MINOR,PATCH].join('.')
10
10
 
11
11
  def self.version
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportdb-readers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-26 00:00:00.000000000 Z
11
+ date: 2024-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sportdb-formats