Class: RageRender::SearchDrop
- Inherits:
-
Jekyll::Drops::Drop
- Object
- Jekyll::Drops::Drop
- RageRender::SearchDrop
show all
- Extended by:
- Pipettes
- Defined in:
- lib/ragerender/jekyll/search.rb
Instance Method Summary
collapse
Methods included from Pipettes
clean_payload, def_data_delegator, def_image_metadata, def_loop, extended, loops
Instance Method Details
#foundresults ⇒ Object
37
38
39
|
# File 'lib/ragerender/jekyll/search.rb', line 37
def foundresults
searchresults.any?
end
|
#searched ⇒ Object
15
16
17
|
# File 'lib/ragerender/jekyll/search.rb', line 15
def searched
!searchterm.nil?
end
|
#searchresults ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/ragerender/jekyll/search.rb', line 20
def searchresults
return [] unless searched
@results ||= @obj.site.collections['comics'].docs.select do |comic|
[
*comic.data.fetch('tags', []),
comic.content,
*comic.data.fetch('authornotes', []).flat_map {|n| n['comment'] },
].map(&:downcase).any? {|c| c.include?(searchterm.downcase) }
end.map.each_with_index do |comic, index|
drop = ComicDrop.new(comic)
{
'number' => index + 1,
**ComicDrop::PAGINATION_FIELDS.map {|f| [f.to_s, drop[f]] }.to_h,
}
end
end
|