class Integral::Widgets::RecentPosts
Outputs recent posts
Example Widget Markup <p class='integral-widget' data-widget-type='recent_posts' data-widget-value-tagged='awesome-tag'>
Public Class Methods
controller()
click to toggle source
Frontend controller used to render views
# File lib/integral/widgets/recent_posts.rb, line 21 def self.controller Integral.frontend_parent_controller.constantize end
default_options()
click to toggle source
Default widget options
# File lib/integral/widgets/recent_posts.rb, line 26 def self.default_options { amount: 2, tagged: '' } end
render(options = {})
click to toggle source
Render the recent posts
# File lib/integral/widgets/recent_posts.rb, line 10 def self.render(options = {}) options = options.reverse_merge(default_options) controller.render( partial: 'integral/posts/collection', locals: { collection: skope(options) }, layout: false ) end
skope(options)
click to toggle source
Scope of the widget
# File lib/integral/widgets/recent_posts.rb, line 34 def self.skope(options) skope = Integral::Post.published.order(published_at: :desc) skope = skope.tagged_with(options[:tagged].split) if options[:tagged].present? skope.limit(options[:amount]) end