Module: Crystalline::MetadataFields

Included in:
FastpixClient::Models::Components::AddTrackRequest, FastpixClient::Models::Components::AddTrackResponse, FastpixClient::Models::Components::AiResponseRecord, FastpixClient::Models::Components::AiSummaryRecord, FastpixClient::Models::Components::AudioInput, FastpixClient::Models::Components::AudioTrack, FastpixClient::Models::Components::BrowserNameDimensiondetails, FastpixClient::Models::Components::ChaptersResponse, FastpixClient::Models::Components::CreateLiveStreamRequest, FastpixClient::Models::Components::CreateLiveStreamResponseDTO, FastpixClient::Models::Components::CreateMediaRequest, FastpixClient::Models::Components::CreateMediaRequestAccessRestrictions, FastpixClient::Models::Components::CreateMediaRequestDomains, FastpixClient::Models::Components::CreateMediaRequestUserAgents, FastpixClient::Models::Components::CreateMediaResponse, FastpixClient::Models::Components::CreateMediaResponseInput, FastpixClient::Models::Components::CreateMediaSuccessResponse, FastpixClient::Models::Components::CreatePlaybackId, FastpixClient::Models::Components::CreatePlaybackIdAccessRestrictions, FastpixClient::Models::Components::CreatePlaybackIdDomains, FastpixClient::Models::Components::CreatePlaybackIdUserAgents, FastpixClient::Models::Components::CreatePlaylistRequest, FastpixClient::Models::Components::CreatePlaylistRequestManual, FastpixClient::Models::Components::CreatePlaylistRequestSmart, FastpixClient::Models::Components::CreateResponse, FastpixClient::Models::Components::CreateSigningKeyResponseDTO, FastpixClient::Models::Components::Custom1, FastpixClient::Models::Components::Custom2, FastpixClient::Models::Components::DataPagination, FastpixClient::Models::Components::DateRange, FastpixClient::Models::Components::DefaultError, FastpixClient::Models::Components::DeleteSigningKeyResponse, FastpixClient::Models::Components::DirectUpload, FastpixClient::Models::Components::DirectUploadResponse, FastpixClient::Models::Components::DomainRestrictions, FastpixClient::Models::Components::DrmIdResponse, FastpixClient::Models::Components::Error, FastpixClient::Models::Components::ErrorDetails, FastpixClient::Models::Components::ErrorDetailsPercentage, FastpixClient::Models::Components::Event, FastpixClient::Models::Components::EventTime, FastpixClient::Models::Components::GenerateTrackResponse, FastpixClient::Models::Components::GetAllMediaResponse, FastpixClient::Models::Components::GetAllMediaResponseTrack, FastpixClient::Models::Components::GetAllPlaylistsResponse, FastpixClient::Models::Components::GetAllSigningKeysResponse, FastpixClient::Models::Components::GetAllSigningKeysResponseDto, FastpixClient::Models::Components::GetCreateLiveStreamResponseDTO, FastpixClient::Models::Components::GetMediaResponse, FastpixClient::Models::Components::GetMediaResponseTrack, FastpixClient::Models::Components::GetPublicPemUsingSigningKeyIdResponseDTO, FastpixClient::Models::Components::GetPublicPemUsingSigningKeyIdResponseDTOData, FastpixClient::Models::Components::GetStreamsResponse, FastpixClient::Models::Components::ImposeTrack, FastpixClient::Models::Components::Input, FastpixClient::Models::Components::InputMediaSettings, FastpixClient::Models::Components::LiveMediaClips, FastpixClient::Models::Components::LiveMediaClipsTrack, FastpixClient::Models::Components::LiveSimulcast, FastpixClient::Models::Components::LiveStreamDeleteResponse, FastpixClient::Models::Components::LiveStreamPagination, FastpixClient::Models::Components::LiveStreamResponseDTO, FastpixClient::Models::Components::LivestreamgetResponse, FastpixClient::Models::Components::Media, FastpixClient::Models::Components::MediaCancelResponse, FastpixClient::Models::Components::MediaClipResponse, FastpixClient::Models::Components::MediaClipResponseData, FastpixClient::Models::Components::MediaClipResponsePagination, FastpixClient::Models::Components::MediaClipResponsePlaybackId, FastpixClient::Models::Components::MediaIdsRequest, FastpixClient::Models::Components::MediaTrack, FastpixClient::Models::Components::Metadata, FastpixClient::Models::Components::MetricsBreakdownDetails, FastpixClient::Models::Components::MetricsComparisonDetails, FastpixClient::Models::Components::MetricsOverallDataDetails, FastpixClient::Models::Components::MetricsOverallmetadataDetails, FastpixClient::Models::Components::MetricsTimeseriesDataDetails, FastpixClient::Models::Components::MetricsTimeseriesmetadataDetails, FastpixClient::Models::Components::MetricsmetadataDetails, FastpixClient::Models::Components::Moderation, FastpixClient::Models::Components::ModerationResponse, FastpixClient::Models::Components::NamedEntitiesResponse, FastpixClient::Models::Components::Pagination, FastpixClient::Models::Components::PatchLiveStreamRequest, FastpixClient::Models::Components::PatchResponseDTO, FastpixClient::Models::Components::PatchResponseData, FastpixClient::Models::Components::Placement, FastpixClient::Models::Components::PlaybackId, FastpixClient::Models::Components::PlaybackIdAccessRestrictions, FastpixClient::Models::Components::PlaybackIdDomains, FastpixClient::Models::Components::PlaybackIdRequest, FastpixClient::Models::Components::PlaybackIdResponse, FastpixClient::Models::Components::PlaybackIdSuccessResponse, FastpixClient::Models::Components::PlaybackIdSuccessResponseData, FastpixClient::Models::Components::PlaybackIdUserAgents, FastpixClient::Models::Components::PlaybackSettings, FastpixClient::Models::Components::PlayerHeight, FastpixClient::Models::Components::PlayerViewCount, FastpixClient::Models::Components::PlaylistByIdResponse, FastpixClient::Models::Components::PlaylistByIdResponseData, FastpixClient::Models::Components::PlaylistByIdResponseDataManual, FastpixClient::Models::Components::PlaylistByIdResponseDataSmart, FastpixClient::Models::Components::PlaylistByIdResponseMediaListItem, FastpixClient::Models::Components::PlaylistByIdResponseMetadata, FastpixClient::Models::Components::PlaylistCreatedResponse, FastpixClient::Models::Components::PlaylistCreatedSchema, FastpixClient::Models::Components::PlaylistDeleteResponse, FastpixClient::Models::Components::PlaylistItem, FastpixClient::Models::Components::PropertyId, FastpixClient::Models::Components::PullVideoInput, FastpixClient::Models::Components::PullVideoInputSegment1, FastpixClient::Models::Components::PullVideoInputSegment2, FastpixClient::Models::Components::PullVideoInputSegmentUnion, FastpixClient::Models::Components::Security, FastpixClient::Models::Components::SigningKeysPagination, FastpixClient::Models::Components::SimulcastRequest, FastpixClient::Models::Components::SimulcastResponse, FastpixClient::Models::Components::SimulcastResponseData, FastpixClient::Models::Components::SimulcastUpdateRequest, FastpixClient::Models::Components::SimulcastUpdateResponse, FastpixClient::Models::Components::SimulcastUpdateResponseData, FastpixClient::Models::Components::SimulcastdeleteResponse, FastpixClient::Models::Components::SourceAccessMedia, FastpixClient::Models::Components::SourceAccessMediaTrack, FastpixClient::Models::Components::SrtPlaybackResponse, FastpixClient::Models::Components::SubtitleInput, FastpixClient::Models::Components::SubtitleTrack, FastpixClient::Models::Components::Subtitles, FastpixClient::Models::Components::Summary, FastpixClient::Models::Components::SummaryResponse, FastpixClient::Models::Components::TopErrorDetails, FastpixClient::Models::Components::TopErrorDetailsPercentage, FastpixClient::Models::Components::TrackSubtitlesGenerateRequest, FastpixClient::Models::Components::TracksSubtitles, FastpixClient::Models::Components::UniqueViewersEffectedPercentage, FastpixClient::Models::Components::UnusedDirectUpload, FastpixClient::Models::Components::UnusedDirectUploadResponse, FastpixClient::Models::Components::UnusedUploadsPlaybackId, FastpixClient::Models::Components::UnusedUploadsPlaybackIdAccessRestrictions, FastpixClient::Models::Components::UnusedUploadsPlaybackIdDomains, FastpixClient::Models::Components::UnusedUploadsPlaybackIdUserAgents, FastpixClient::Models::Components::UpdateMedia, FastpixClient::Models::Components::UpdateMediaTrack, FastpixClient::Models::Components::UpdatePlaylistRequest, FastpixClient::Models::Components::UpdateTrackRequest, FastpixClient::Models::Components::UpdateTrackResponse, FastpixClient::Models::Components::UserAgentRestrictions, FastpixClient::Models::Components::VideoInput, FastpixClient::Models::Components::VideoInputSegment1, FastpixClient::Models::Components::VideoInputSegment2, FastpixClient::Models::Components::VideoInputSegmentUnion, FastpixClient::Models::Components::VideoTrack, FastpixClient::Models::Components::VideoTrackForGetAll, FastpixClient::Models::Components::ViewerTime, FastpixClient::Models::Components::Views, FastpixClient::Models::Components::ViewsByTopContentDetails, FastpixClient::Models::Components::ViewsCountResponse, FastpixClient::Models::Components::ViewsCountResponseData, FastpixClient::Models::Components::ViewsList, FastpixClient::Models::Components::WatermarkInput, FastpixClient::Models::Errors::APIError, FastpixClient::Models::Operations::AddMediaToPlaylistRequest, FastpixClient::Models::Operations::AddMediaToPlaylistResponse, FastpixClient::Models::Operations::AddMediaTrackRequest, FastpixClient::Models::Operations::AddMediaTrackRequestBody, FastpixClient::Models::Operations::AddMediaTrackResponse, FastpixClient::Models::Operations::AddMediaTrackResponseBody, FastpixClient::Models::Operations::CancelUploadRequest, FastpixClient::Models::Operations::CancelUploadResponse, FastpixClient::Models::Operations::CancelUploadResponseBody, FastpixClient::Models::Operations::ChangeMediaOrderInPlaylistRequest, FastpixClient::Models::Operations::ChangeMediaOrderInPlaylistResponse, FastpixClient::Models::Operations::CompleteLiveStreamRequest, FastpixClient::Models::Operations::CompleteLiveStreamResponse, FastpixClient::Models::Operations::Configuration, FastpixClient::Models::Operations::CreateAPlaylistResponse, FastpixClient::Models::Operations::CreateMediaPlaybackIdAccessRestrictions, FastpixClient::Models::Operations::CreateMediaPlaybackIdRequest, FastpixClient::Models::Operations::CreateMediaPlaybackIdRequestBody, FastpixClient::Models::Operations::CreateMediaPlaybackIdResponse, FastpixClient::Models::Operations::CreateMediaPlaybackIdResponseBody, FastpixClient::Models::Operations::CreateMediaResponse, FastpixClient::Models::Operations::CreateNewStreamResponse, FastpixClient::Models::Operations::CreatePlaybackIdOfStreamRequest, FastpixClient::Models::Operations::CreatePlaybackIdOfStreamResponse, FastpixClient::Models::Operations::CreateSigningKeyResponse, FastpixClient::Models::Operations::CreateSimulcastOfStreamRequest, FastpixClient::Models::Operations::CreateSimulcastOfStreamResponse, FastpixClient::Models::Operations::DeleteAPlaylistRequest, FastpixClient::Models::Operations::DeleteAPlaylistResponse, FastpixClient::Models::Operations::DeleteLiveStreamRequest, FastpixClient::Models::Operations::DeleteLiveStreamResponse, FastpixClient::Models::Operations::DeleteMediaFromPlaylistRequest, FastpixClient::Models::Operations::DeleteMediaFromPlaylistResponse, FastpixClient::Models::Operations::DeleteMediaPlaybackIdRequest, FastpixClient::Models::Operations::DeleteMediaPlaybackIdResponse, FastpixClient::Models::Operations::DeleteMediaPlaybackIdResponseBody, FastpixClient::Models::Operations::DeleteMediaRequest, FastpixClient::Models::Operations::DeleteMediaResponse, FastpixClient::Models::Operations::DeleteMediaResponseBody, FastpixClient::Models::Operations::DeleteMediaTrackRequest, FastpixClient::Models::Operations::DeleteMediaTrackResponse, FastpixClient::Models::Operations::DeleteMediaTrackResponseBody, FastpixClient::Models::Operations::DeletePlaybackIdOfStreamRequest, FastpixClient::Models::Operations::DeletePlaybackIdOfStreamResponse, FastpixClient::Models::Operations::DeleteSigningKeyRequest, FastpixClient::Models::Operations::DeleteSigningKeyResponse, FastpixClient::Models::Operations::DeleteSimulcastOfStreamRequest, FastpixClient::Models::Operations::DeleteSimulcastOfStreamResponse, FastpixClient::Models::Operations::DirectUploadVideoMediaAccessRestrictions, FastpixClient::Models::Operations::DirectUploadVideoMediaDomains, FastpixClient::Models::Operations::DirectUploadVideoMediaModeration, FastpixClient::Models::Operations::DirectUploadVideoMediaRequest, FastpixClient::Models::Operations::DirectUploadVideoMediaResponse, FastpixClient::Models::Operations::DirectUploadVideoMediaResponseBody, FastpixClient::Models::Operations::DirectUploadVideoMediaUserAgents, FastpixClient::Models::Operations::DisableLiveStreamRequest, FastpixClient::Models::Operations::DisableLiveStreamResponse, FastpixClient::Models::Operations::EnableLiveStreamRequest, FastpixClient::Models::Operations::EnableLiveStreamResponse, FastpixClient::Models::Operations::File, FastpixClient::Models::Operations::GenerateSubtitleTrackRequest, FastpixClient::Models::Operations::GenerateSubtitleTrackResponse, FastpixClient::Models::Operations::GenerateSubtitleTrackResponseBody, FastpixClient::Models::Operations::GetAllPlaylistsRequest, FastpixClient::Models::Operations::GetAllPlaylistsResponse, FastpixClient::Models::Operations::GetAllStreamsRequest, FastpixClient::Models::Operations::GetAllStreamsResponse, FastpixClient::Models::Operations::GetDrmConfigurationByIdRequest, FastpixClient::Models::Operations::GetDrmConfigurationByIdResponse, FastpixClient::Models::Operations::GetDrmConfigurationByIdResponseBody, FastpixClient::Models::Operations::GetDrmConfigurationRequest, FastpixClient::Models::Operations::GetDrmConfigurationResponse, FastpixClient::Models::Operations::GetDrmConfigurationResponseBody, FastpixClient::Models::Operations::GetLiveStreamByIdRequest, FastpixClient::Models::Operations::GetLiveStreamByIdResponse, FastpixClient::Models::Operations::GetLiveStreamPlaybackIdRequest, FastpixClient::Models::Operations::GetLiveStreamPlaybackIdResponse, FastpixClient::Models::Operations::GetLiveStreamViewerCountByIdRequest, FastpixClient::Models::Operations::GetLiveStreamViewerCountByIdResponse, FastpixClient::Models::Operations::GetMediaClipsRequest, FastpixClient::Models::Operations::GetMediaClipsResponse, FastpixClient::Models::Operations::GetMediaRequest, FastpixClient::Models::Operations::GetMediaResponse, FastpixClient::Models::Operations::GetMediaResponseBody, FastpixClient::Models::Operations::GetMediaSummaryRequest, FastpixClient::Models::Operations::GetMediaSummaryResponse, FastpixClient::Models::Operations::GetMediaSummaryResponseBody, FastpixClient::Models::Operations::GetPlaybackIdAccessRestrictions, FastpixClient::Models::Operations::GetPlaybackIdData, FastpixClient::Models::Operations::GetPlaybackIdDomains, FastpixClient::Models::Operations::GetPlaybackIdRequest, FastpixClient::Models::Operations::GetPlaybackIdResponse, FastpixClient::Models::Operations::GetPlaybackIdResponseBody, FastpixClient::Models::Operations::GetPlaybackIdUserAgents, FastpixClient::Models::Operations::GetPlaylistByIdRequest, FastpixClient::Models::Operations::GetPlaylistByIdResponse, FastpixClient::Models::Operations::GetSigningKeyByIdRequest, FastpixClient::Models::Operations::GetSigningKeyByIdResponse, FastpixClient::Models::Operations::GetSpecificSimulcastOfStreamRequest, FastpixClient::Models::Operations::GetSpecificSimulcastOfStreamResponse, FastpixClient::Models::Operations::GetTimeseriesDataRequest, FastpixClient::Models::Operations::GetTimeseriesDataResponse, FastpixClient::Models::Operations::GetTimeseriesDataResponseBody, FastpixClient::Models::Operations::GetVideoViewDetailsRequest, FastpixClient::Models::Operations::GetVideoViewDetailsResponse, FastpixClient::Models::Operations::GetVideoViewDetailsResponseBody, FastpixClient::Models::Operations::Input, FastpixClient::Models::Operations::ListBreakdownValuesRequest, FastpixClient::Models::Operations::ListBreakdownValuesResponse, FastpixClient::Models::Operations::ListBreakdownValuesResponseBody, FastpixClient::Models::Operations::ListByTopContentRequest, FastpixClient::Models::Operations::ListByTopContentResponse, FastpixClient::Models::Operations::ListByTopContentResponseBody, FastpixClient::Models::Operations::ListComparisonValuesRequest, FastpixClient::Models::Operations::ListComparisonValuesResponse, FastpixClient::Models::Operations::ListComparisonValuesResponseBody, FastpixClient::Models::Operations::ListDimensionsResponse, FastpixClient::Models::Operations::ListDimensionsResponseBody, FastpixClient::Models::Operations::ListErrorsData, FastpixClient::Models::Operations::ListErrorsRequest, FastpixClient::Models::Operations::ListErrorsResponse, FastpixClient::Models::Operations::ListErrorsResponseBody, FastpixClient::Models::Operations::ListFilterValuesForDimensionRequest, FastpixClient::Models::Operations::ListFilterValuesForDimensionResponse, FastpixClient::Models::Operations::ListFilterValuesForDimensionResponseBody, FastpixClient::Models::Operations::ListLiveClipsRequest, FastpixClient::Models::Operations::ListLiveClipsResponse, FastpixClient::Models::Operations::ListLiveClipsResponseBody, FastpixClient::Models::Operations::ListMediaRequest, FastpixClient::Models::Operations::ListMediaResponse, FastpixClient::Models::Operations::ListMediaResponseBody, FastpixClient::Models::Operations::ListOverallValuesRequest, FastpixClient::Models::Operations::ListOverallValuesResponse, FastpixClient::Models::Operations::ListOverallValuesResponseBody, FastpixClient::Models::Operations::ListPlaybackIdsAccessRestrictions, FastpixClient::Models::Operations::ListPlaybackIdsData, FastpixClient::Models::Operations::ListPlaybackIdsDomains, FastpixClient::Models::Operations::ListPlaybackIdsRequest, FastpixClient::Models::Operations::ListPlaybackIdsResponse, FastpixClient::Models::Operations::ListPlaybackIdsResponseBody, FastpixClient::Models::Operations::ListPlaybackIdsUserAgents, FastpixClient::Models::Operations::ListSigningKeysRequest, FastpixClient::Models::Operations::ListSigningKeysResponse, FastpixClient::Models::Operations::ListUploadsRequest, FastpixClient::Models::Operations::ListUploadsResponse, FastpixClient::Models::Operations::ListUploadsResponseBody, FastpixClient::Models::Operations::ListVideoViewsRequest, FastpixClient::Models::Operations::ListVideoViewsResponse, FastpixClient::Models::Operations::ListVideoViewsResponseBody, FastpixClient::Models::Operations::PushMediaSettings, FastpixClient::Models::Operations::RetrieveMediaInputInfoData, FastpixClient::Models::Operations::RetrieveMediaInputInfoRequest, FastpixClient::Models::Operations::RetrieveMediaInputInfoResponse, FastpixClient::Models::Operations::RetrieveMediaInputInfoResponseBody, FastpixClient::Models::Operations::Subtitles, FastpixClient::Models::Operations::Summary, FastpixClient::Models::Operations::Track, FastpixClient::Models::Operations::UpdateAPlaylistRequest, FastpixClient::Models::Operations::UpdateAPlaylistResponse, FastpixClient::Models::Operations::UpdateDomainRestrictionsData, FastpixClient::Models::Operations::UpdateDomainRestrictionsRequest, FastpixClient::Models::Operations::UpdateDomainRestrictionsRequestBody, FastpixClient::Models::Operations::UpdateDomainRestrictionsResponse, FastpixClient::Models::Operations::UpdateDomainRestrictionsResponseBody, FastpixClient::Models::Operations::UpdateLiveStreamRequest, FastpixClient::Models::Operations::UpdateLiveStreamResponse, FastpixClient::Models::Operations::UpdateMediaChaptersRequest, FastpixClient::Models::Operations::UpdateMediaChaptersRequestBody, FastpixClient::Models::Operations::UpdateMediaChaptersResponse, FastpixClient::Models::Operations::UpdateMediaChaptersResponseBody, FastpixClient::Models::Operations::UpdateMediaModerationModeration, FastpixClient::Models::Operations::UpdateMediaModerationRequest, FastpixClient::Models::Operations::UpdateMediaModerationRequestBody, FastpixClient::Models::Operations::UpdateMediaModerationResponse, FastpixClient::Models::Operations::UpdateMediaModerationResponseBody, FastpixClient::Models::Operations::UpdateMediaNamedEntitiesRequest, FastpixClient::Models::Operations::UpdateMediaNamedEntitiesRequestBody, FastpixClient::Models::Operations::UpdateMediaNamedEntitiesResponse, FastpixClient::Models::Operations::UpdateMediaNamedEntitiesResponseBody, FastpixClient::Models::Operations::UpdateMediaSummaryRequest, FastpixClient::Models::Operations::UpdateMediaSummaryRequestBody, FastpixClient::Models::Operations::UpdateMediaSummaryResponse, FastpixClient::Models::Operations::UpdateMediaSummaryResponseBody, FastpixClient::Models::Operations::UpdateMediaTrackRequest, FastpixClient::Models::Operations::UpdateMediaTrackResponse, FastpixClient::Models::Operations::UpdateMediaTrackResponseBody, FastpixClient::Models::Operations::UpdateSpecificSimulcastOfStreamRequest, FastpixClient::Models::Operations::UpdateSpecificSimulcastOfStreamResponse, FastpixClient::Models::Operations::UpdateUserAgentRestrictionsData, FastpixClient::Models::Operations::UpdateUserAgentRestrictionsRequest, FastpixClient::Models::Operations::UpdateUserAgentRestrictionsRequestBody, FastpixClient::Models::Operations::UpdateUserAgentRestrictionsResponse, FastpixClient::Models::Operations::UpdateUserAgentRestrictionsResponseBody, FastpixClient::Models::Operations::UpdatedMediaRequest, FastpixClient::Models::Operations::UpdatedMediaRequestBody, FastpixClient::Models::Operations::UpdatedMediaResponse, FastpixClient::Models::Operations::UpdatedMediaResponseBody, FastpixClient::Models::Operations::UpdatedMp4SupportRequest, FastpixClient::Models::Operations::UpdatedMp4SupportRequestBody, FastpixClient::Models::Operations::UpdatedMp4SupportResponse, FastpixClient::Models::Operations::UpdatedMp4SupportResponseBody, FastpixClient::Models::Operations::UpdatedSourceAccessRequest, FastpixClient::Models::Operations::UpdatedSourceAccessRequestBody, FastpixClient::Models::Operations::UpdatedSourceAccessResponse, FastpixClient::Models::Operations::UpdatedSourceAccessResponseBody
Defined in:
lib/crystalline/metadata_fields.rb

