Class: ThemeSettingsManager::Upload
Instance Attribute Summary
#name, #theme
Instance Method Summary
collapse
cast, cast_row_value, create, #create_record!, #db_record, #description, #ensure_is_valid_value!, extract_value_from_row, #has_max?, #has_min?, #has_record?, #initialize, #requests_refresh?, #type, #type_name, types, #update_record!
Instance Method Details
#default ⇒ Object
8
9
10
11
12
13
|
# File 'lib/theme_settings_manager/upload.rb', line 8
def default
upload_id = default_upload_id
return if upload_id.blank?
cdn_url(upload_id)
end
|
#value ⇒ Object
4
5
6
|
# File 'lib/theme_settings_manager/upload.rb', line 4
def value
has_record? ? cdn_url(db_record.value) : default
end
|
#value=(new_value) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/theme_settings_manager/upload.rb', line 15
def value=(new_value)
if new_value.present?
if new_value == default
new_value = default_upload_id
else
upload = ::Upload.find_by(url: new_value)
new_value = upload.id if upload.present?
end
end
super(new_value)
end
|