active_brainz 0.2.1 → 0.3.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
  SHA256:
3
- metadata.gz: 67d98d8ec1ac6e3ddd67e259058124aba66651c0fe6f9af1ecd8f6415ff74e15
4
- data.tar.gz: d47f5ff93d6052e541e2d68d5bc7d213251c9477ac4700750b63d186ea1ec960
3
+ metadata.gz: c6629b4ff7aac1998318552da966868db78b5066ddd34639ed20a76954fa23f6
4
+ data.tar.gz: f535b9d8467426a083124c7704be8a0d213ddbbc00fc34131e444260661a9d71
5
5
  SHA512:
6
- metadata.gz: 29057cb9e1b3c2314d4ab58a8dceb63ab02e6952f6539d4739d78e1ba8176049e3e885954c196d218316cbad568a61d44b54a51fbe6ff3e34defb55587468fb8
7
- data.tar.gz: 65b1e4e8a09130520da1dc5ff20d8dfafdfb9ccbab0ec192ae30ca3348b4b6e718a5b6e122d4c01388004eccf10b7b65d9a581811c406027501010fee336ffdd
6
+ metadata.gz: 76fd96514ff169c3854bc6f05808c93f381c2a9050c5d88b923d4f3fb3152c2fc68e56d188b7da18caf00822345f71357d35126f24aafcfa1cb05be4e9a2e0fc
7
+ data.tar.gz: 7150003ddd5bef8f3e2c20ee1c455c89a0e933b982978e31266d896edaeb9f14c2df3c99f9123e377dc563cfb1996c457558fc13bde3b22b17d86870432c690a
@@ -0,0 +1,366 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveBrainz
4
+ class Link < Base
5
+ self.table_name = "link"
6
+
7
+ include HasBeginEndDate
8
+
9
+ has_many :area_areas,
10
+ class_name: "AreaArea",
11
+ foreign_key: "link"
12
+
13
+ # has_many :area_artists,
14
+ # class_name: "AreaArtist",
15
+ # foreign_key: "link"
16
+
17
+ # has_many :area_events,
18
+ # class_name: "AreaEvent",
19
+ # foreign_key: "link"
20
+
21
+ # has_many :area_instruments,
22
+ # class_name: "AreaInstrument",
23
+ # foreign_key: "link"
24
+
25
+ # has_many :area_labels,
26
+ # class_name: "AreaLabel",
27
+ # foreign_key: "link"
28
+
29
+ # has_many :area_places,
30
+ # class_name: "AreaPlace",
31
+ # foreign_key: "link"
32
+
33
+ # has_many :area_recordings,
34
+ # class_name: "AreaRecording",
35
+ # foreign_key: "link"
36
+
37
+ # has_many :area_release_groups,
38
+ # class_name: "AreaReleaseGroup",
39
+ # foreign_key: "link"
40
+
41
+ # has_many :area_releases,
42
+ # class_name: "AreaRelease",
43
+ # foreign_key: "link"
44
+
45
+ # has_many :area_series,
46
+ # class_name: "AreaSeries",
47
+ # foreign_key: "link"
48
+
49
+ # has_many :area_urls,
50
+ # class_name: "AreaUrl",
51
+ # foreign_key: "link"
52
+
53
+ # has_many :area_works,
54
+ # class_name: "AreaWork",
55
+ # foreign_key: "link"
56
+
57
+ # has_many :artist_artists,
58
+ # class_name: "ArtistArtist",
59
+ # foreign_key: "link"
60
+
61
+ # has_many :artist_events,
62
+ # class_name: "ArtistEvent",
63
+ # foreign_key: "link"
64
+
65
+ # has_many :artist_instruments,
66
+ # class_name: "ArtistInstrument",
67
+ # foreign_key: "link"
68
+
69
+ # has_many :artist_labels,
70
+ # class_name: "ArtistLabel",
71
+ # foreign_key: "link"
72
+
73
+ # has_many :artist_places,
74
+ # class_name: "ArtistPlace",
75
+ # foreign_key: "link"
76
+
77
+ # has_many :artist_recordings,
78
+ # class_name: "ArtistRecording",
79
+ # foreign_key: "link"
80
+
81
+ # has_many :artist_release_groups,
82
+ # class_name: "ArtistReleaseGroup",
83
+ # foreign_key: "link"
84
+
85
+ # has_many :artist_releases,
86
+ # class_name: "ArtistRelease",
87
+ # foreign_key: "link"
88
+
89
+ # has_many :artist_series,
90
+ # class_name: "ArtistSeries",
91
+ # foreign_key: "link"
92
+
93
+ # has_many :artist_urls,
94
+ # class_name: "ArtistUrl",
95
+ # foreign_key: "link"
96
+
97
+ # has_many :artist_works,
98
+ # class_name: "ArtistWork",
99
+ # foreign_key: "link"
100
+
101
+ # has_many :event_events,
102
+ # class_name: "EventEvent",
103
+ # foreign_key: "link"
104
+
105
+ # has_many :event_instruments,
106
+ # class_name: "EventInstrument",
107
+ # foreign_key: "link"
108
+
109
+ # has_many :event_labels,
110
+ # class_name: "EventLabel",
111
+ # foreign_key: "link"
112
+
113
+ # has_many :event_places,
114
+ # class_name: "EventPlace",
115
+ # foreign_key: "link"
116
+
117
+ # has_many :event_recordings,
118
+ # class_name: "EventRecording",
119
+ # foreign_key: "link"
120
+
121
+ # has_many :event_release_groups,
122
+ # class_name: "EventReleaseGroup",
123
+ # foreign_key: "link"
124
+
125
+ # has_many :event_releases,
126
+ # class_name: "EventRelease",
127
+ # foreign_key: "link"
128
+
129
+ # has_many :event_series,
130
+ # class_name: "EventSeries",
131
+ # foreign_key: "link"
132
+
133
+ # has_many :event_urls,
134
+ # class_name: "EventUrl",
135
+ # foreign_key: "link"
136
+
137
+ # has_many :event_works,
138
+ # class_name: "EventWork",
139
+ # foreign_key: "link"
140
+
141
+ # has_many :instrument_instruments,
142
+ # class_name: "InstrumentInstrument",
143
+ # foreign_key: "link"
144
+
145
+ # has_many :instrument_labels,
146
+ # class_name: "InstrumentLabel",
147
+ # foreign_key: "link"
148
+
149
+ # has_many :instrument_places,
150
+ # class_name: "InstrumentPlace",
151
+ # foreign_key: "link"
152
+
153
+ # has_many :instrument_recordings,
154
+ # class_name: "InstrumentRecording",
155
+ # foreign_key: "link"
156
+
157
+ # has_many :instrument_release_groups,
158
+ # class_name: "InstrumentReleaseGroup",
159
+ # foreign_key: "link"
160
+
161
+ # has_many :instrument_releases,
162
+ # class_name: "InstrumentRelease",
163
+ # foreign_key: "link"
164
+
165
+ # has_many :instrument_series,
166
+ # class_name: "InstrumentSeries",
167
+ # foreign_key: "link"
168
+
169
+ # has_many :instrument_urls,
170
+ # class_name: "InstrumentUrl",
171
+ # foreign_key: "link"
172
+
173
+ # has_many :instrument_works,
174
+ # class_name: "InstrumentWork",
175
+ # foreign_key: "link"
176
+
177
+ # has_many :label_labels,
178
+ # class_name: "LabelLabel",
179
+ # foreign_key: "link"
180
+
181
+ # has_many :label_places,
182
+ # class_name: "LabelPlace",
183
+ # foreign_key: "link"
184
+
185
+ # has_many :label_recordings,
186
+ # class_name: "LabelRecording",
187
+ # foreign_key: "link"
188
+
189
+ # has_many :label_release_groups,
190
+ # class_name: "LabelReleaseGroup",
191
+ # foreign_key: "link"
192
+
193
+ # has_many :label_releases,
194
+ # class_name: "LabelRelease",
195
+ # foreign_key: "link"
196
+
197
+ # has_many :label_series,
198
+ # class_name: "LabelSeries",
199
+ # foreign_key: "link"
200
+
201
+ # has_many :label_urls,
202
+ # class_name: "LabelUrl",
203
+ # foreign_key: "link"
204
+
205
+ # has_many :label_works,
206
+ # class_name: "LabelWork",
207
+ # foreign_key: "link"
208
+
209
+ # has_many :place_places,
210
+ # class_name: "PlacePlace",
211
+ # foreign_key: "link"
212
+
213
+ # has_many :place_recordings,
214
+ # class_name: "PlaceRecording",
215
+ # foreign_key: "link"
216
+
217
+ # has_many :place_release_groups,
218
+ # class_name: "PlaceReleaseGroup",
219
+ # foreign_key: "link"
220
+
221
+ # has_many :place_releases,
222
+ # class_name: "PlaceRelease",
223
+ # foreign_key: "link"
224
+
225
+ # has_many :place_series,
226
+ # class_name: "PlaceSeries",
227
+ # foreign_key: "link"
228
+
229
+ # has_many :place_urls,
230
+ # class_name: "PlaceUrl",
231
+ # foreign_key: "link"
232
+
233
+ # has_many :place_works,
234
+ # class_name: "PlaceWork",
235
+ # foreign_key: "link"
236
+
237
+ # has_many :recording_recordings,
238
+ # class_name: "RecordingRecording",
239
+ # foreign_key: "link"
240
+
241
+ # has_many :recording_release_groups,
242
+ # class_name: "RecordingReleaseGroup",
243
+ # foreign_key: "link"
244
+
245
+ # has_many :recording_releases,
246
+ # class_name: "RecordingRelease",
247
+ # foreign_key: "link"
248
+
249
+ # has_many :recording_series,
250
+ # class_name: "RecordingSeries",
251
+ # foreign_key: "link"
252
+
253
+ # has_many :recording_urls,
254
+ # class_name: "RecordingUrl",
255
+ # foreign_key: "link"
256
+
257
+ # has_many :recording_works,
258
+ # class_name: "RecordingWork",
259
+ # foreign_key: "link"
260
+
261
+ # has_many :release_group_release_groups,
262
+ # class_name: "ReleaseGroupReleaseGroup",
263
+ # foreign_key: "link"
264
+
265
+ # has_many :release_group_series,
266
+ # class_name: "ReleaseGroupSeries",
267
+ # foreign_key: "link"
268
+
269
+ # has_many :release_group_urls,
270
+ # class_name: "ReleaseGroupUrl",
271
+ # foreign_key: "link"
272
+
273
+ # has_many :release_group_works,
274
+ # class_name: "ReleaseGroupWork",
275
+ # foreign_key: "link"
276
+
277
+ # has_many :release_release_groups,
278
+ # class_name: "ReleaseReleaseGroup",
279
+ # foreign_key: "link"
280
+
281
+ # has_many :release_releases,
282
+ # class_name: "ReleaseRelease",
283
+ # foreign_key: "link"
284
+
285
+ # has_many :release_series,
286
+ # class_name: "ReleaseSeries",
287
+ # foreign_key: "link"
288
+
289
+ # has_many :release_urls,
290
+ # class_name: "ReleaseUrl",
291
+ # foreign_key: "link"
292
+
293
+ # has_many :release_works,
294
+ # class_name: "ReleaseWork",
295
+ # foreign_key: "link"
296
+
297
+ # has_many :series_series,
298
+ # class_name: "SeriesSeries",
299
+ # foreign_key: "link"
300
+
301
+ # has_many :series_urls,
302
+ # class_name: "SeriesUrl",
303
+ # foreign_key: "link"
304
+
305
+ # has_many :series_works,
306
+ # class_name: "SeriesWork",
307
+ # foreign_key: "link"
308
+
309
+ # has_many :url_urls,
310
+ # class_name: "UrlUrl",
311
+ # foreign_key: "link"
312
+
313
+ # has_many :url_works,
314
+ # class_name: "UrlWork",
315
+ # foreign_key: "link"
316
+
317
+ # has_many :work_works,
318
+ # class_name: "WorkWork",
319
+ # foreign_key: "link"
320
+
321
+ # has_many :link_attribute_credits,
322
+ # class_name: "inkAttributeCredit",
323
+ # foreign_key: "link"
324
+
325
+ # has_many :link_attribute_text_values,
326
+ # class_name: "inkAttributeTextValue",
327
+ # foreign_key: "link"
328
+
329
+ # has_many :link_attributes,
330
+ # class_name: "inkAttribute",
331
+ # foreign_key: "link"
332
+
333
+ belongs_to :link_link_type,
334
+ class_name: "LinkType",
335
+ foreign_key: "link_type",
336
+ optional: true
337
+
338
+ attribute :created, :datetime
339
+ attribute :attribute_count, :integer
340
+ end
341
+ end
342
+
343
+ # == Schema Information
344
+ #
345
+ # Table name: link
346
+ #
347
+ # id :integer not null, primary key
348
+ # attribute_count :integer default(0), not null
349
+ # begin_date_day :integer
350
+ # begin_date_month :integer
351
+ # begin_date_year :integer
352
+ # created :datetime
353
+ # end_date_day :integer
354
+ # end_date_month :integer
355
+ # end_date_year :integer
356
+ # ended :boolean default(FALSE), not null
357
+ # link_type :integer not null
358
+ #
359
+ # Indexes
360
+ #
361
+ # link_idx_type_attr (link_type,attribute_count)
362
+ #
363
+ # Foreign Keys
364
+ #
365
+ # link_fk_link_type (link_type => link_type.id)
366
+ #
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveBrainz
4
+ class LinkType < Base
5
+ self.table_name = "link_type"
6
+
7
+ include HasGID
8
+ include HasParentChildren
9
+
10
+ # has_many :link_type_attribute_types,
11
+ # class_name: "LinkTypeAttributeType",
12
+ # foreign_key: "link_type"
13
+
14
+ has_many :links,
15
+ class_name: "Link",
16
+ foreign_key: "link_type"
17
+
18
+ # has_many :orderable_link_types,
19
+ # class_name: "OrderableLinkType",
20
+ # foreign_key: "link_type"
21
+
22
+ attribute :name
23
+ attribute :description
24
+
25
+ attribute :has_dates, :boolean
26
+
27
+ attribute :is_deprecated, :boolean
28
+ attribute :priority, :integer
29
+
30
+ attribute :entity0_cardinality, :integer
31
+ attribute :entity1_cardinality, :integer
32
+
33
+ attribute :entity_type0
34
+ attribute :entity_type1
35
+
36
+ attribute :link_phrase
37
+ attribute :long_link_phrase
38
+ attribute :reverse_link_phrase
39
+
40
+ attribute :last_updated, :datetime
41
+ end
42
+ end
43
+
44
+ # == Schema Information
45
+ #
46
+ # Table name: link_type
47
+ #
48
+ # id :integer not null, primary key
49
+ # child_order :integer default(0), not null
50
+ # description :text
51
+ # entity0_cardinality :integer default(0), not null
52
+ # entity1_cardinality :integer default(0), not null
53
+ # entity_type0 :string(50) not null
54
+ # entity_type1 :string(50) not null
55
+ # gid :uuid not null
56
+ # has_dates :boolean default(TRUE), not null
57
+ # is_deprecated :boolean default(FALSE), not null
58
+ # last_updated :datetime
59
+ # link_phrase :string(255) not null
60
+ # long_link_phrase :string(255) not null
61
+ # name :string(255) not null
62
+ # parent :integer
63
+ # priority :integer default(0), not null
64
+ # reverse_link_phrase :string(255) not null
65
+ #
66
+ # Indexes
67
+ #
68
+ # link_type_idx_gid (gid) UNIQUE
69
+ #
70
+ # Foreign Keys
71
+ #
72
+ # link_type_fk_parent (parent => link_type.id)
73
+ #
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveBrainz
4
+ class AreaArea < Base
5
+ self.table_name = "l_area_area"
6
+
7
+ belongs_to :area0,
8
+ class_name: "Area",
9
+ foreign_key: "entity0"
10
+
11
+ belongs_to :area1,
12
+ class_name: "Area",
13
+ foreign_key: "entity1"
14
+
15
+ belongs_to :area_area_link,
16
+ class_name: "Link",
17
+ foreign_key: "link"
18
+
19
+ attribute :entity0_credit
20
+ attribute :entity1_credit
21
+
22
+ attribute :link_order, :integer
23
+
24
+ attribute :edits_pending, :integer
25
+ attribute :last_updated, :datetime
26
+ end
27
+ end
28
+
29
+ # == Schema Information
30
+ #
31
+ # Table name: l_area_area
32
+ #
33
+ # id :integer not null, primary key
34
+ # edits_pending :integer default(0), not null
35
+ # entity0 :integer not null
36
+ # entity0_credit :text default(""), not null
37
+ # entity1 :integer not null
38
+ # entity1_credit :text default(""), not null
39
+ # last_updated :datetime
40
+ # link :integer not null
41
+ # link_order :integer default(0), not null
42
+ #
43
+ # Indexes
44
+ #
45
+ # l_area_area_idx_entity1 (entity1)
46
+ # l_area_area_idx_uniq (entity0,entity1,link,link_order) UNIQUE
47
+ #
48
+ # Foreign Keys
49
+ #
50
+ # l_area_area_fk_entity0 (entity0 => area.id)
51
+ # l_area_area_fk_entity1 (entity1 => area.id)
52
+ # l_area_area_fk_link (link => link.id)
53
+ #
@@ -5,8 +5,8 @@ require "date"
5
5
  module ActiveBrainz
6
6
  module Version
7
7
  MAJOR = 0
8
- MINOR = 2
9
- PATCH = 1
8
+ MINOR = 3
9
+ PATCH = 0
10
10
  PRE = nil
11
11
 
12
12
  VERSION = [MAJOR, MINOR, PATCH].compact.join(".")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_brainz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Dejonckheere
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-22 00:00:00.000000000 Z
11
+ date: 2021-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -338,6 +338,9 @@ files:
338
338
  - lib/active_brainz/models/label/label_alias.rb
339
339
  - lib/active_brainz/models/label/label_alias_type.rb
340
340
  - lib/active_brainz/models/label/label_type.rb
341
+ - lib/active_brainz/models/link/link.rb
342
+ - lib/active_brainz/models/link/link_type.rb
343
+ - lib/active_brainz/models/links/area_area.rb
341
344
  - lib/active_brainz/models/medium/medium.rb
342
345
  - lib/active_brainz/models/place/place.rb
343
346
  - lib/active_brainz/models/place/place_alias.rb