sportdb-structs 0.3.1 → 0.4.0

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: a3fbeabfa958e34c5c809d3b923d528818f6fac42b7e72165e49d5d77d60314c
4
- data.tar.gz: 746d77f86ac8f8e1b5f8c8a928ee43a34714707c3dc026627e7322d9db3752df
3
+ metadata.gz: 70fb10b4bb83d5146eb004d6c3143045e0efa430095a091429c51695a15461c6
4
+ data.tar.gz: b8377ca328aec94770b9d7e90fc60b83cbf2264a4b9ce295af7acd4846586f78
5
5
  SHA512:
6
- metadata.gz: 0fa12c96f27937106ac161ff8377f7a9a3a1b9ed100d756b87e3cbac82c4f1574a14eb1149a54328368485932d18bb73aa98738a82a59e720c56ec47f5fb3087
7
- data.tar.gz: 5271fbd2f5a510c44cf13520681397b541afa47481f33f475fe14ea910b5cc21bead7705838d4c0240ad2debab6fb489ae33e7b26e5c4c463e5120f009825203
6
+ metadata.gz: edb013626541448b4f4211d2afc779f018fe27a7b2b33af99bfce9a0876d243d4ba4079677ce7e14e5911ad7e013992632600dd5bee0958db7fc37900ded7a55
7
+ data.tar.gz: '08964910e951e7c92ef3a46a5348b1111109d326d9aed0a41311a63047de63f6a11c21bffbe8cb0f5becdb78240b66ab17817e89b2eca53059ea7b8ed601756a'
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- ### 0.3.1
1
+ ### 0.4.0
2
2
 
3
3
  ### 0.0.1 / 2020-08-24
4
4
 
@@ -178,8 +178,59 @@ class Match
178
178
  # def scorei_str # pretty print (half time) scores; convenience method
179
179
  # "#{@score1i}-#{@score2i}"
180
180
  # end
181
- end # class Match
182
181
 
182
+
183
+ def as_json
184
+ ##
185
+ data = {}
186
+
187
+ ## check round
188
+ if @round
189
+ data[:round ] = if round.is_a?( Integer )
190
+ "Matchday #{@round}"
191
+ else ## assume string
192
+ @round
193
+ end
194
+ end
195
+
196
+
197
+ data[:num] = @num if @num
198
+ if @date
199
+ ## assume 2020-09-19 date format!!
200
+ data[:date] = @date.is_a?( String ) ? @date : @date.strftime('%Y-%m-%d')
201
+
202
+ data[:time] = @time if @time
203
+ end
204
+
205
+ data[:team1] = @team1.is_a?( String ) ? @team1 : @team1.name
206
+ data[:team2] = @team2.is_a?( String ) ? @team2 : @team2.name
207
+
208
+ data[:score] = {}
209
+
210
+ data[:score][:ht] = [@score1i, @score2i] if @score1i && @score2i
211
+ data[:score][:ft] = [@score1, @score2] if @score1 && @score2
212
+ data[:score][:et] = [@score1et, @score2et] if @score1et && @score2et
213
+ data[:score][:p] = [@score1p, @score2p] if @score1p && @score2p
214
+
215
+ data[:group] = @group if @group
216
+
217
+ =begin
218
+ "round": "Spieltag 1",
219
+ "date": "2020-09-19",
220
+ "team1": "Eintracht Frankfurt",
221
+ "team2": "Arminia Bielefeld",
222
+ "score": {
223
+ "ft": [
224
+ 1,
225
+ 1
226
+ ]
227
+ }
228
+ =end
229
+ data
230
+ end
231
+
232
+
233
+ end # class Match
183
234
  end # module Sports
184
235
 
185
236
 
@@ -18,18 +18,19 @@ module Sports
18
18
  @auto = auto # auto-created (inline reference/header without proper definition before)
19
19
  end
20
20
 
21
- def pretty_print( printer )
22
- ## todo/check - how to display/format key - use () or not - why? why not?
21
+ def pretty_print( printer )
22
+ ## todo/check - how to display/format key - use () or not - why? why not?
23
23
  buf = String.new
24
24
  buf << "<Round: "
25
25
  buf << "(#{@num}) " if @num
26
26
  buf << "#{@name}, "
27
- buf << "#{@start_date} - #{@end_date}"
27
+ buf << "#{@start_date}"
28
+ buf << " - #{@end_date}" if @start_date != @end_date
28
29
  buf << " (knockout)" if @knockout
29
30
  buf << " (auto)" if @auto
30
31
  buf << ">"
31
-
32
- printer.text( buf )
32
+
33
+ printer.text( buf )
33
34
  end
34
35
  end # class Round
35
36
  end # module Sports
@@ -3,8 +3,8 @@ module SportDb
3
3
  module Module
4
4
  module Structs
5
5
  MAJOR = 0 ## todo: namespace inside version or something - why? why not??
6
- MINOR = 3
7
- PATCH = 1
6
+ MINOR = 4
7
+ PATCH = 0
8
8
  VERSION = [MAJOR,MINOR,PATCH].join('.')
9
9
 
10
10
  def self.version
@@ -65,13 +65,45 @@ end # module Sports
65
65
 
66
66
 
67
67
 
68
+
69
+
70
+ ##
71
+ ## add all structs in SportDb::Import namespace too
72
+ module SportDb
73
+ module Import
74
+ Season = ::Season ## add a convenience alias for top-level Season class
75
+
76
+ ## add "old" convenience aliases for structs - why? why not?
77
+ ## todo/check: just use include Sports !!!!
78
+ Country = ::Sports::Country
79
+ League = ::Sports::League
80
+ Group = ::Sports::Group
81
+ Round = ::Sports::Round
82
+ Match = ::Sports::Match
83
+ Matchlist = ::Sports::Matchlist
84
+ Goal = ::Sports::Goal
85
+ Team = ::Sports::Team
86
+ NationalTeam = ::Sports::NationalTeam
87
+ Club = ::Sports::Club
88
+ Standings = ::Sports::Standings
89
+ TeamUsage = ::Sports::TeamUsage
90
+
91
+ Ground = ::Sports::Ground
92
+
93
+ Player = ::Sports::Player
94
+
95
+ EventInfo = ::Sports::EventInfo
96
+ end # module Import
97
+ end # module SportDb
98
+
99
+
100
+
101
+
68
102
  #####
69
103
  # note: add Sport and Football convenience alias - why? why not?
70
104
  Sport = Sports
71
105
  Football = Sports
72
106
 
73
107
 
74
-
75
-
76
108
  puts SportDb::Module::Structs.banner # say hello
77
109
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportdb-structs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
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-08-23 00:00:00.000000000 Z
11
+ date: 2024-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: alphabets