honesty 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/lib/honesty.rb +44 -7
  2. data/lib/honesty/version.rb +1 -1
  3. metadata +7 -7
@@ -1,13 +1,50 @@
1
1
  require "honesty/version"
2
-
3
2
  require 'active_record'
4
3
 
5
- $LOAD_PATH.unshift(File.dirname(__FILE__))
6
-
4
+ #this is HEAVILY influenced by aprihodko's acts_as_reportable gem
7
5
  module Honesty
8
-
9
- if defined?(ActiveRecord::Base)
10
- require 'honesty/honesty'
6
+ module Truth
7
+
8
+ def self.included(base)
9
+ base.extend ClassMethods
10
+ end
11
+
12
+ module ClassMethods
13
+ def honesty
14
+ has_many :truths, :order => 'created_at ASC'
15
+ include Honesty::Truth::InstanceMethods
16
+ end
17
+ end
18
+
19
+ module InstanceMethods
20
+ def truth(context, agent, action)
21
+ truth = Truth.new
22
+ truth.context = context
23
+ truth.agent = agent
24
+ truth.action = action
25
+ self.truths << truth
26
+ end
27
+
28
+ # Helper methods
29
+ def truths_by_context
30
+ Truth.find(:all,
31
+ :conditions => ["context = ?", self.class.context],
32
+ :order => "created_at DESC"
33
+ )
34
+ end
35
+ def truths_by_agent
36
+ Truth.find(:all,
37
+ :conditions => ["agent = ?", self.class.agent],
38
+ :order => "created_at DESC"
39
+ )
40
+ end
41
+ def truths_by_action
42
+ Truth.find(:all,
43
+ :conditions => ["action = ?", self.class.action],
44
+ :order => "created_at DESC"
45
+ )
46
+ end
47
+ end
48
+
11
49
  end
12
-
13
50
  end
@@ -1,3 +1,3 @@
1
1
  module Honesty
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honesty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-01-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70335022740940 !ruby/object:Gem::Requirement
16
+ requirement: &70256573364580 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70335022740940
24
+ version_requirements: *70256573364580
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sqlite3
27
- requirement: &70335022740140 !ruby/object:Gem::Requirement
27
+ requirement: &70256573363900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70335022740140
35
+ version_requirements: *70256573363900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rails
38
- requirement: &70335022738600 !ruby/object:Gem::Requirement
38
+ requirement: &70256573362960 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '3.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70335022738600
46
+ version_requirements: *70256573362960
47
47
  description: Honesty allows developers to store and track user activities and system
48
48
  events in a human-readable, easily-searchable format.
49
49
  email: