Skip to content

Fallback when original attribute is not present or somethings not right.

Notifications You must be signed in to change notification settings

grosser/fallback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fallback when original is not present or somethings not right.
For normal Object's and ActiveRecord's.

class User < ActiveRecord::Base
  include Fallback

  # use description if detailed description is not available
  fallback :detailed_description => :description

  has_one :shop

  # use shop.name if user.name is blank
  fallback :name, :to => :shop

  # use shop.title if user.name is blank
  fallback :name => :title, :to => :shop

  # use shop.title if lambda is true (also works with :unless)
  fallback :title, :to => :shop, :if => lambda{|user| user.title.size < 10 }

  # use shop.title if user.title_to_short? is true
  fallback :title, :to => :shop, :if => :title_to_short?
end

Install

Gem sudo gem install fallback
Or as Rails plugin: script/plugin install git://github.com/grosser/fallback.git

Author

Michael Grosser
grosser.michael@gmail.com
Hereby placed under public domain, do what you want, just do not hold me accountable...

About

Fallback when original attribute is not present or somethings not right.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages