user_docs 0.0.3 → 0.6.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 +4 -4
- data/MIT-LICENSE +20 -0
- data/README.md +45 -0
- data/Rakefile +38 -0
- data/lib/generators/user_docs/install_generator.rb +33 -0
- data/lib/generators/user_docs/templates/_config.tt +1 -0
- data/lib/generators/user_docs/templates/_includes/index.tt +24 -0
- data/lib/generators/user_docs/templates/_layouts/default.tt +44 -0
- data/lib/generators/user_docs/templates/index.tt +5 -0
- data/lib/tasks/user_docs_tasks.rake +18 -0
- data/lib/user_docs.rb +7 -8
- data/lib/user_docs/capybara_extension.rb +107 -0
- data/lib/user_docs/railtie.rb +12 -0
- data/lib/user_docs/version.rb +5 -0
- metadata +167 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17570ca7f142aca7a866a337055a720d2acae9ea4c851f0b9a6b8ca3274c5be9
|
4
|
+
data.tar.gz: 7b7226c0791a3256f6c718d5388d001c9cab842e9798fe5b32ef02b4e32f532e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bff557e8d7dc2f577bbd9789c1f4bd928f45b776cb7b4f824303d2513e20a4498ec439f90eee27c29d0589f30f586b3b224226f76a4251a37a60ef534a5c2b2f
|
7
|
+
data.tar.gz: 94710b2d8796ab802bf14068787ea5dccc007477289b0b42a0a13e7a30be1394c153e403bd2fbeb2b35df99ed3d9bc07282384844b3f861a8d231dc0fc301f83
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2019 jtopgi
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# UserDocs
|
2
|
+
UserDocs is an semi-autonomous way to create end-user documentation for your Rails project.
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
0. Ensure you have the VERSION constant defined for your project.
|
6
|
+
1. Add this line to your application's Gemfile:
|
7
|
+
```ruby
|
8
|
+
gem 'user_docs'
|
9
|
+
```
|
10
|
+
And then execute:
|
11
|
+
```bash
|
12
|
+
$ bundle
|
13
|
+
```
|
14
|
+
3. Install the required files:
|
15
|
+
```bash
|
16
|
+
$ rails g user_docs:install
|
17
|
+
```
|
18
|
+
4. Include the UserDocs module in your system tests:
|
19
|
+
```ruby
|
20
|
+
class ExampleTest < ApplicationSystemTestCase
|
21
|
+
include UserDocs
|
22
|
+
|
23
|
+
test "foo" do
|
24
|
+
end
|
25
|
+
end
|
26
|
+
```
|
27
|
+
5. Generate documentation by running your system tests:
|
28
|
+
```bash
|
29
|
+
$ rails test:system
|
30
|
+
```
|
31
|
+
6. Push changes to master.
|
32
|
+
7. [Enable GitHub Pages docs folder.](https://help.github.com/en/articles/configuring-a-publishing-source-for-github-pages#publishing-your-github-pages-site-from-a-docs-folder-on-your-master-branch)
|
33
|
+
8. Your documentation should be viewable in the given url within a couple minutes.
|
34
|
+
|
35
|
+
## Usage
|
36
|
+
Here are the following methods you can use to create documentation:
|
37
|
+
* `accept_alert`
|
38
|
+
* `click_on`
|
39
|
+
* `fill_in`
|
40
|
+
* `choose`
|
41
|
+
* `save_screenshot`
|
42
|
+
* `comment`
|
43
|
+
|
44
|
+
## License
|
45
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
begin
|
4
|
+
require "bundler/setup"
|
5
|
+
rescue LoadError
|
6
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
7
|
+
end
|
8
|
+
|
9
|
+
require "rdoc/task"
|
10
|
+
|
11
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
12
|
+
rdoc.rdoc_dir = "rdoc"
|
13
|
+
rdoc.title = "UserDocs"
|
14
|
+
rdoc.options << "--line-numbers"
|
15
|
+
rdoc.rdoc_files.include("README.md")
|
16
|
+
rdoc.rdoc_files.include("lib/**/*.rb")
|
17
|
+
end
|
18
|
+
|
19
|
+
require "bundler/gem_tasks"
|
20
|
+
|
21
|
+
require "rake/testtask"
|
22
|
+
|
23
|
+
Rake::TestTask.new(:test) do |t|
|
24
|
+
t.libs << "test"
|
25
|
+
t.test_files = FileList["test/generators/*_test.rb", "test/integration/*_test.rb", "test/system/*_test.rb"]
|
26
|
+
t.verbose = false
|
27
|
+
end
|
28
|
+
|
29
|
+
require "rubocop/rake_task"
|
30
|
+
require "bundler/audit/task"
|
31
|
+
RuboCop::RakeTask.new
|
32
|
+
Bundler::Audit::Task.new
|
33
|
+
|
34
|
+
task :default do
|
35
|
+
Rake::Task[:rubocop].invoke
|
36
|
+
Rake::Task["bundle:audit"].invoke
|
37
|
+
Rake::Task[:test].invoke
|
38
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rails/generators"
|
4
|
+
|
5
|
+
module UserDocs
|
6
|
+
# Installs the required files
|
7
|
+
class InstallGenerator < Rails::Generators::Base
|
8
|
+
source_root File.expand_path("templates", __dir__)
|
9
|
+
|
10
|
+
def create
|
11
|
+
check_for_version
|
12
|
+
|
13
|
+
template "_config", ".docs/_config.yml"
|
14
|
+
template "index", ".docs/index.html"
|
15
|
+
template "_layouts/default", ".docs/_layouts/default.html"
|
16
|
+
template "_includes/index", ".docs/_includes/index.html"
|
17
|
+
empty_directory ".docs/_data/versions"
|
18
|
+
empty_directory ".docs/versions"
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def check_for_version
|
24
|
+
host_app = Rails.application.class
|
25
|
+
return if defined?(host_app.module_parent::VERSION)
|
26
|
+
|
27
|
+
# :nocov:
|
28
|
+
abort "ERROR: version needs to defined as "\
|
29
|
+
"#{host_app.module_parent}::VERSION."
|
30
|
+
# :nocov:
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
keep_files: ['versions', 'assets']
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<h1 class="text-center">Features</h1>
|
2
|
+
|
3
|
+
{% assign version_directory = page.version | default: site.version | replace: '.', '_' %}
|
4
|
+
{% for feature in site.data.versions[version_directory] %}
|
5
|
+
<h2 class="mt-3">{{feature[0]}}</h2>
|
6
|
+
|
7
|
+
<div class="accordian" id="{{feature[0]}}">
|
8
|
+
{% for methods in feature[1] %}
|
9
|
+
<div class="card">
|
10
|
+
<button class="btn btn-light btn-lg collapsed text-left" type="button" data-toggle="collapse" data-target="#{{feature[0]}}-collapse-{{forloop.index}}" style="white-space: normal;">{{methods[1].name}}</button>
|
11
|
+
<div id="{{feature[0]}}-collapse-{{forloop.index}}" class="collapse" data-parent="#{{feature[0]}}">
|
12
|
+
<div class="card-body">
|
13
|
+
<ul>
|
14
|
+
{% for step in methods[1].steps %}
|
15
|
+
<li>{{step | markdownify | remove: '<p>' | remove: '</p>'}}</li>
|
16
|
+
{% endfor %}
|
17
|
+
</ul>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
{% endfor %}
|
22
|
+
</div>
|
23
|
+
{% endfor %}
|
24
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
{% assign current_page_version = page.version | default: site.version %}
|
2
|
+
<!doctype html>
|
3
|
+
<html lang="en">
|
4
|
+
<head>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
7
|
+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
|
8
|
+
<title>End User Documentation</title>
|
9
|
+
</head>
|
10
|
+
|
11
|
+
<body class="container">
|
12
|
+
<nav class="navbar navbar-expand-lg navbar-light bg-light rounded">
|
13
|
+
<a class="navbar-brand" href="{{ 'index.html' | relative_url }}">End User Documentation v{{ current_page_version }}</a>
|
14
|
+
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
15
|
+
<span class="navbar-toggler-icon"></span>
|
16
|
+
</button>
|
17
|
+
|
18
|
+
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
19
|
+
<ul class="navbar-nav ml-auto">
|
20
|
+
<li class="nav-item dropdown">
|
21
|
+
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
22
|
+
Version
|
23
|
+
</a>
|
24
|
+
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
25
|
+
{% for version in site.data.versions %}
|
26
|
+
{% assign dot_version = version.first | replace: '_', '.' %}
|
27
|
+
{% assign version_path = "/versions/" | append: dot_version %}
|
28
|
+
{% assign css_class = "" %}
|
29
|
+
{% if dot_version == current_page_version %}
|
30
|
+
{% assign css_class = " active" %}
|
31
|
+
{% endif %}
|
32
|
+
<a class="dropdown-item{{ css_class }}" href="{{ version_path | relative_url }}">{{ dot_version }}</a>
|
33
|
+
{% endfor %}
|
34
|
+
</div>
|
35
|
+
</li>
|
36
|
+
</ul>
|
37
|
+
</div>
|
38
|
+
</nav>
|
39
|
+
{{ content }}
|
40
|
+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
|
41
|
+
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
|
42
|
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
|
43
|
+
</body>
|
44
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
namespace :user_docs do
|
4
|
+
desc "Build site"
|
5
|
+
task build_site: :environment do
|
6
|
+
procedures_dir = Rails.root.join("docs")
|
7
|
+
temp_dir = Rails.root.join(".docs")
|
8
|
+
output_dir = Rails.root.join("public/docs")
|
9
|
+
|
10
|
+
Rails::Generators.invoke("user_docs:install")
|
11
|
+
system("rails test #{procedures_dir}/*")
|
12
|
+
system <<~CMD.squish
|
13
|
+
jekyll build
|
14
|
+
--source #{temp_dir} --destination #{output_dir} --baseurl /docs
|
15
|
+
CMD
|
16
|
+
FileUtils.rm_rf(temp_dir)
|
17
|
+
end
|
18
|
+
end
|
data/lib/user_docs.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "user_docs/railtie"
|
4
|
+
require "user_docs/capybara_extension"
|
5
|
+
require "webdrivers"
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
puts("Click on **#{link}**.")
|
9
|
-
end
|
7
|
+
# User Documentation module
|
8
|
+
module UserDocs
|
10
9
|
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "capybara"
|
4
|
+
|
5
|
+
# Extends Capybara's Actions to create end user documentation
|
6
|
+
module UserDocs
|
7
|
+
extend Capybara::Node::Actions
|
8
|
+
|
9
|
+
def before_setup
|
10
|
+
super
|
11
|
+
|
12
|
+
check_installation
|
13
|
+
|
14
|
+
@class_name = class_name.chomp("Procedure")
|
15
|
+
@method = name.sub("test_", "")
|
16
|
+
make_version_data_directory
|
17
|
+
make_version_index
|
18
|
+
Capybara.save_path =
|
19
|
+
Rails.root.join(".docs/assets/#{version}/#{klass_name}/#{@method}")
|
20
|
+
|
21
|
+
@json = { name: @method.humanize, steps: [] }
|
22
|
+
end
|
23
|
+
|
24
|
+
def before_teardown
|
25
|
+
path = ".docs/_data/versions/#{version}/#{klass_name}/#{@method}.json"
|
26
|
+
File.write(Rails.root.join(path), @json.to_json)
|
27
|
+
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def check_installation
|
34
|
+
return if Dir.exist?(Rails.root.join("docs"))
|
35
|
+
|
36
|
+
# :nocov:
|
37
|
+
abort("ERROR: Run 'rails g user_docs:install.'")
|
38
|
+
# :nocov:
|
39
|
+
end
|
40
|
+
|
41
|
+
def version
|
42
|
+
Rails.application.class.module_parent::VERSION
|
43
|
+
end
|
44
|
+
|
45
|
+
def klass_name
|
46
|
+
@class_name.underscore
|
47
|
+
end
|
48
|
+
|
49
|
+
def make_version_data_directory
|
50
|
+
data_path = Rails.root.join(".docs/_data/versions/#{version}/#{klass_name}")
|
51
|
+
FileUtils.mkdir_p(data_path)
|
52
|
+
end
|
53
|
+
|
54
|
+
# rubocop:disable Metrics/MethodLength
|
55
|
+
def make_version_index
|
56
|
+
directory = Rails.root.join(".docs/versions/#{version}")
|
57
|
+
output_file = directory + "index.html"
|
58
|
+
entry_file = Rails.root.join(".docs/index.html")
|
59
|
+
|
60
|
+
FileUtils.mkdir_p(directory)
|
61
|
+
File.write(
|
62
|
+
output_file,
|
63
|
+
<<~HTML
|
64
|
+
---
|
65
|
+
layout: default
|
66
|
+
version: #{version}
|
67
|
+
---
|
68
|
+
{% include index.html %}
|
69
|
+
HTML
|
70
|
+
)
|
71
|
+
|
72
|
+
FileUtils.cp_r(output_file, entry_file, remove_destination: true)
|
73
|
+
end
|
74
|
+
# rubocop:enable Metrics/MethodLength
|
75
|
+
|
76
|
+
def click_on(link)
|
77
|
+
super
|
78
|
+
@json[:steps] << "Click on **#{link}**."
|
79
|
+
end
|
80
|
+
|
81
|
+
def fill_in(text, with:)
|
82
|
+
super
|
83
|
+
@json[:steps] << "Fill in **#{text}** with *#{with}*."
|
84
|
+
end
|
85
|
+
|
86
|
+
def choose(label)
|
87
|
+
super
|
88
|
+
@json[:steps] << "Select radio button with *#{label}*."
|
89
|
+
end
|
90
|
+
|
91
|
+
def accept_alert
|
92
|
+
page.accept_alert
|
93
|
+
@json[:steps] << "Click **OK**."
|
94
|
+
end
|
95
|
+
|
96
|
+
def save_screenshot(image = Time.now.to_i.to_s)
|
97
|
+
image += ".png"
|
98
|
+
super
|
99
|
+
|
100
|
+
path = "/docs/assets/#{version}/#{klass_name}/#{@method}/#{image}"
|
101
|
+
@json[:steps] << "<img src='#{path}' class='img-fluid'>"
|
102
|
+
end
|
103
|
+
|
104
|
+
def comment(string)
|
105
|
+
@json[:steps] << string
|
106
|
+
end
|
107
|
+
end
|
metadata
CHANGED
@@ -1,41 +1,194 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: user_docs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- jtopgi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.32.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
version: 3.32.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: jekyll
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 4.0.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 4.0.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 6.0.3.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 6.0.3.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: selenium-webdriver
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.142.7
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.142.7
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: webdrivers
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 4.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: 4.3.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bundler-audit
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.6.1
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.6.1
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: byebug
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 11.1.3
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 11.1.3
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.81.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.81.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-performance
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.5.2
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.5.2
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop-rails
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 2.5.2
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 2.5.2
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: simplecov
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.18.5
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.18.5
|
167
|
+
description:
|
168
|
+
email:
|
169
|
+
- jtopgi@users.noreply.github.com
|
30
170
|
executables: []
|
31
171
|
extensions: []
|
32
172
|
extra_rdoc_files: []
|
33
173
|
files:
|
174
|
+
- MIT-LICENSE
|
175
|
+
- README.md
|
176
|
+
- Rakefile
|
177
|
+
- lib/generators/user_docs/install_generator.rb
|
178
|
+
- lib/generators/user_docs/templates/_config.tt
|
179
|
+
- lib/generators/user_docs/templates/_includes/index.tt
|
180
|
+
- lib/generators/user_docs/templates/_layouts/default.tt
|
181
|
+
- lib/generators/user_docs/templates/index.tt
|
182
|
+
- lib/tasks/user_docs_tasks.rake
|
34
183
|
- lib/user_docs.rb
|
35
|
-
|
184
|
+
- lib/user_docs/capybara_extension.rb
|
185
|
+
- lib/user_docs/railtie.rb
|
186
|
+
- lib/user_docs/version.rb
|
187
|
+
homepage:
|
36
188
|
licenses:
|
37
189
|
- MIT
|
38
|
-
metadata:
|
190
|
+
metadata:
|
191
|
+
allowed_push_host: https://rubygems.org
|
39
192
|
post_install_message:
|
40
193
|
rdoc_options: []
|
41
194
|
require_paths:
|
@@ -51,9 +204,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
51
204
|
- !ruby/object:Gem::Version
|
52
205
|
version: '0'
|
53
206
|
requirements: []
|
54
|
-
|
55
|
-
rubygems_version: 2.7.7
|
207
|
+
rubygems_version: 3.1.2
|
56
208
|
signing_key:
|
57
209
|
specification_version: 4
|
58
|
-
summary: UserDocs
|
210
|
+
summary: Summary of UserDocs.
|
59
211
|
test_files: []
|