rspec-usecases 0.0.12 → 0.0.37
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/main.yml +2 -0
- data/.gitignore +5 -0
- data/.rubocop.yml +7 -0
- data/Gemfile +19 -10
- data/Guardfile +1 -0
- data/STORIES.md +25 -4
- data/bin/console +1 -1
- data/docs/regexp-01.md +56 -0
- data/docs/samples.md +62 -0
- data/docs/test.debug.txt +93 -0
- data/docs/test.json +172 -0
- data/docs/test.md +39 -0
- data/lib/rspec/usecases.rb +20 -4
- data/lib/rspec/usecases/configure.rb +40 -0
- data/lib/rspec/usecases/contents/base_content.rb +145 -0
- data/lib/rspec/usecases/contents/code.rb +33 -0
- data/lib/rspec/usecases/contents/outcome.rb +27 -0
- data/lib/rspec/usecases/document.rb +173 -0
- data/lib/rspec/usecases/documentor.rb +35 -0
- data/lib/rspec/usecases/generator/base_generator.rb +58 -0
- data/lib/rspec/usecases/generator/debug_generator.rb +106 -0
- data/lib/rspec/usecases/generator/json_generator.rb +39 -0
- data/lib/rspec/usecases/generator/markdown_generator.rb +136 -0
- data/lib/rspec/usecases/groups/base_group.rb +116 -0
- data/lib/rspec/usecases/groups/group.rb +14 -0
- data/lib/rspec/usecases/groups/usecase.rb +30 -0
- data/lib/rspec/usecases/helpers/uc_file_as_markdown_content.rb +26 -0
- data/lib/rspec/usecases/helpers/uc_grab_lines.rb +54 -0
- data/lib/rspec/usecases/options/debug_options.rb +33 -0
- data/lib/rspec/usecases/options/document_options.rb +24 -0
- data/lib/rspec/usecases/options/dynamic_options.rb +102 -0
- data/lib/rspec/usecases/options/json_options.rb +32 -0
- data/lib/rspec/usecases/options/markdown_options.rb +37 -0
- data/lib/rspec/usecases/version.rb +1 -1
- data/rspec-usecases.gemspec +6 -0
- metadata +45 -9
- data/lib/rspec/usecases/content.rb +0 -155
- data/lib/rspec/usecases/content_code.rb +0 -42
- data/lib/rspec/usecases/content_outcome.rb +0 -30
- data/lib/rspec/usecases/usecase.rb +0 -103
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fe106f2d54203a80a9fdf117c87cc1f904628bb9eaa0724d5f8fb32f34be56e
|
4
|
+
data.tar.gz: 81e90bf6bfe148ecb97d070f8b01e1367f37162252577cca12ba7bcef3b46835
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be8597d40eb2151612162d9807662168ba3ff19501c61cdd4bb9e72a27aa971522e3b60bb8eacac8c2f04f6af8c09f5f566ca237c6d1487aac421273d8573314
|
7
|
+
data.tar.gz: fb25e0896e1dc643cc93de59ed3b18993cd9018b85d387616918aa6830fb685826b0cc23b488140fbd7e914d77c4b22fea4056e82c8f84cf895d4b05eace1bdb
|
data/.github/workflows/main.yml
CHANGED
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -8,6 +8,7 @@ AllCops:
|
|
8
8
|
NewCops: enable
|
9
9
|
Exclude:
|
10
10
|
- "_/**/*"
|
11
|
+
- "spec/samples/**/*"
|
11
12
|
|
12
13
|
Metrics/BlockLength:
|
13
14
|
Exclude:
|
@@ -45,6 +46,9 @@ Layout/LineLength:
|
|
45
46
|
Lint/UnusedMethodArgument:
|
46
47
|
AllowUnusedKeywordArguments: true
|
47
48
|
|
49
|
+
Style/DoubleNegation:
|
50
|
+
Enabled: false
|
51
|
+
|
48
52
|
Style/BlockComments:
|
49
53
|
Enabled: false
|
50
54
|
Include:
|
@@ -53,6 +57,9 @@ Style/BlockComments:
|
|
53
57
|
# My Preferences - Start
|
54
58
|
Metrics/ClassLength:
|
55
59
|
Enabled: false
|
60
|
+
Metrics/ModuleLength:
|
61
|
+
Exclude:
|
62
|
+
- "**/spec/**/*"
|
56
63
|
Naming/MemoizedInstanceVariableName:
|
57
64
|
Enabled: false
|
58
65
|
Naming/VariableNumber:
|
data/Gemfile
CHANGED
@@ -7,23 +7,32 @@ gemspec
|
|
7
7
|
|
8
8
|
group :development do
|
9
9
|
if ENV['RUBY_DEBUG_DEVELOPMENT']
|
10
|
-
# Currently conflicts with GitHub actions and so only available when
|
11
|
-
# environment varialbe is set.
|
12
|
-
# On Mac:
|
13
|
-
# ```export RUBY_DEBUG_DEVELOPMENT=true```
|
14
|
-
gem 'jazz_fingers'
|
10
|
+
# # Currently conflicts with GitHub actions and so only available when
|
11
|
+
# # environment varialbe is set.
|
12
|
+
# # On Mac:
|
13
|
+
# # ```export RUBY_DEBUG_DEVELOPMENT=true```
|
14
|
+
# # gem 'jazz_fingers'
|
15
|
+
# # gem 'pry-coolline', github: 'owst/pry-coolline', branch: 'support_new_pry_config_api'
|
15
16
|
gem 'pry-coolline', github: 'owst/pry-coolline', branch: 'support_new_pry_config_api'
|
16
17
|
end
|
17
18
|
end
|
18
|
-
|
19
19
|
group :development, :test do
|
20
|
-
gem 'guard-bundler'
|
21
|
-
gem 'guard-rspec'
|
22
|
-
gem 'guard-rubocop'
|
20
|
+
gem 'guard-bundler', '~> 3.0'
|
21
|
+
gem 'guard-rspec', '~> 4.0'
|
22
|
+
gem 'guard-rubocop', '~> 1.2'
|
23
|
+
gem 'jazz_fingers'
|
24
|
+
gem 'pry'
|
23
25
|
gem 'rake', '~> 12.0'
|
24
26
|
gem 'rake-compiler', require: false
|
25
27
|
gem 'rspec', '~> 3.0'
|
26
|
-
|
28
|
+
|
29
|
+
# # gem 'rspec', path: '~/dev/gems_3rd/rspec'
|
30
|
+
# gem 'rspec-core', path: '~/dev/gems_3rd/rspec-core'
|
31
|
+
# gem 'rspec-expectations', path: '~/dev/gems_3rd/rspec-expectations'
|
32
|
+
# gem 'rspec-mocks', path: '~/dev/gems_3rd/rspec-mocks'
|
33
|
+
# gem 'rspec-support', path: '~/dev/gems_3rd/rspec-support'
|
34
|
+
|
35
|
+
gem 'rubocop', '~> 1.9'
|
27
36
|
gem 'rubocop-rake', require: false
|
28
37
|
gem 'rubocop-rspec', require: false
|
29
38
|
end
|
data/Guardfile
CHANGED
data/STORIES.md
CHANGED
@@ -16,12 +16,12 @@ As a Developer, I can build documentable usecases, so that I easily document usa
|
|
16
16
|
|
17
17
|
- Build Usecase
|
18
18
|
|
19
|
-
|
19
|
+
As a Developer, I can build documentation presentations, so that I can create videos quickly
|
20
20
|
|
21
|
-
|
21
|
+
- https://revealjs.com/
|
22
|
+
- https://mofesolapaul.github.io/sectionizr/
|
22
23
|
|
23
|
-
|
24
|
-
- Attach documentation to [rubydoc.info](https://rubydoc.info/github/to-do-/rspec-usecases/master)
|
24
|
+
### Tasks next on list
|
25
25
|
|
26
26
|
Setup GitHub Action (test and lint)
|
27
27
|
|
@@ -32,12 +32,33 @@ Setup GitHub Action (test and lint)
|
|
32
32
|
|
33
33
|
### Stories - completed
|
34
34
|
|
35
|
+
As a Developer, I can extend Rspec with code specific documentation extensions, so that I easily build documentation that parses unit tests
|
36
|
+
|
37
|
+
As a Developer, I can have component based renderers, so that I easily extend documentation output renders
|
38
|
+
|
39
|
+
- Build JSON renderer
|
40
|
+
- Build Debug renderer
|
41
|
+
- Build Markdown renderer
|
42
|
+
|
43
|
+
Remove cooline and jazz_fingers gem from github actions by running from env variable
|
44
|
+
|
45
|
+
- On Mac `export RUBY_DEBUG_DEVELOPMENT=true`
|
46
|
+
|
35
47
|
As a Developer, I can extract code and other content from unit test, so that I can inject it into documentation
|
36
48
|
|
37
49
|
- Build Content, ContentCode an ContentOutcome
|
38
50
|
|
39
51
|
### Tasks - completed
|
40
52
|
|
53
|
+
Move content.\* into a namespace called contents
|
54
|
+
|
55
|
+
- Content items take on the same role as Rspec::Example
|
56
|
+
|
57
|
+
Setup RubyGems and RubyDoc
|
58
|
+
|
59
|
+
- Build and deploy gem to [rubygems.org](https://rubygems.org/gems/rspec-usecases)
|
60
|
+
- Attach documentation to [rubydoc.info](https://rubydoc.info/github/to-do-/rspec-usecases/master)
|
61
|
+
|
41
62
|
Setup project management, requirement and SCRUM documents
|
42
63
|
|
43
64
|
- Setup readme file
|
data/bin/console
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# frozen_string_literal: true
|
4
4
|
|
5
5
|
require 'bundler/setup'
|
6
|
-
require '
|
6
|
+
require 'rspec/usecases'
|
7
7
|
|
8
8
|
# You can add fixtures and/or initialization code here to make experimenting
|
9
9
|
# with your gem easier. You can also use a different console, if you like.
|
data/docs/regexp-01.md
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# Ruby RegExp by example
|
2
|
+
|
3
|
+
Working through various regular expression scenarios using Ruby syntax
|
4
|
+
|
5
|
+
## Character classes
|
6
|
+
|
7
|
+
#### match index `=~`
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
source = 'abcdefghijklmnopqrstuvwxyz'
|
11
|
+
|
12
|
+
label_value('source =~ /[aeiou]/', source =~ /[aeiou]/)
|
13
|
+
label_value('source =~ /[crazy]/', source =~ /[crazy]/)
|
14
|
+
label_value('source =~ /[12345]/', source =~ /[12345]/)
|
15
|
+
```
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
# source =~ /[aeiou]/ : 0
|
19
|
+
# source =~ /[crazy]/ : 0
|
20
|
+
# source =~ /[12345]/ : nil
|
21
|
+
```
|
22
|
+
|
23
|
+
#### global variable `$~` for MatchData
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
source = 'abcdefghijklmnopqrstuvwxyz'
|
27
|
+
|
28
|
+
puts source =~ /[aeiou]/
|
29
|
+
puts $~
|
30
|
+
puts source =~ /[12345]/
|
31
|
+
puts $~
|
32
|
+
puts source =~ /[d]/
|
33
|
+
puts $~
|
34
|
+
```
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
# 0
|
38
|
+
# a
|
39
|
+
# 3
|
40
|
+
# d
|
41
|
+
```
|
42
|
+
|
43
|
+
#### match() for MatchData
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
source = 'abcdefghijklmnopqrstuvwxyz'
|
47
|
+
|
48
|
+
puts source.match(/[aeiou]/)
|
49
|
+
puts source.match(/[12345]/)
|
50
|
+
puts source.match(/[d]/)
|
51
|
+
```
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
# a
|
55
|
+
# nil
|
56
|
+
```
|
data/docs/samples.md
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# Usage Samples
|
2
|
+
|
3
|
+
Some examples of how to use Rspec::Usage
|
4
|
+
|
5
|
+
## Array load 1st basics
|
6
|
+
|
7
|
+
### Array.load
|
8
|
+
|
9
|
+
Array.load - description goes here
|
10
|
+
|
11
|
+
#### Initialize an array
|
12
|
+
|
13
|
+
```
|
14
|
+
ar = [1,2,3]
|
15
|
+
```
|
16
|
+
|
17
|
+
#### Push to array
|
18
|
+
|
19
|
+
```
|
20
|
+
# ar << 4
|
21
|
+
```
|
22
|
+
|
23
|
+
- AAAAAA
|
24
|
+
- BBBBBB
|
25
|
+
|
26
|
+
## Array load 2nd basics
|
27
|
+
|
28
|
+
### Array.load
|
29
|
+
|
30
|
+
Array.load - description goes here
|
31
|
+
|
32
|
+
---
|
33
|
+
|
34
|
+
#### Initialize an array
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
display = false
|
38
|
+
[1, 2, 3].each do |i|
|
39
|
+
puts "the quick brown fox: #{i}" if display
|
40
|
+
|
41
|
+
%w[A B C].each { |x| puts "the quick brown fox: #{i}:#{x}" if display }
|
42
|
+
puts '-----------------------' if display
|
43
|
+
end
|
44
|
+
```
|
45
|
+
|
46
|
+
## Default.load will load your application configuration from your `.env` file found in the project root
|
47
|
+
|
48
|
+
### Array.load
|
49
|
+
|
50
|
+
- aaaa
|
51
|
+
|
52
|
+
## Array load -> namespace -> Can I move content_block into a test block
|
53
|
+
|
54
|
+
### Array.load
|
55
|
+
|
56
|
+
#### example
|
57
|
+
|
58
|
+
```
|
59
|
+
#
|
60
|
+
```
|
61
|
+
|
62
|
+
- xxxxx
|
data/docs/test.debug.txt
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
****************************************************************************************************
|
2
|
+
[32mTitle [0m: debug title
|
3
|
+
[32mDescription [0m: debug description
|
4
|
+
====================================================================================================
|
5
|
+
[32mKey [0m: RSpec::ExampleGroups::RspecUsecasesGeneratorDebugGenerator::ValidLevel1Usecase1
|
6
|
+
[32mTitle [0m: valid level 1 usecase #1
|
7
|
+
[32mDeep Title [0m: Rspec::Usecases::Generator::DebugGenerator valid level 1 usecase #1
|
8
|
+
[32mSummary [0m: first encountered usecases
|
9
|
+
[32mUsage [0m: SomeClass.some_method
|
10
|
+
[32mUsage Description [0m: Calls some_method on SomeClass
|
11
|
+
----------------------------------------------------------------------------------------------------
|
12
|
+
[32mType [0m: outcome
|
13
|
+
# Title should be blank on this outcome
|
14
|
+
----------------------------------------------------------------------------------------------------
|
15
|
+
[32mTitle [0m: this outcome has a title
|
16
|
+
[32mType [0m: outcome
|
17
|
+
# Source code goes here
|
18
|
+
----------------------------------------------------------------------------------------------------
|
19
|
+
[32mTitle [0m: this outcome has a note
|
20
|
+
[32mType [0m: outcome
|
21
|
+
[32mNote [0m: outcome note
|
22
|
+
# Source code goes here
|
23
|
+
----------------------------------------------------------------------------------------------------
|
24
|
+
[32mTitle [0m: this outcome has an hr
|
25
|
+
[32mType [0m: outcome
|
26
|
+
#
|
27
|
+
----------------------------------------------------------------------------------------------------
|
28
|
+
[32mTitle [0m: this is some unknown code
|
29
|
+
[32mType [0m: code
|
30
|
+
# Source code goes here
|
31
|
+
----------------------------------------------------------------------------------------------------
|
32
|
+
[32mTitle [0m: this is some ruby code
|
33
|
+
[32mType [0m: code
|
34
|
+
# Source code goes here
|
35
|
+
====================================================================================================
|
36
|
+
[32mKey [0m: RSpec::ExampleGroups::RspecUsecasesGeneratorDebugGenerator::ValidLevel1Usecase1::ValidLevel2Usecase11
|
37
|
+
[32mTitle [0m: valid level 2 usecase #1.1
|
38
|
+
[32mDeep Title [0m: Rspec::Usecases::Generator::DebugGenerator valid level 1 usecase #1 valid level 2 usecase #1.1
|
39
|
+
[32mSummary [0m: override the summary
|
40
|
+
[32mUsage [0m:
|
41
|
+
[32mUsage Description [0m:
|
42
|
+
====================================================================================================
|
43
|
+
[32mKey [0m: RSpec::ExampleGroups::RspecUsecasesGeneratorDebugGenerator::ValidLevel1Usecase1::ValidLevel2Usecase12
|
44
|
+
[32mTitle [0m: valid level 2 usecase #1.2
|
45
|
+
[32mDeep Title [0m: Rspec::Usecases::Generator::DebugGenerator valid level 1 usecase #1 valid level 2 usecase #1.2
|
46
|
+
[32mSummary [0m:
|
47
|
+
[32mUsage [0m:
|
48
|
+
[32mUsage Description [0m:
|
49
|
+
====================================================================================================
|
50
|
+
[32mKey [0m: RSpec::ExampleGroups::RspecUsecasesGeneratorDebugGenerator::SomeMethod::ValidLevel1Usecase2
|
51
|
+
[32mTitle [0m: valid level 1 usecase #2
|
52
|
+
[32mDeep Title [0m: Rspec::Usecases::Generator::DebugGenerator #some_method valid level 1 usecase #2
|
53
|
+
[32mSummary [0m:
|
54
|
+
[32mUsage [0m:
|
55
|
+
[32mUsage Description [0m:
|
56
|
+
====================================================================================================
|
57
|
+
[32mKey [0m: RSpec::ExampleGroups::RspecUsecasesGeneratorDebugGenerator::SomeMethod::ValidLevel1Usecase2::FlattenMeOutOfTheHierarchy::ValidLevel2Usecase21
|
58
|
+
[32mTitle [0m: valid level 2 usecase #2.1
|
59
|
+
[32mDeep Title [0m: Rspec::Usecases::Generator::DebugGenerator #some_method valid level 1 usecase #2 flatten me out of the hierarchy valid level 2 usecase #2.1
|
60
|
+
[32mSummary [0m:
|
61
|
+
[32mUsage [0m:
|
62
|
+
[32mUsage Description [0m:
|
63
|
+
====================================================================================================
|
64
|
+
[32mKey [0m: RSpec::ExampleGroups::RspecUsecasesGeneratorDebugGenerator::SomeMethod::ValidLevel1Usecase2::ValidLevel2Usecase22
|
65
|
+
[32mTitle [0m: valid level 2 usecase #2.2
|
66
|
+
[32mDeep Title [0m: Rspec::Usecases::Generator::DebugGenerator #some_method valid level 1 usecase #2 valid level 2 usecase #2.2
|
67
|
+
[32mSummary [0m:
|
68
|
+
[32mUsage [0m:
|
69
|
+
[32mUsage Description [0m:
|
70
|
+
----------------------------------------------------------------------------------------------------
|
71
|
+
[32mTitle [0m: some code code
|
72
|
+
[32mType [0m: code
|
73
|
+
# code goes here
|
74
|
+
----------------------------------------------------------------------------------------------------
|
75
|
+
[32mTitle [0m: some ruby code
|
76
|
+
[32mType [0m: code
|
77
|
+
[32mCode Type [0m: ruby
|
78
|
+
# ruby goes here
|
79
|
+
----------------------------------------------------------------------------------------------------
|
80
|
+
[32mTitle [0m: some css code
|
81
|
+
[32mType [0m: code
|
82
|
+
[32mCode Type [0m: css
|
83
|
+
# css goes here
|
84
|
+
----------------------------------------------------------------------------------------------------
|
85
|
+
[32mTitle [0m: some js code
|
86
|
+
[32mType [0m: code
|
87
|
+
[32mCode Type [0m: javascript
|
88
|
+
# js goes here
|
89
|
+
----------------------------------------------------------------------------------------------------
|
90
|
+
[32mTitle [0m: some javascript code
|
91
|
+
[32mType [0m: code
|
92
|
+
[32mCode Type [0m: javascript
|
93
|
+
# javascript goes here
|
data/docs/test.json
ADDED
@@ -0,0 +1,172 @@
|
|
1
|
+
{
|
2
|
+
"document": {
|
3
|
+
"title": "json title",
|
4
|
+
"description": "json description"
|
5
|
+
},
|
6
|
+
"usecases": [
|
7
|
+
{
|
8
|
+
"key": "RSpec::ExampleGroups::RspecUsecasesGeneratorJsonGenerator::ValidLevel1Usecase1",
|
9
|
+
"title": "valid level 1 usecase #1",
|
10
|
+
"deep_title": "Rspec::Usecases::Generator::JsonGenerator valid level 1 usecase #1",
|
11
|
+
"summary": "first encountered usecases",
|
12
|
+
"usage": "SomeClass.some_method",
|
13
|
+
"usage_description": "Calls some_method on SomeClass",
|
14
|
+
"contents": [
|
15
|
+
{
|
16
|
+
"note": "",
|
17
|
+
"title": "",
|
18
|
+
"type": "outcome",
|
19
|
+
"source": "# Title should be blank on this outcome",
|
20
|
+
"is_hr": false
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"note": "",
|
24
|
+
"title": "this outcome has a title",
|
25
|
+
"type": "outcome",
|
26
|
+
"source": "# Source code goes here",
|
27
|
+
"is_hr": false
|
28
|
+
},
|
29
|
+
{
|
30
|
+
"note": "outcome note",
|
31
|
+
"title": "this outcome has a note",
|
32
|
+
"type": "outcome",
|
33
|
+
"source": "# Source code goes here",
|
34
|
+
"is_hr": false
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"note": "",
|
38
|
+
"title": "this outcome has an hr",
|
39
|
+
"type": "outcome",
|
40
|
+
"source": "#",
|
41
|
+
"is_hr": true
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"code_type": "",
|
45
|
+
"summary": "first encountered usecases",
|
46
|
+
"title": "this is some unknown code",
|
47
|
+
"type": "code",
|
48
|
+
"source": "# Source code goes here",
|
49
|
+
"is_hr": false
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"code_type": "",
|
53
|
+
"summary": "first encountered usecases",
|
54
|
+
"title": "this is some ruby code",
|
55
|
+
"type": "code",
|
56
|
+
"source": "# Source code goes here",
|
57
|
+
"is_hr": false
|
58
|
+
}
|
59
|
+
],
|
60
|
+
"usecases": [
|
61
|
+
{
|
62
|
+
"key": "RSpec::ExampleGroups::RspecUsecasesGeneratorJsonGenerator::ValidLevel1Usecase1::ValidLevel2Usecase11",
|
63
|
+
"title": "valid level 2 usecase #1.1",
|
64
|
+
"deep_title": "Rspec::Usecases::Generator::JsonGenerator valid level 1 usecase #1 valid level 2 usecase #1.1",
|
65
|
+
"summary": "override the summary",
|
66
|
+
"usage": "",
|
67
|
+
"usage_description": "",
|
68
|
+
"contents": [
|
69
|
+
|
70
|
+
],
|
71
|
+
"usecases": [
|
72
|
+
|
73
|
+
]
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"key": "RSpec::ExampleGroups::RspecUsecasesGeneratorJsonGenerator::ValidLevel1Usecase1::ValidLevel2Usecase12",
|
77
|
+
"title": "valid level 2 usecase #1.2",
|
78
|
+
"deep_title": "Rspec::Usecases::Generator::JsonGenerator valid level 1 usecase #1 valid level 2 usecase #1.2",
|
79
|
+
"summary": "",
|
80
|
+
"usage": "",
|
81
|
+
"usage_description": "",
|
82
|
+
"contents": [
|
83
|
+
|
84
|
+
],
|
85
|
+
"usecases": [
|
86
|
+
|
87
|
+
]
|
88
|
+
}
|
89
|
+
]
|
90
|
+
},
|
91
|
+
{
|
92
|
+
"key": "RSpec::ExampleGroups::RspecUsecasesGeneratorJsonGenerator::SomeMethod::ValidLevel1Usecase2",
|
93
|
+
"title": "valid level 1 usecase #2",
|
94
|
+
"deep_title": "Rspec::Usecases::Generator::JsonGenerator #some_method valid level 1 usecase #2",
|
95
|
+
"summary": "",
|
96
|
+
"usage": "",
|
97
|
+
"usage_description": "",
|
98
|
+
"contents": [
|
99
|
+
|
100
|
+
],
|
101
|
+
"usecases": [
|
102
|
+
{
|
103
|
+
"key": "RSpec::ExampleGroups::RspecUsecasesGeneratorJsonGenerator::SomeMethod::ValidLevel1Usecase2::FlattenMeOutOfTheHierarchy::ValidLevel2Usecase21",
|
104
|
+
"title": "valid level 2 usecase #2.1",
|
105
|
+
"deep_title": "Rspec::Usecases::Generator::JsonGenerator #some_method valid level 1 usecase #2 flatten me out of the hierarchy valid level 2 usecase #2.1",
|
106
|
+
"summary": "",
|
107
|
+
"usage": "",
|
108
|
+
"usage_description": "",
|
109
|
+
"contents": [
|
110
|
+
|
111
|
+
],
|
112
|
+
"usecases": [
|
113
|
+
|
114
|
+
]
|
115
|
+
},
|
116
|
+
{
|
117
|
+
"key": "RSpec::ExampleGroups::RspecUsecasesGeneratorJsonGenerator::SomeMethod::ValidLevel1Usecase2::ValidLevel2Usecase22",
|
118
|
+
"title": "valid level 2 usecase #2.2",
|
119
|
+
"deep_title": "Rspec::Usecases::Generator::JsonGenerator #some_method valid level 1 usecase #2 valid level 2 usecase #2.2",
|
120
|
+
"summary": "",
|
121
|
+
"usage": "",
|
122
|
+
"usage_description": "",
|
123
|
+
"contents": [
|
124
|
+
{
|
125
|
+
"code_type": "",
|
126
|
+
"summary": "",
|
127
|
+
"title": "some code code",
|
128
|
+
"type": "code",
|
129
|
+
"source": "# code goes here",
|
130
|
+
"is_hr": false
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"code_type": "ruby",
|
134
|
+
"summary": "",
|
135
|
+
"title": "some ruby code",
|
136
|
+
"type": "code",
|
137
|
+
"source": "# ruby goes here",
|
138
|
+
"is_hr": false
|
139
|
+
},
|
140
|
+
{
|
141
|
+
"code_type": "css",
|
142
|
+
"summary": "",
|
143
|
+
"title": "some css code",
|
144
|
+
"type": "code",
|
145
|
+
"source": "# css goes here",
|
146
|
+
"is_hr": false
|
147
|
+
},
|
148
|
+
{
|
149
|
+
"code_type": "javascript",
|
150
|
+
"summary": "",
|
151
|
+
"title": "some js code",
|
152
|
+
"type": "code",
|
153
|
+
"source": "# js goes here",
|
154
|
+
"is_hr": false
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"code_type": "javascript",
|
158
|
+
"summary": "",
|
159
|
+
"title": "some javascript code",
|
160
|
+
"type": "code",
|
161
|
+
"source": "# javascript goes here",
|
162
|
+
"is_hr": false
|
163
|
+
}
|
164
|
+
],
|
165
|
+
"usecases": [
|
166
|
+
|
167
|
+
]
|
168
|
+
}
|
169
|
+
]
|
170
|
+
}
|
171
|
+
]
|
172
|
+
}
|