Sha256: 7135456e555b6c9a3783f9d8d0d1b2fbab397282c21927245692cf926432aedf

Contents?: true

Size: 583 Bytes

Versions: 2

Compression:

Stored size: 583 Bytes

Contents

module Listings
  # = Helpers
  module ActionViewExtensions
    def render_listing(key)
      params_for_listing = {:listing => key}.merge(params).with_indifferent_access
      listing = prepare_listing(params_for_listing, self)
      render :partial => 'listings/index', :locals => { :listing => listing }
    end

    def prepare_listing(params, view_context)
      listing_class = "#{params[:listing]}_listing".classify.constantize
      listing_class.new.tap do |listing|
        listing.view_context = view_context
        listing.query_items(params)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
listings-0.0.2 lib/listings/action_view_extensions.rb
listings-0.0.1 lib/listings/action_view_extensions.rb