Defined Under Namespace

Modules: ClassMethods Classes: Field

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



144
145
146
# File 'lib/crystalline/metadata_fields.rb', line 144

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#field(field_name) ⇒ Object



152
153
154
155
156
# File 'lib/crystalline/metadata_fields.rb', line 152

def field(field_name)
  fields.each do |f|
    return f if f.name == field_name
  end
end

#fieldsObject



148
149
150
# File 'lib/crystalline/metadata_fields.rb', line 148

def fields
  self.class.fields
end

#initializeObject



138
139
140
141
142
# File 'lib/crystalline/metadata_fields.rb', line 138

def initialize
  instance = allocate
  fields.each { |mod| instance.singleton_class.include(mod) }
  instance.send(:initialize)
end

#marshal_single(field) ⇒ Object



158
159
160
161
162
163
164
165
166
167
168
# File 'lib/crystalline/metadata_fields.rb', line 158

def marshal_single(field)
  if field.class.include? ::Crystalline::MetadataFields
    field.to_dict
  else
    if ::Crystalline.needs_string_conversion field
      ::Crystalline.json_encode field
    else
      field
    end
  end
end

#to_dictObject



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'lib/crystalline/metadata_fields.rb', line 170

def to_dict
  result = {}
  fields.sort_by(&:name).each do |field|
    format_json_meta = field.[:format_json]
    required = !format_json_meta.nil? && format_json_meta.include?(:required)
    if !format_json_meta.nil? && format_json_meta.include?(:letter_case)
      key = format_json_meta[: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



196
197
198
# File 'lib/crystalline/metadata_fields.rb', line 196

def to_json(*args)
  JSON.generate(to_dict, *args)
end