forked from darcy/acts_as_loggable
Simple log utility for models. Add any number of optional arbitrary details fields, or user_id.
License
coderberry/acts_as_loggable
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
== acts_as_loggable This library adds logging to an ActiveRecord model. Inspired by acts_as_commentable. == Usage class Order < ActiveRecord::Base acts_as_loggable ... end == 1. Simple o = Order.find(:first) o.logs << Log.new(:message => "Credit Card Aprroved") o.logs.first.message # => "Credit Card Aprroved" == 2. With some details o = Order.find(:first) log = Log.new(:message => "Credit Card Aprroved") log.details = [["transaction_id","TX1234"],["test",false],["foo","bar"]] o.logs << log o.logs.first.message # => "Credit Card Aprroved" o.logs.first.details.first.label # => "transaction_id" o.logs.first.details.first.detail # => "TX1234" == 3. Adding a grouping type and an Owner o = Order.find(:first) o.logs << Log.new(:message => "Credit Card Aprroved", :group => 'card_approval', :user => User.find(:first), :owner => Store.find(:first)) o.logs.find_by_user(current_user) o.logs.find_by_owner(current_store) o.logs.find_by_group('card_approval') == Database class CreateLoggable < ActiveRecord::Migration def self.up create_table "logs" do |t| t.string "message" t.integer "loggable_id" t.string "loggable_type" t.integer "user_id" t.string "group" t.integer "owner_id" t.string "owner_type" t.timestamps end create_table "log_details" do |t| t.integer "log_id" t.string "label" t.text "detail" end end def self.down drop_table :logs drop_table :log_details end end
About
Simple log utility for models. Add any number of optional arbitrary details fields, or user_id.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Ruby 100.0%