honesty 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: