Refresh the markdown cache if it was nil
If the cached html_field for a markdown_field is `nil` while the mfarkdown_field is not, it needs to be refreshed.
This commit is contained in:
parent
ffc486a585
commit
3dd2476eb3
2 changed files with 9 additions and 0 deletions
|
@ -78,6 +78,9 @@ module CacheMarkdownField
|
||||||
def cached_html_up_to_date?(markdown_field)
|
def cached_html_up_to_date?(markdown_field)
|
||||||
html_field = cached_markdown_fields.html_field(markdown_field)
|
html_field = cached_markdown_fields.html_field(markdown_field)
|
||||||
|
|
||||||
|
cached = !cached_html_for(markdown_field).nil? && !__send__(markdown_field).nil?
|
||||||
|
return false unless cached
|
||||||
|
|
||||||
markdown_changed = attribute_changed?(markdown_field) || false
|
markdown_changed = attribute_changed?(markdown_field) || false
|
||||||
html_changed = attribute_changed?(html_field) || false
|
html_changed = attribute_changed?(html_field) || false
|
||||||
|
|
||||||
|
|
|
@ -170,6 +170,12 @@ describe CacheMarkdownField do
|
||||||
|
|
||||||
is_expected.to be_truthy
|
is_expected.to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'returns false if the markdown field is set but the html is not' do
|
||||||
|
thing.foo_html = nil
|
||||||
|
|
||||||
|
is_expected.to be_falsy
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#refresh_markdown_cache!' do
|
describe '#refresh_markdown_cache!' do
|
||||||
|
|
Loading…
Reference in a new issue