Sha256: 56b57009deb499754986bb4ec2c32833964137ee1706e95e8959d63e40f1defe
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
module GritterNotices::ActiveRecord ValidMethods = Hash[*GritterNotices::KEYS.map { |key| ["notice_#{key}".to_sym, key] }.flatten] # :level => [:success, :warning, :notice, :error, :progress] def has_gritter_notices has_many :gritter_notices, :as => :owner, :dependent => :delete_all include InstanceMethods end module InstanceMethods # # Examples: # # notice :message=>'asdsad', :image=>:notice # notice 'message', :level=>:success # def notice *args options = args.extract_options! message = args.first || options[:message] options = {:scope=>:gritter_notices, :level=>:notice}.merge options if message.is_a? Symbol options[:gritter_message_key] = message message = I18n::translate(message, options) end gritter_notices.create! :message=>message, :options=>options end # notice_success # notice_error # notice_warning # notice_progress # notice_notice - default. An alias for `notice` def method_missing(method_name, *args, &block) if level = ValidMethods[method_name] options = args.extract_options! options[:level] = level args << options notice *args else super(method_name, *args, &block) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gritter_notices-0.1.1 | lib/gritter_notices/active_record.rb |