specbook 0.1.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +25 -0
- data/LICENSE.txt +21 -0
- data/README.md +105 -0
- data/app/controllers/specbook/application_controller.rb +4 -0
- data/app/controllers/specbook/viewer_controller.rb +179 -0
- data/app/views/specbook/viewer/_app_js.html.erb +1335 -0
- data/app/views/specbook/viewer/_screenshots_sidebar.html.erb +24 -0
- data/app/views/specbook/viewer/_styles.html.erb +178 -0
- data/app/views/specbook/viewer/_top_bar.html.erb +13 -0
- data/app/views/specbook/viewer/_traces_sidebar.html.erb +15 -0
- data/app/views/specbook/viewer/_viewer_panel.html.erb +44 -0
- data/app/views/specbook/viewer/show.html.erb +27 -0
- data/config/routes.rb +6 -0
- data/lib/generators/specbook/install/USAGE +25 -0
- data/lib/generators/specbook/install/install_generator.rb +19 -0
- data/lib/generators/specbook/install/templates/README +22 -0
- data/lib/generators/specbook/install/templates/specbook.rb +45 -0
- data/lib/specbook/configuration.rb +50 -0
- data/lib/specbook/engine.rb +7 -0
- data/lib/specbook/recorders/playwright_trace.rb +91 -0
- data/lib/specbook/recorders/screenshot.rb +713 -0
- data/lib/specbook/rspec.rb +15 -0
- data/lib/specbook/version.rb +3 -0
- data/lib/specbook.rb +13 -0
- metadata +150 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Opt-in entrypoint for the Specbook recorders.
|
|
2
|
+
# Host loads via: require "specbook/rspec"
|
|
3
|
+
#
|
|
4
|
+
# Honors the same env-var contract as the original support files —
|
|
5
|
+
# the recorder bodies are wrapped in `if ENV["RECORD_SPECS"]` /
|
|
6
|
+
# `if ENV["RECORD_TRACES"]` so requiring without the env vars set is a no-op.
|
|
7
|
+
#
|
|
8
|
+
# NOTE: We intentionally do NOT define a `Specbook::RSpec` module here. Doing
|
|
9
|
+
# so would shadow the top-level `::RSpec` constant inside any code nested
|
|
10
|
+
# under `module Specbook`, breaking references like `RSpec::Core::ExampleGroup`
|
|
11
|
+
# in the recorder. The file path `specbook/rspec.rb` is the public name of
|
|
12
|
+
# this entrypoint, but it does not expose a corresponding namespace.
|
|
13
|
+
|
|
14
|
+
require "specbook/recorders/screenshot" if ENV["RECORD_SPECS"]
|
|
15
|
+
require "specbook/recorders/playwright_trace" if ENV["RECORD_TRACES"]
|
data/lib/specbook.rb
ADDED
metadata
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: specbook
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Steve Leung
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-04-28 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rails
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '7.1'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '9'
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '7.1'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '9'
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: rspec-rails
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
40
|
+
type: :development
|
|
41
|
+
prerelease: false
|
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0'
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: capybara
|
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
61
|
+
- !ruby/object:Gem::Dependency
|
|
62
|
+
name: turnip
|
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0'
|
|
68
|
+
type: :development
|
|
69
|
+
prerelease: false
|
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '0'
|
|
75
|
+
- !ruby/object:Gem::Dependency
|
|
76
|
+
name: rack-test
|
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - ">="
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '0'
|
|
82
|
+
type: :development
|
|
83
|
+
prerelease: false
|
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0'
|
|
89
|
+
description: Specbook is a Rails engine that turns Turnip features and RSpec system
|
|
90
|
+
specs into a browsable, animated walkthrough — screenshots with element overlays,
|
|
91
|
+
Gherkin step cards, and Playwright trace viewer.
|
|
92
|
+
email:
|
|
93
|
+
- steve@leungs.me
|
|
94
|
+
executables: []
|
|
95
|
+
extensions: []
|
|
96
|
+
extra_rdoc_files: []
|
|
97
|
+
files:
|
|
98
|
+
- CHANGELOG.md
|
|
99
|
+
- LICENSE.txt
|
|
100
|
+
- README.md
|
|
101
|
+
- app/controllers/specbook/application_controller.rb
|
|
102
|
+
- app/controllers/specbook/viewer_controller.rb
|
|
103
|
+
- app/views/specbook/viewer/_app_js.html.erb
|
|
104
|
+
- app/views/specbook/viewer/_screenshots_sidebar.html.erb
|
|
105
|
+
- app/views/specbook/viewer/_styles.html.erb
|
|
106
|
+
- app/views/specbook/viewer/_top_bar.html.erb
|
|
107
|
+
- app/views/specbook/viewer/_traces_sidebar.html.erb
|
|
108
|
+
- app/views/specbook/viewer/_viewer_panel.html.erb
|
|
109
|
+
- app/views/specbook/viewer/show.html.erb
|
|
110
|
+
- config/routes.rb
|
|
111
|
+
- lib/generators/specbook/install/USAGE
|
|
112
|
+
- lib/generators/specbook/install/install_generator.rb
|
|
113
|
+
- lib/generators/specbook/install/templates/README
|
|
114
|
+
- lib/generators/specbook/install/templates/specbook.rb
|
|
115
|
+
- lib/specbook.rb
|
|
116
|
+
- lib/specbook/configuration.rb
|
|
117
|
+
- lib/specbook/engine.rb
|
|
118
|
+
- lib/specbook/recorders/playwright_trace.rb
|
|
119
|
+
- lib/specbook/recorders/screenshot.rb
|
|
120
|
+
- lib/specbook/rspec.rb
|
|
121
|
+
- lib/specbook/version.rb
|
|
122
|
+
homepage: https://github.com/wakiki/specbook
|
|
123
|
+
licenses:
|
|
124
|
+
- MIT
|
|
125
|
+
metadata:
|
|
126
|
+
homepage_uri: https://github.com/wakiki/specbook
|
|
127
|
+
source_code_uri: https://github.com/wakiki/specbook
|
|
128
|
+
changelog_uri: https://github.com/wakiki/specbook/blob/main/CHANGELOG.md
|
|
129
|
+
bug_tracker_uri: https://github.com/wakiki/specbook/issues
|
|
130
|
+
rubygems_mfa_required: 'true'
|
|
131
|
+
post_install_message:
|
|
132
|
+
rdoc_options: []
|
|
133
|
+
require_paths:
|
|
134
|
+
- lib
|
|
135
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
136
|
+
requirements:
|
|
137
|
+
- - ">="
|
|
138
|
+
- !ruby/object:Gem::Version
|
|
139
|
+
version: '3.1'
|
|
140
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
|
+
requirements:
|
|
142
|
+
- - ">="
|
|
143
|
+
- !ruby/object:Gem::Version
|
|
144
|
+
version: '0'
|
|
145
|
+
requirements: []
|
|
146
|
+
rubygems_version: 3.4.1
|
|
147
|
+
signing_key:
|
|
148
|
+
specification_version: 4
|
|
149
|
+
summary: Storybook for your Rails specs. Record. Replay. Review.
|
|
150
|
+
test_files: []
|