paper_view 0.1.1 → 0.2.0

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.
@@ -2,7 +2,8 @@ module PaperView
2
2
  class Configuration
3
3
  DEFAULT_TIME_FORMAT = "%Y-%m-%d %H:%M:%S".freeze
4
4
 
5
- attr_accessor :version_class_name, :parent_controller, :per_page, :whodunnit_label, :time_format
5
+ attr_accessor :version_class_name, :parent_controller, :per_page, :whodunnit_label, :time_format, :turbo, :metadata_columns
6
+
6
7
  attr_reader :authentication_block, :authorization_block
7
8
 
8
9
  def initialize
@@ -11,6 +12,8 @@ module PaperView
11
12
  @per_page = 25
12
13
  @whodunnit_label = nil
13
14
  @time_format = DEFAULT_TIME_FORMAT
15
+ @turbo = true
16
+ @metadata_columns = nil
14
17
  end
15
18
 
16
19
  def authenticate_with(&block)
@@ -0,0 +1,21 @@
1
+ require "digest"
2
+
3
+ module PaperView
4
+ # A plain Rack endpoint to serve Turbo.js
5
+ class TurboAsset
6
+ PATH = File.expand_path("assets/turbo.js", __dir__).freeze
7
+ SOURCE = File.read(PATH).freeze
8
+ DIGEST = Digest::SHA256.hexdigest(SOURCE).first(12).freeze
9
+
10
+ HEADERS = {
11
+ "content-type" => "text/javascript; charset=utf-8",
12
+ "cache-control" => "public, max-age=31536000, immutable",
13
+ "content-length" => SOURCE.bytesize.to_s
14
+ }.freeze
15
+
16
+ def self.call(env)
17
+ # Rack middleware such as ETag writes to the header hash, so it cannot be shared.
18
+ [200, HEADERS.dup, (env["REQUEST_METHOD"] == "HEAD") ? [] : [SOURCE]]
19
+ end
20
+ end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module PaperView
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/paper_view.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "paper_view/version"
2
2
  require "paper_view/configuration"
3
3
  require "paper_view/engine"
4
+ require "paper_view/turbo_asset"
4
5
 
5
6
  module PaperView
6
7
  EMPTY = "—".freeze
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paper_view
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leon Vogt
@@ -34,13 +34,17 @@ files:
34
34
  - MIT-LICENSE
35
35
  - README.md
36
36
  - app/controllers/paper_view/application_controller.rb
37
+ - app/controllers/paper_view/stats_controller.rb
37
38
  - app/controllers/paper_view/versions_controller.rb
38
39
  - app/helpers/paper_view/application_helper.rb
39
40
  - app/models/paper_view/attribute_change.rb
40
41
  - app/models/paper_view/change_set.rb
41
42
  - app/models/paper_view/leaf_change.rb
43
+ - app/models/paper_view/metadata.rb
42
44
  - app/models/paper_view/paginator.rb
43
45
  - app/models/paper_view/payload.rb
46
+ - app/models/paper_view/payload_sizes.rb
47
+ - app/models/paper_view/table_stats.rb
44
48
  - app/models/paper_view/timeline.rb
45
49
  - app/models/paper_view/version_query.rb
46
50
  - app/models/paper_view/version_row.rb
@@ -49,6 +53,8 @@ files:
49
53
  - app/views/paper_view/shared/_flash.html.erb
50
54
  - app/views/paper_view/shared/_script.html.erb
51
55
  - app/views/paper_view/shared/_styles.html.erb
56
+ - app/views/paper_view/stats/_stats.html.erb
57
+ - app/views/paper_view/stats/show.html.erb
52
58
  - app/views/paper_view/versions/_filters.html.erb
53
59
  - app/views/paper_view/versions/_footer.html.erb
54
60
  - app/views/paper_view/versions/_panel.html.erb
@@ -56,8 +62,10 @@ files:
56
62
  - app/views/paper_view/versions/index.html.erb
57
63
  - config/routes.rb
58
64
  - lib/paper_view.rb
65
+ - lib/paper_view/assets/turbo.js
59
66
  - lib/paper_view/configuration.rb
60
67
  - lib/paper_view/engine.rb
68
+ - lib/paper_view/turbo_asset.rb
61
69
  - lib/paper_view/version.rb
62
70
  homepage: https://github.com/leonvogt/paper_view
63
71
  licenses: