pbcore 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pbcore/version.rb +1 -1
- data/pbcore.gemspec +10 -2
- data/spec/factories/annotation.rb +9 -0
- data/spec/factories/asset_date.rb +23 -0
- data/spec/factories/asset_type.rb +7 -0
- data/spec/factories/audience_level.rb +7 -0
- data/spec/factories/audience_rating.rb +7 -0
- data/spec/factories/contributor.rb +9 -0
- data/spec/factories/contributor/contributor.rb +6 -0
- data/spec/factories/contributor/role.rb +6 -0
- data/spec/factories/coverage.rb +22 -0
- data/spec/factories/coverage/coverage.rb +22 -0
- data/spec/factories/coverage/type.rb +8 -0
- data/spec/factories/creator.rb +8 -0
- data/spec/factories/creator/creator.rb +12 -0
- data/spec/factories/creator/role.rb +8 -0
- data/spec/factories/description.rb +11 -0
- data/spec/factories/description_document.rb +28 -0
- data/spec/factories/extension.rb +11 -0
- data/spec/factories/extension/embedded.rb +7 -0
- data/spec/factories/extension/wrap.rb +11 -0
- data/spec/factories/extension/wrap/authority_used.rb +7 -0
- data/spec/factories/extension/wrap/element.rb +7 -0
- data/spec/factories/extension/wrap/value.rb +7 -0
- data/spec/factories/genre.rb +8 -0
- data/spec/factories/identifier.rb +10 -0
- data/spec/factories/instantiation.rb +34 -0
- data/spec/factories/instantiation/alternative_modes.rb +11 -0
- data/spec/factories/instantiation/annotation.rb +12 -0
- data/spec/factories/instantiation/channel_configuration.rb +11 -0
- data/spec/factories/instantiation/colors.rb +11 -0
- data/spec/factories/instantiation/data_rate.rb +12 -0
- data/spec/factories/instantiation/date.rb +12 -0
- data/spec/factories/instantiation/digital.rb +11 -0
- data/spec/factories/instantiation/dimensions.rb +12 -0
- data/spec/factories/instantiation/duration.rb +11 -0
- data/spec/factories/instantiation/essence_track.rb +29 -0
- data/spec/factories/instantiation/essence_track/annotation.rb +12 -0
- data/spec/factories/instantiation/essence_track/aspect_ratio.rb +16 -0
- data/spec/factories/instantiation/essence_track/bit_depth.rb +12 -0
- data/spec/factories/instantiation/essence_track/data_rate.rb +12 -0
- data/spec/factories/instantiation/essence_track/duration.rb +11 -0
- data/spec/factories/instantiation/essence_track/encoding.rb +11 -0
- data/spec/factories/instantiation/essence_track/frame_rate.rb +12 -0
- data/spec/factories/instantiation/essence_track/frame_size.rb +12 -0
- data/spec/factories/instantiation/essence_track/identifier.rb +11 -0
- data/spec/factories/instantiation/essence_track/language.rb +9 -0
- data/spec/factories/instantiation/essence_track/playback_speed.rb +12 -0
- data/spec/factories/instantiation/essence_track/sampling_rate.rb +12 -0
- data/spec/factories/instantiation/essence_track/standard.rb +11 -0
- data/spec/factories/instantiation/essence_track/time_start.rb +11 -0
- data/spec/factories/instantiation/essence_track/type.rb +11 -0
- data/spec/factories/instantiation/extension.rb +16 -0
- data/spec/factories/instantiation/file_size.rb +12 -0
- data/spec/factories/instantiation/generations.rb +11 -0
- data/spec/factories/instantiation/identifier.rb +17 -0
- data/spec/factories/instantiation/language.rb +13 -0
- data/spec/factories/instantiation/location.rb +11 -0
- data/spec/factories/instantiation/media_type.rb +11 -0
- data/spec/factories/instantiation/physical.rb +11 -0
- data/spec/factories/instantiation/relation.rb +12 -0
- data/spec/factories/instantiation/relation/identifier.rb +10 -0
- data/spec/factories/instantiation/relation/type.rb +9 -0
- data/spec/factories/instantiation/rights.rb +20 -0
- data/spec/factories/instantiation/rights/link.rb +7 -0
- data/spec/factories/instantiation/rights/summary.rb +7 -0
- data/spec/factories/instantiation/standard.rb +12 -0
- data/spec/factories/instantiation/time_start.rb +11 -0
- data/spec/factories/instantiation/tracks.rb +11 -0
- data/spec/factories/instantiation_document.rb +44 -0
- data/spec/factories/pbcore_content_element.rb +10 -0
- data/spec/factories/pbcore_element.rb +8 -0
- data/spec/factories/publisher.rb +10 -0
- data/spec/factories/publisher/publisher.rb +12 -0
- data/spec/factories/publisher/role.rb +8 -0
- data/spec/factories/relation.rb +8 -0
- data/spec/factories/relation/identifier.rb +10 -0
- data/spec/factories/relation/type.rb +9 -0
- data/spec/factories/rights_summary.rb +25 -0
- data/spec/factories/rights_summary/link.rb +11 -0
- data/spec/factories/rights_summary/summary.rb +11 -0
- data/spec/factories/subject.rb +11 -0
- data/spec/factories/title.rb +12 -0
- metadata +83 -2
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_date, class: PBCore::Instantiation::Date, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
type { PBCore::Vocab.date_types.sample }
|
8
|
+
value { Faker::Date.backward(rand(1..1000)) }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_dimensions, class: PBCore::Instantiation::Dimensions, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
units_of_measure { Faker::Measurement.height("all") }
|
8
|
+
value { Faker::Number.number(1).to_s + 'x' + Faker::Number.number(1) }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track, class: PBCore::Instantiation::EssenceTrack , parent: :pbcore_element do
|
5
|
+
|
6
|
+
|
7
|
+
type { build(:pbcore_instantiation_essence_track_type) }
|
8
|
+
identifiers { build_list(:pbcore_instantiation_essence_track_identifier, rand(1..3)) }
|
9
|
+
standard { build(:pbcore_instantiation_essence_track_standard) }
|
10
|
+
encoding { build(:pbcore_instantiation_essence_track_encoding) }
|
11
|
+
data_rate { build(:pbcore_instantiation_essence_track_data_rate) }
|
12
|
+
frame_rate { build(:pbcore_instantiation_essence_track_frame_rate) }
|
13
|
+
playback_speed { build(:pbcore_instantiation_essence_track_playback_speed) }
|
14
|
+
sampling_rate { build(:pbcore_instantiation_essence_track_sampling_rate) }
|
15
|
+
bit_depth { build(:pbcore_instantiation_essence_track_bit_depth) }
|
16
|
+
frame_size { build(:pbcore_instantiation_essence_track_frame_size) }
|
17
|
+
aspect_ratio { build(:pbcore_instantiation_essence_track_aspect_ratio) }
|
18
|
+
time_start { build(:pbcore_instantiation_essence_track_time_start) }
|
19
|
+
duration { build(:pbcore_instantiation_essence_track_duration) }
|
20
|
+
annotations { build_list(:pbcore_instantiation_essence_track_annotation, rand(1..3)) }
|
21
|
+
languages { build_list(:pbcore_instantiation_essence_track_language, rand(1..3)) }
|
22
|
+
|
23
|
+
trait :sixteen_nine do
|
24
|
+
aspect_ratio { build(:pbcore_instantiation_essence_track_aspect_ratio, :sixteen_nine) }
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_annotation, class: PBCore::Instantiation::EssenceTrack::Annotation, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { Faker::TvShows::Seinfeld.quote }
|
8
|
+
type { Faker::TvShows::Seinfeld.character }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_aspect_ratio, class: PBCore::Instantiation::EssenceTrack::AspectRatio, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { rand(10).to_s + ':' + rand(10).to_s }
|
8
|
+
units_of_measure { Faker::Hacker.abbreviation }
|
9
|
+
|
10
|
+
trait :sixteen_nine do
|
11
|
+
value { '16:9' }
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_bit_depth, class: PBCore::Instantiation::EssenceTrack::BitDepth, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { rand(10) }
|
8
|
+
units_of_measure { Faker::Hacker.abbreviation }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_data_rate, class: PBCore::Instantiation::EssenceTrack::DataRate, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { rand(100).to_s }
|
8
|
+
units_of_measure { %w(Kbps Mbps).sample }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_frame_rate, class: PBCore::Instantiation::EssenceTrack::FrameRate, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { rand(1.0..50.0).round(2).to_s }
|
8
|
+
units_of_measure { Faker::Hacker.abbreviation }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_frame_size, class: PBCore::Instantiation::EssenceTrack::FrameSize, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { rand(1000).to_s + 'x' + rand(1000).to_s }
|
8
|
+
units_of_measure { Faker::Hacker.abbreviation }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_language, class: PBCore::Instantiation::EssenceTrack::Language, parent: :pbcore_content_element do
|
5
|
+
source { [ "ISO 639.2", "ISO 639.3" ].sample }
|
6
|
+
# TODO: replace with samples from actual standard.
|
7
|
+
value { ('a'..'z').to_a.sample(3).join }
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_playback_speed, class: PBCore::Instantiation::EssenceTrack::PlaybackSpeed, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { rand(1..50).to_s }
|
8
|
+
units_of_measure { ['RPM', 'IPS'].sample }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_sampling_rate, class: PBCore::Instantiation::EssenceTrack::SamplingRate, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { rand(1.0..50.0).round(2).to_s }
|
8
|
+
units_of_measure { Faker::Hacker.abbreviation }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_essence_track_time_start, class: PBCore::Instantiation::EssenceTrack::TimeStart, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { Time.now.strftime( "%H:%M:%S") + '.' + rand(1..999).to_s }
|
8
|
+
|
9
|
+
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_extension, class: PBCore::Instantiation::Extension, parent: :pbcore_element do
|
5
|
+
# NOTE: The elements inside of <instantiationExtension> are the
|
6
|
+
# same as the elements inside of <pbcoreExtension>, so we use those
|
7
|
+
# factories here.
|
8
|
+
# NOTE: <extensionWrap> and <extensionEmbedded> are mutually exclusive child
|
9
|
+
# elements of <pbcoreExtension>. However, in the factory we always choose
|
10
|
+
# <extensionWrap> by default because we can't produce round-trippable XML
|
11
|
+
# for <extensionEmbedded> because of how SAXMachine parsing works.
|
12
|
+
# (See lib/pbcore/extension/embedded.rb)
|
13
|
+
wrap { build(:pbcore_extension_wrap) }
|
14
|
+
embedded { nil }
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_file_size, class: PBCore::Instantiation::FileSize, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { (rand * 100).round(2) }
|
8
|
+
units_of_measure { ['B', 'kB', 'MB', 'GB'].sample }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_generations, class: PBCore::Instantiation::Generations, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
value { [ 'Proxy', 'Mezzanine', 'Master', 'Preservation Master' ].sample }
|
8
|
+
|
9
|
+
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_identifier, class: PBCore::Instantiation::Identifier, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
source { Faker::Company.name }
|
8
|
+
value { Faker::IDNumber.valid }
|
9
|
+
|
10
|
+
trait :ams do
|
11
|
+
source { "ams" }
|
12
|
+
value { "cpb-blah-blah-blah" }
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_language, class: PBCore::Instantiation::Language, parent: :pbcore_content_element do
|
5
|
+
|
6
|
+
|
7
|
+
source { [ "ISO 639.2", "ISO 639.3" ].sample }
|
8
|
+
# TODO: replace with samples from actual standard.
|
9
|
+
value { ('a'..'z').to_a.sample(3).join }
|
10
|
+
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pbcore'
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :pbcore_instantiation_relation, class: PBCore::Instantiation::Relation, parent: :pbcore_element do
|
5
|
+
|
6
|
+
|
7
|
+
type { create(:pbcore_instantiation_relation_type) }
|
8
|
+
identifier { create(:pbcore_instantiation_relation_identifier) }
|
9
|
+
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|