active_brainz 0.2.1 → 0.3.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: 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