wiser_trails 1.1.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.
- checksums.yaml +15 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +145 -0
- data/Rakefile +2 -0
- data/lib/generators/wiser_trails.rb +12 -0
- data/lib/generators/wiser_trails/migration/migration_generator.rb +17 -0
- data/lib/generators/wiser_trails/migration/templates/migration.rb +23 -0
- data/lib/generators/wiser_trails/model/model_generator.rb +17 -0
- data/lib/generators/wiser_trails/model/templates/model.rb +3 -0
- data/lib/wiser_trails.rb +69 -0
- data/lib/wiser_trails/actions/creation.rb +15 -0
- data/lib/wiser_trails/actions/destruction.rb +15 -0
- data/lib/wiser_trails/actions/update.rb +15 -0
- data/lib/wiser_trails/activity.rb +6 -0
- data/lib/wiser_trails/common.rb +334 -0
- data/lib/wiser_trails/config.rb +63 -0
- data/lib/wiser_trails/models/activist.rb +9 -0
- data/lib/wiser_trails/models/activity.rb +4 -0
- data/lib/wiser_trails/models/adapter.rb +5 -0
- data/lib/wiser_trails/models/trackable.rb +9 -0
- data/lib/wiser_trails/orm/active_record.rb +5 -0
- data/lib/wiser_trails/orm/active_record/activist.rb +48 -0
- data/lib/wiser_trails/orm/active_record/activity.rb +25 -0
- data/lib/wiser_trails/orm/active_record/adapter.rb +16 -0
- data/lib/wiser_trails/orm/active_record/trackable.rb +15 -0
- data/lib/wiser_trails/renderable.rb +118 -0
- data/lib/wiser_trails/roles/deactivatable.rb +42 -0
- data/lib/wiser_trails/roles/trail_it.rb +180 -0
- data/lib/wiser_trails/utility/store_controller.rb +37 -0
- data/lib/wiser_trails/utility/view_helpers.rb +26 -0
- data/lib/wiser_trails/version.rb +3 -0
- data/wiser_trails.gemspec +27 -0
- metadata +147 -0
@@ -0,0 +1,37 @@
|
|
1
|
+
module WiserTrails
|
2
|
+
# @private
|
3
|
+
@@controllers = Hash.new
|
4
|
+
# Lambda called after the thread is destroyed.
|
5
|
+
Finalizer = lambda { |id|
|
6
|
+
@@controllers.delete id
|
7
|
+
}
|
8
|
+
|
9
|
+
class << self
|
10
|
+
# Setter for remembering controller instance
|
11
|
+
def set_controller(controller)
|
12
|
+
unless @@controllers.has_key?(Thread.current.object_id)
|
13
|
+
ObjectSpace.define_finalizer Thread.current, Finalizer
|
14
|
+
end if RUBY_VERSION != "1.9.3"
|
15
|
+
@@controllers[Thread.current.object_id] = controller
|
16
|
+
end
|
17
|
+
|
18
|
+
# Getter for accessing the controller instance
|
19
|
+
def get_controller
|
20
|
+
@@controllers[Thread.current.object_id]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Module included in controllers to allow p_a access to controller instance
|
25
|
+
module StoreController
|
26
|
+
extend ActiveSupport::Concern
|
27
|
+
|
28
|
+
included do
|
29
|
+
before_filter :store_controller_for_wiser_trails
|
30
|
+
end
|
31
|
+
|
32
|
+
# Before filter executed to remember current controller
|
33
|
+
def store_controller_for_wiser_trails
|
34
|
+
WiserTrails.set_controller(self)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Provides a shortcut from views to the rendering method.
|
2
|
+
module WiserTrails
|
3
|
+
# Module extending ActionView::Base and adding `render_activity` helper.
|
4
|
+
module ViewHelpers
|
5
|
+
# View helper for rendering an activity, calls {WiserTrails::Activity#render} internally.
|
6
|
+
def render_activity activities, options = {}
|
7
|
+
if activities.is_a? WiserTrails::Activity
|
8
|
+
activities.render self, options
|
9
|
+
elsif activities.respond_to?(:map)
|
10
|
+
# depend on ORMs to fetch as needed
|
11
|
+
# maybe we can support Postgres streaming with this?
|
12
|
+
activities.map {|activity| activity.render self, options.dup }.join.html_safe
|
13
|
+
end
|
14
|
+
end
|
15
|
+
alias_method :render_activities, :render_activity
|
16
|
+
|
17
|
+
# Helper for setting content_for in activity partial, needed to
|
18
|
+
# flush remains in between partial renders.
|
19
|
+
def single_content_for(name, content = nil, &block)
|
20
|
+
@view_flow.set(name, ActiveSupport::SafeBuffer.new)
|
21
|
+
content_for(name, content, &block)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
ActionView::Base.class_eval { include ViewHelpers }
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'wiser_trails/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "wiser_trails"
|
8
|
+
spec.version = WiserTrails::VERSION
|
9
|
+
spec.authors = ["Kenneth John Balgos"]
|
10
|
+
spec.email = ["kennethjohnbalgos@gmail.com"]
|
11
|
+
spec.description = "Audit Trails in Harmony"
|
12
|
+
spec.summary = ""
|
13
|
+
spec.homepage = "https://github.com/kennethjohnbalgos/wiser_trails"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
|
24
|
+
spec.add_dependency 'actionpack', '>= 3.0.0'
|
25
|
+
spec.add_dependency 'railties', '>= 3.0.0'
|
26
|
+
spec.add_dependency 'activerecord', '>= 3.0'
|
27
|
+
end
|
metadata
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: wiser_trails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kenneth John Balgos
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-10-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: actionpack
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.0.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: railties
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.0.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.0.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activerecord
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.0'
|
83
|
+
description: Audit Trails in Harmony
|
84
|
+
email:
|
85
|
+
- kennethjohnbalgos@gmail.com
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- .gitignore
|
91
|
+
- Gemfile
|
92
|
+
- LICENSE.txt
|
93
|
+
- README.md
|
94
|
+
- Rakefile
|
95
|
+
- lib/generators/wiser_trails.rb
|
96
|
+
- lib/generators/wiser_trails/migration/migration_generator.rb
|
97
|
+
- lib/generators/wiser_trails/migration/templates/migration.rb
|
98
|
+
- lib/generators/wiser_trails/model/model_generator.rb
|
99
|
+
- lib/generators/wiser_trails/model/templates/model.rb
|
100
|
+
- lib/wiser_trails.rb
|
101
|
+
- lib/wiser_trails/actions/creation.rb
|
102
|
+
- lib/wiser_trails/actions/destruction.rb
|
103
|
+
- lib/wiser_trails/actions/update.rb
|
104
|
+
- lib/wiser_trails/activity.rb
|
105
|
+
- lib/wiser_trails/common.rb
|
106
|
+
- lib/wiser_trails/config.rb
|
107
|
+
- lib/wiser_trails/models/activist.rb
|
108
|
+
- lib/wiser_trails/models/activity.rb
|
109
|
+
- lib/wiser_trails/models/adapter.rb
|
110
|
+
- lib/wiser_trails/models/trackable.rb
|
111
|
+
- lib/wiser_trails/orm/active_record.rb
|
112
|
+
- lib/wiser_trails/orm/active_record/activist.rb
|
113
|
+
- lib/wiser_trails/orm/active_record/activity.rb
|
114
|
+
- lib/wiser_trails/orm/active_record/adapter.rb
|
115
|
+
- lib/wiser_trails/orm/active_record/trackable.rb
|
116
|
+
- lib/wiser_trails/renderable.rb
|
117
|
+
- lib/wiser_trails/roles/deactivatable.rb
|
118
|
+
- lib/wiser_trails/roles/trail_it.rb
|
119
|
+
- lib/wiser_trails/utility/store_controller.rb
|
120
|
+
- lib/wiser_trails/utility/view_helpers.rb
|
121
|
+
- lib/wiser_trails/version.rb
|
122
|
+
- wiser_trails.gemspec
|
123
|
+
homepage: https://github.com/kennethjohnbalgos/wiser_trails
|
124
|
+
licenses:
|
125
|
+
- MIT
|
126
|
+
metadata: {}
|
127
|
+
post_install_message:
|
128
|
+
rdoc_options: []
|
129
|
+
require_paths:
|
130
|
+
- lib
|
131
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ! '>='
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
requirements: []
|
142
|
+
rubyforge_project:
|
143
|
+
rubygems_version: 2.0.3
|
144
|
+
signing_key:
|
145
|
+
specification_version: 4
|
146
|
+
summary: ''
|
147
|
+
test_files: []
|