paper_trail-sinatra 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.travis.yml +22 -0
- data/CHANGELOG.md +32 -0
- data/README.md +15 -4
- data/lib/paper_trail/sinatra/version.rb +1 -1
- data/lib/paper_trail/sinatra.rb +48 -2
- data/paper_trail-sinatra.gemspec +12 -13
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6d6d8c636449a424b7c0abdbc05cc80bdfe79d2a
|
4
|
+
data.tar.gz: a0a674060d20173bc2fdc012b91d479043ab5f38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e4c53518748ed4db5417ca3c55c345e4e4e29df03e354e3c728800e3568695f674e8b10748b7613afc9d512b7b153337c9fca274fa3424a3ddf58bdb40f6cfa
|
7
|
+
data.tar.gz: 0b1a95a6976c92541cfd027e85b61f21aa682c19f9421cd59f0ce354ded240254d5173bd84c0e4f3683412186fe51f58f8a1f63fb2e3f14abb678a21fa4860b9
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
before_install:
|
2
|
+
- gem update --system
|
3
|
+
- gem update bundler
|
4
|
+
before_script:
|
5
|
+
- mkdir db
|
6
|
+
- touch db/test.sqlite3
|
7
|
+
- sqlite3 db/test.sqlite3 < spec/create_db.sql
|
8
|
+
gemfile:
|
9
|
+
- spec/gemfiles/Gemfile_pt7_sinatra1.rb
|
10
|
+
- spec/gemfiles/Gemfile_pt7_sinatra2.rb
|
11
|
+
- spec/gemfiles/Gemfile_pt8_sinatra1.rb
|
12
|
+
- spec/gemfiles/Gemfile_pt8_sinatra2.rb
|
13
|
+
language: ruby
|
14
|
+
|
15
|
+
# For ruby compatibility, we test the highest and lowest minor versions only.
|
16
|
+
rvm:
|
17
|
+
- 2.5.0
|
18
|
+
- 2.2.9
|
19
|
+
|
20
|
+
script:
|
21
|
+
- bundle exec rspec
|
22
|
+
sudo: false
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,37 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## Unreleased
|
4
|
+
|
5
|
+
Breaking Changes
|
6
|
+
|
7
|
+
- None
|
8
|
+
|
9
|
+
Added
|
10
|
+
|
11
|
+
- None
|
12
|
+
|
13
|
+
Fixed
|
14
|
+
|
15
|
+
- None
|
16
|
+
|
17
|
+
## 0.4.0 (2018-02-22)
|
18
|
+
|
19
|
+
Breaking Changes
|
20
|
+
|
21
|
+
- Drop support for activesupport < 4.2 (EoL)
|
22
|
+
- Drop support for ruby < 2.2 (EoL, and required by sinatra 2)
|
23
|
+
|
24
|
+
Added
|
25
|
+
|
26
|
+
- [#5](https://github.com/jaredbeck/paper_trail-sinatra/pull/5) -
|
27
|
+
Two methods familiar to rails users
|
28
|
+
- info_for_paper_trail
|
29
|
+
- paper_trail_enabled_for_request
|
30
|
+
|
31
|
+
Fixed
|
32
|
+
|
33
|
+
- None
|
34
|
+
|
3
35
|
## 0.3.0 (2017-12-10)
|
4
36
|
|
5
37
|
Breaking Changes
|
data/README.md
CHANGED
@@ -32,12 +32,23 @@ into the `create_versions` migration that was generated into your `db/migrate` d
|
|
32
32
|
|
33
33
|
5. Add `has_paper_trail` to the models you want to track.
|
34
34
|
|
35
|
-
PaperTrail provides
|
35
|
+
PaperTrail provides some helper extensions that acts similar to the controller mixin
|
36
36
|
it provides for `Rails` applications.
|
37
37
|
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
In your helpers you can override these methods:
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
# Returns the user who is responsible for any changes that occur.
|
42
|
+
# Defaults to current_user.
|
43
|
+
user_for_paper_trail
|
44
|
+
|
45
|
+
# Returns any information about the controller or request that you want
|
46
|
+
# PaperTrail to store alongside any changes that occur.
|
47
|
+
info_for_paper_trail
|
48
|
+
|
49
|
+
# Returns `true` (default) or `false` to turn PaperTrail on/off for per request.
|
50
|
+
paper_trail_enabled_for_request
|
51
|
+
```
|
41
52
|
|
42
53
|
If you're using the modular [`Sinatra::Base`][4] style of application, you will
|
43
54
|
need to register the extension:
|
data/lib/paper_trail/sinatra.rb
CHANGED
@@ -10,7 +10,11 @@ module PaperTrail
|
|
10
10
|
def self.registered(app)
|
11
11
|
app.use RequestStore::Middleware
|
12
12
|
app.helpers self
|
13
|
-
app.before {
|
13
|
+
app.before {
|
14
|
+
set_paper_trail_whodunnit
|
15
|
+
set_paper_trail_request_info
|
16
|
+
set_paper_trail_enabled_for_request
|
17
|
+
}
|
14
18
|
end
|
15
19
|
|
16
20
|
protected
|
@@ -27,13 +31,55 @@ module PaperTrail
|
|
27
31
|
current_user
|
28
32
|
end
|
29
33
|
|
34
|
+
# Returns any information about the controller or request that you
|
35
|
+
# want PaperTrail to store alongside any changes that occur. By
|
36
|
+
# default this returns an empty hash.
|
37
|
+
#
|
38
|
+
# Override this method in your controller to return a hash of any
|
39
|
+
# information you need. The hash's keys must correspond to columns
|
40
|
+
# in your `versions` table, so don't forget to add any new columns
|
41
|
+
# you need.
|
42
|
+
#
|
43
|
+
# For example:
|
44
|
+
#
|
45
|
+
# {:ip => request.remote_ip, :user_agent => request.user_agent}
|
46
|
+
#
|
47
|
+
# The columns `ip` and `user_agent` must exist in your `versions` # table.
|
48
|
+
#
|
49
|
+
# Use the `:meta` option to
|
50
|
+
# `PaperTrail::Model::ClassMethods.has_paper_trail` to store any extra
|
51
|
+
# model-level data you need.
|
52
|
+
def info_for_paper_trail
|
53
|
+
{}
|
54
|
+
end
|
55
|
+
|
56
|
+
# Returns `true` (default) or `false` depending on whether PaperTrail
|
57
|
+
# should be active for the current request.
|
58
|
+
#
|
59
|
+
# Override this method in your controller to specify when PaperTrail
|
60
|
+
# should be off.
|
61
|
+
def paper_trail_enabled_for_request
|
62
|
+
::PaperTrail.enabled?
|
63
|
+
end
|
64
|
+
|
30
65
|
private
|
31
66
|
|
32
67
|
# Tells PaperTrail who is responsible for any changes that occur.
|
33
68
|
def set_paper_trail_whodunnit
|
34
|
-
@set_paper_trail_whodunnit_called = true
|
35
69
|
::PaperTrail.whodunnit = user_for_paper_trail if ::PaperTrail.enabled?
|
36
70
|
end
|
71
|
+
|
72
|
+
# Tells PaperTrail any information from the controller you want to store
|
73
|
+
# alongside any changes that occur.
|
74
|
+
def set_paper_trail_request_info
|
75
|
+
::PaperTrail.controller_info = info_for_paper_trail if ::PaperTrail.enabled?
|
76
|
+
end
|
77
|
+
|
78
|
+
# Tells PaperTrail whether versions should be saved in the current
|
79
|
+
# request.
|
80
|
+
def set_paper_trail_enabled_for_request
|
81
|
+
::PaperTrail.enabled_for_controller = paper_trail_enabled_for_request if ::PaperTrail.enabled?
|
82
|
+
end
|
37
83
|
end
|
38
84
|
end
|
39
85
|
|
data/paper_trail-sinatra.gemspec
CHANGED
@@ -4,27 +4,26 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'paper_trail/sinatra/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name
|
8
|
-
spec.version
|
9
|
-
spec.authors
|
10
|
-
spec.email
|
7
|
+
spec.name = "paper_trail-sinatra"
|
8
|
+
spec.version = ::PaperTrail::Sinatra::VERSION
|
9
|
+
spec.authors = ["Jared Beck"]
|
10
|
+
spec.email = ["jared@jaredbeck.com"]
|
11
11
|
spec.licenses = ["GPL-3.0"]
|
12
|
-
spec.summary
|
13
|
-
spec.homepage
|
14
|
-
|
15
|
-
|
16
|
-
f.match(%r{^(test|spec|features)/})
|
12
|
+
spec.summary = 'Sinatra support for paper_trail'
|
13
|
+
spec.homepage = 'https://github.com/jaredbeck/paper_trail-sinatra'
|
14
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
15
|
+
f.match(%r{^spec/})
|
17
16
|
end
|
18
|
-
spec.
|
19
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
17
|
+
spec.executables = []
|
20
18
|
spec.require_paths = ["lib"]
|
21
19
|
|
22
20
|
# PT 7 requires ruby >= 2.1.0. We don't technically need the same constraint
|
23
21
|
# in this project, but it's helpful for local development.
|
24
|
-
spec.required_ruby_version = ">= 2.
|
22
|
+
spec.required_ruby_version = ">= 2.2.0"
|
25
23
|
|
26
|
-
spec.add_dependency "activesupport", [">= 4.
|
24
|
+
spec.add_dependency "activesupport", [">= 4.2", "< 6"]
|
27
25
|
|
26
|
+
# Why constrain bundler? Is there a better way?
|
28
27
|
spec.add_dependency "bundler", "~> 1.13"
|
29
28
|
|
30
29
|
# This gem should not be used with PT < 7 because both define
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paper_trail-sinatra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Beck
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '4.
|
19
|
+
version: '4.2'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '6'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '4.
|
29
|
+
version: '4.2'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '6'
|
@@ -134,6 +134,7 @@ extensions: []
|
|
134
134
|
extra_rdoc_files: []
|
135
135
|
files:
|
136
136
|
- ".gitignore"
|
137
|
+
- ".travis.yml"
|
137
138
|
- CHANGELOG.md
|
138
139
|
- Gemfile
|
139
140
|
- LICENSE
|
@@ -155,7 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
156
|
requirements:
|
156
157
|
- - ">="
|
157
158
|
- !ruby/object:Gem::Version
|
158
|
-
version: 2.
|
159
|
+
version: 2.2.0
|
159
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
161
|
requirements:
|
161
162
|
- - ">="
|
@@ -163,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
164
|
version: '0'
|
164
165
|
requirements: []
|
165
166
|
rubyforge_project:
|
166
|
-
rubygems_version: 2.
|
167
|
+
rubygems_version: 2.6.14
|
167
168
|
signing_key:
|
168
169
|
specification_version: 4
|
169
170
|
summary: Sinatra support for paper_trail
|