Skip to content

Latest commit

 

History

History
54 lines (42 loc) · 1.56 KB

README.md

File metadata and controls

54 lines (42 loc) · 1.56 KB

#Will Summarize#

Allows large text fields in ActiveRecord models to be summarized and fetched efficiently for list view. The summaries named scope will fetch model instances without the summarized field (but all others).

###Basic Usage### Add a summary field to your model via a migration

class AddSummarySupport < ActiveRecord::Migration
  def change
    add_column :summary, :string
  end
end

Declare what fields should be summarized in your model

class Post
  summarize :content
end

Make use of the summaries named scope

Post.summaries.where('publish_date < ?', Time.now)

###Summary Autopopulation### If the summary is blank when saved, it will be populated according to a paragraph matching strategy. Currently, the gem supports html paragraph matching, so that the first paragrah including <p> and </p> is used as the summary. Other strategies will be added in the future.

This is carried out by the populate_summary method added to instances of the model, and can be invoked anytime you need to repopulate the summary.

###Customizing the columns returned### By default, the summarized column is not fetched and all other columns are. You can provide a lambda as a filter that will inspect columns and evaluate to true if the column is to be fetched or false otherwise to modify this behavior.

class Post
  # filter out any other text columns from objs returned by the summaries scope.
  summarize :content, :filter => lambda {|column| column.type == 'text'}
end

###Rails Admin Integration### TODO