5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-10-01 22:46:59 +00:00
panel/app/models/metadata_has_one.rb

46 lines
742 B
Ruby
Raw Normal View History

2023-04-08 15:47:51 +00:00
# frozen_string_literal: true
2023-04-08 20:36:13 +00:00
class MetadataHasOne < MetadataBelongsTo
def had_one
return default_value if value_was.blank?
posts.find(value, uuid: true)
end
def has_one
return default_value if value.blank?
posts.find(value, uuid: true)
end
2023-04-08 20:36:13 +00:00
def belonged_to; end
def belongs_to; end
def save
2023-04-08 20:36:13 +00:00
# XXX: DRY
if !changed?
self[:value] = document_value
return true
end
self[:value] = sanitize value
return true unless changed?
return true unless inverse?
had_one&.value = nil
has_one&.value = post.uuid.value
true
end
def related_methods
@related_methods ||= %i[has_one had_one].freeze
end
2023-04-08 20:36:13 +00:00
def indexable_values
has_one&.title&.value
end
2023-04-08 15:47:51 +00:00
end