Module: Crystalline::MetadataFields
- Extended by:
- T::Sig
- Included in:
- FastpixApiSDK::Models::Components::AudioInput, FastpixApiSDK::Models::Components::CreateLiveStreamRequest, FastpixApiSDK::Models::Components::CreateLiveStreamRequestMetadata, FastpixApiSDK::Models::Components::CreateMediaRequest, FastpixApiSDK::Models::Components::CreateMediaRequestAccessRestrictions, FastpixApiSDK::Models::Components::CreateMediaRequestDomains, FastpixApiSDK::Models::Components::CreateMediaRequestMetadata, FastpixApiSDK::Models::Components::CreateMediaRequestUserAgents, FastpixApiSDK::Models::Components::CreateMediaResponse, FastpixApiSDK::Models::Components::CreateMediaResponseMetadata, FastpixApiSDK::Models::Components::DirectUpload, FastpixApiSDK::Models::Components::DirectUploadResponse, FastpixApiSDK::Models::Components::DirectUploadResponseMetadata, FastpixApiSDK::Models::Components::GetCreateLiveStreamResponseDTO, FastpixApiSDK::Models::Components::GetCreateLiveStreamResponseDTOMetadata, FastpixApiSDK::Models::Components::GetCreateLiveStreamResponseDTOSrtPlaybackResponse, FastpixApiSDK::Models::Components::GetStreamsResponse, FastpixApiSDK::Models::Components::ImposeTrack, FastpixApiSDK::Models::Components::Input, FastpixApiSDK::Models::Components::InputMediaSettings, FastpixApiSDK::Models::Components::LiveStreamDeleteResponse, FastpixApiSDK::Models::Components::LiveStreamResponseDTO, FastpixApiSDK::Models::Components::LivestreamgetResponse, FastpixApiSDK::Models::Components::Media, FastpixApiSDK::Models::Components::MediaMetadata, FastpixApiSDK::Models::Components::Moderation, FastpixApiSDK::Models::Components::Pagination, FastpixApiSDK::Models::Components::PatchLiveStreamRequest, FastpixApiSDK::Models::Components::PatchLiveStreamRequestMetadata, FastpixApiSDK::Models::Components::PatchResponseDTO, FastpixApiSDK::Models::Components::PatchResponseData, FastpixApiSDK::Models::Components::PatchResponseDataMetadata, FastpixApiSDK::Models::Components::PatchResponseDataSrtPlaybackResponse, FastpixApiSDK::Models::Components::Placement, FastpixApiSDK::Models::Components::PlaybackId, FastpixApiSDK::Models::Components::PlaybackIdAccessRestrictions, FastpixApiSDK::Models::Components::PlaybackIdDomains, FastpixApiSDK::Models::Components::PlaybackIdRequest, FastpixApiSDK::Models::Components::PlaybackIdResponse, FastpixApiSDK::Models::Components::PlaybackIdResponseData, FastpixApiSDK::Models::Components::PlaybackIdUserAgents, FastpixApiSDK::Models::Components::PlaybackIds, FastpixApiSDK::Models::Components::PlaybackSettings, FastpixApiSDK::Models::Components::Security, FastpixApiSDK::Models::Components::Segment1, FastpixApiSDK::Models::Components::Segment2, FastpixApiSDK::Models::Components::SegmentUnion, FastpixApiSDK::Models::Components::SimulcastRequest, FastpixApiSDK::Models::Components::SimulcastResponse, FastpixApiSDK::Models::Components::SimulcastResponseData, FastpixApiSDK::Models::Components::SimulcastResponseMetadata, FastpixApiSDK::Models::Components::SimulcastUpdateRequest, FastpixApiSDK::Models::Components::SimulcastUpdateRequestMetadata, FastpixApiSDK::Models::Components::SimulcastUpdateResponse, FastpixApiSDK::Models::Components::SimulcastUpdateResponseData, FastpixApiSDK::Models::Components::SimulcastUpdateResponseMetadata, FastpixApiSDK::Models::Components::SimulcastdeleteResponse, FastpixApiSDK::Models::Components::Subtitle, FastpixApiSDK::Models::Components::SubtitleInput, FastpixApiSDK::Models::Components::SubtitleMetadata, FastpixApiSDK::Models::Components::Summary, FastpixApiSDK::Models::Components::Track, FastpixApiSDK::Models::Components::VideoInput, FastpixApiSDK::Models::Components::WatermarkInput, FastpixApiSDK::Models::Errors::APIError, FastpixApiSDK::Models::Errors::BadRequestError, FastpixApiSDK::Models::Errors::BadRequestErrorError, FastpixApiSDK::Models::Errors::Field, FastpixApiSDK::Models::Errors::ForbiddenError, FastpixApiSDK::Models::Errors::ForbiddenErrorError, FastpixApiSDK::Models::Errors::InvalidPermissionError, FastpixApiSDK::Models::Errors::InvalidPermissionErrorError, FastpixApiSDK::Models::Errors::MediaNotFoundError, FastpixApiSDK::Models::Errors::MediaNotFoundErrorError, FastpixApiSDK::Models::Errors::MediaOrPlaybackNotFoundError, FastpixApiSDK::Models::Errors::MediaOrPlaybackNotFoundErrorError, FastpixApiSDK::Models::Errors::NotFoundError, FastpixApiSDK::Models::Errors::NotFoundErrorError, FastpixApiSDK::Models::Errors::NotFoundErrorPlaybackId, FastpixApiSDK::Models::Errors::NotFoundErrorPlaybackIdError, FastpixApiSDK::Models::Errors::NotFoundErrorSimulcast, FastpixApiSDK::Models::Errors::NotFoundErrorSimulcastError, FastpixApiSDK::Models::Errors::SimulcastUnavailableError, FastpixApiSDK::Models::Errors::SimulcastUnavailableErrorError, FastpixApiSDK::Models::Errors::UnauthorizedError, FastpixApiSDK::Models::Errors::UnauthorizedErrorError, FastpixApiSDK::Models::Errors::ValidationErrorResponse, FastpixApiSDK::Models::Errors::ValidationErrorResponseError, FastpixApiSDK::Models::Operations::CreateMediaPlaybackIdAccessRestrictions, FastpixApiSDK::Models::Operations::CreateMediaPlaybackIdDomains, FastpixApiSDK::Models::Operations::CreateMediaPlaybackIdRequest, FastpixApiSDK::Models::Operations::CreateMediaPlaybackIdRequestBody, FastpixApiSDK::Models::Operations::CreateMediaPlaybackIdResponse, FastpixApiSDK::Models::Operations::CreateMediaPlaybackIdResponseBody, FastpixApiSDK::Models::Operations::CreateMediaPlaybackIdUserAgents, FastpixApiSDK::Models::Operations::CreateMediaResponse, FastpixApiSDK::Models::Operations::CreateMediaResponseBody, FastpixApiSDK::Models::Operations::CreateNewStreamResponse, FastpixApiSDK::Models::Operations::CreatePlaybackIdOfStreamRequest, FastpixApiSDK::Models::Operations::CreatePlaybackIdOfStreamResponse, FastpixApiSDK::Models::Operations::CreateSimulcastOfStreamRequest, FastpixApiSDK::Models::Operations::CreateSimulcastOfStreamResponse, FastpixApiSDK::Models::Operations::Data, FastpixApiSDK::Models::Operations::DeleteLiveStreamRequest, FastpixApiSDK::Models::Operations::DeleteLiveStreamResponse, FastpixApiSDK::Models::Operations::DeleteMediaPlaybackIdRequest, FastpixApiSDK::Models::Operations::DeleteMediaPlaybackIdResponse, FastpixApiSDK::Models::Operations::DeleteMediaPlaybackIdResponseBody, FastpixApiSDK::Models::Operations::DeleteMediaRequest, FastpixApiSDK::Models::Operations::DeleteMediaResponse, FastpixApiSDK::Models::Operations::DeleteMediaResponseBody, FastpixApiSDK::Models::Operations::DeletePlaybackIdOfStreamRequest, FastpixApiSDK::Models::Operations::DeletePlaybackIdOfStreamResponse, FastpixApiSDK::Models::Operations::DeleteSimulcastOfStreamRequest, FastpixApiSDK::Models::Operations::DeleteSimulcastOfStreamResponse, FastpixApiSDK::Models::Operations::DirectUploadVideoMediaAccessRestrictions, FastpixApiSDK::Models::Operations::DirectUploadVideoMediaDomains, FastpixApiSDK::Models::Operations::DirectUploadVideoMediaMetadata, FastpixApiSDK::Models::Operations::DirectUploadVideoMediaRequest, FastpixApiSDK::Models::Operations::DirectUploadVideoMediaResponse, FastpixApiSDK::Models::Operations::DirectUploadVideoMediaResponseBody, FastpixApiSDK::Models::Operations::DirectUploadVideoMediaUserAgents, FastpixApiSDK::Models::Operations::GetAllStreamsRequest, FastpixApiSDK::Models::Operations::GetAllStreamsResponse, FastpixApiSDK::Models::Operations::GetLiveStreamByIdRequest, FastpixApiSDK::Models::Operations::GetLiveStreamByIdResponse, FastpixApiSDK::Models::Operations::GetLiveStreamPlaybackIdRequest, FastpixApiSDK::Models::Operations::GetLiveStreamPlaybackIdResponse, FastpixApiSDK::Models::Operations::GetMediaRequest, FastpixApiSDK::Models::Operations::GetMediaResponse, FastpixApiSDK::Models::Operations::GetMediaResponseBody, FastpixApiSDK::Models::Operations::GetSpecificSimulcastOfStreamRequest, FastpixApiSDK::Models::Operations::GetSpecificSimulcastOfStreamResponse, FastpixApiSDK::Models::Operations::Input, FastpixApiSDK::Models::Operations::ListMediaRequest, FastpixApiSDK::Models::Operations::ListMediaResponse, FastpixApiSDK::Models::Operations::ListMediaResponseBody, FastpixApiSDK::Models::Operations::Moderation, FastpixApiSDK::Models::Operations::PushMediaSettings, FastpixApiSDK::Models::Operations::RetrieveMediaInputInfoRequest, FastpixApiSDK::Models::Operations::RetrieveMediaInputInfoResponse, FastpixApiSDK::Models::Operations::RetrieveMediaInputInfoResponseBody, FastpixApiSDK::Models::Operations::Subtitles, FastpixApiSDK::Models::Operations::SubtitlesMetadata, FastpixApiSDK::Models::Operations::Summary, FastpixApiSDK::Models::Operations::UpdateLiveStreamRequest, FastpixApiSDK::Models::Operations::UpdateLiveStreamResponse, FastpixApiSDK::Models::Operations::UpdateSpecificSimulcastOfStreamRequest, FastpixApiSDK::Models::Operations::UpdateSpecificSimulcastOfStreamResponse, FastpixApiSDK::Models::Operations::UpdatedMediaMetadata, FastpixApiSDK::Models::Operations::UpdatedMediaRequest, FastpixApiSDK::Models::Operations::UpdatedMediaRequestBody, FastpixApiSDK::Models::Operations::UpdatedMediaResponse, FastpixApiSDK::Models::Operations::UpdatedMediaResponseBody, FastpixApiSDK::SDKConfiguration
- Defined in:
- lib/crystalline/metadata_fields.rb
Defined Under Namespace
Modules: ClassMethods Classes: Field
Class Method Summary collapse
Instance Method Summary collapse
- #field(field_name) ⇒ Object
- #fields ⇒ Object
- #initialize ⇒ Object
- #marshal_single(field) ⇒ Object
- #to_dict ⇒ Object
- #to_json(*args) ⇒ Object
Class Method Details
.included(base) ⇒ Object
156 157 158 |
# File 'lib/crystalline/metadata_fields.rb', line 156 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#field(field_name) ⇒ Object
164 165 166 167 168 |
# File 'lib/crystalline/metadata_fields.rb', line 164 def field(field_name) fields.each do |f| return f if f.name == field_name end end |
#fields ⇒ Object
160 161 162 |
# File 'lib/crystalline/metadata_fields.rb', line 160 def fields self.class.fields end |
#initialize ⇒ Object
150 151 152 153 154 |
# File 'lib/crystalline/metadata_fields.rb', line 150 def initialize instance = allocate fields.each { |mod| instance.singleton_class.include(mod) } instance.send(:initialize) end |
#marshal_single(field) ⇒ Object
170 171 172 173 174 175 176 |
# File 'lib/crystalline/metadata_fields.rb', line 170 def marshal_single(field) if field.class.include? ::Crystalline::MetadataFields field.to_dict else ::Crystalline.val_to_string(field, primitives: false) end end |
#to_dict ⇒ Object
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
# File 'lib/crystalline/metadata_fields.rb', line 178 def to_dict result = {} fields.sort_by(&:name).each do |field| = field.[:format_json] required = !.nil? && .include?(:required) if !.nil? && .include?(:letter_case) key = [:letter_case].call(field.name) else key = field.name end f = send(field.name) next if f.nil? && !required result[key] = nil if f.nil? && required if f.is_a? Array result[key] = f.map { |o| marshal_single(o) } elsif f.is_a? Hash result[key] = f.map { |k, v| [k, marshal_single(v)] } else result[key] = marshal_single(f) end end result end |
#to_json(*args) ⇒ Object
204 205 206 |
# File 'lib/crystalline/metadata_fields.rb', line 204 def to_json(*args) JSON.generate(to_dict, *args) end |