k_builder 0.0.19 → 0.0.20
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/README.md +33 -27
- data/STORIES.md +1 -1
- data/USAGE.md +60 -7
- data/_usage_folder_after.png +0 -0
- data/_usage_folder_before.png +0 -0
- data/lib/k_builder/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 233147b0fb7e62c215440174858e3e2d4d8a88be8eb0ffa2b86b477999df32da
|
4
|
+
data.tar.gz: d27c54f6cb2191ec43b9f01c05d681ccc1e6fb944acf89fac58ab21536fa7447
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e1ae20794f2150f94270e1d724fb7d6cf6bab372613a29d11d08f5f75ee13d73303e90738009e02ba33ebc86f5588680301a670502a723b276f233e20985b62
|
7
|
+
data.tar.gz: 566b9f413d35f10f503f12e3832ef7c804a0a6022d33a058769cc46c419989ce410cb70ff10b6646f360c9c6c9a9a3e54676de9686f06be88779f468fb2544bf
|
data/README.md
CHANGED
@@ -1,29 +1,6 @@
|
|
1
1
|
# K Builder
|
2
2
|
|
3
|
-
>
|
4
|
-
|
5
|
-
## ToDo
|
6
|
-
|
7
|
-
- BuildWatcher (as a builder)
|
8
|
-
- AppBuilder
|
9
|
-
- BaseBuilder
|
10
|
-
- WebBuilder
|
11
|
-
- PackageBuilder
|
12
|
-
- Webpack5Builder
|
13
|
-
- ReactBuilder
|
14
|
-
- SlideDeckBuilder
|
15
|
-
- JavscriptBuilder
|
16
|
-
- SolutionBuilder
|
17
|
-
- DotnetBuilder
|
18
|
-
- C#Console
|
19
|
-
- C#Mvc
|
20
|
-
- RubyBuilder
|
21
|
-
- RubyGem
|
22
|
-
- RailsApp
|
23
|
-
- PythonBuilder
|
24
|
-
- DddBuilder
|
25
|
-
- DddGenerator
|
26
|
-
|
3
|
+
> KBuilder provides various fluent builders and code generators for initializing applications with different language requirements
|
27
4
|
|
28
5
|
## Installation
|
29
6
|
|
@@ -59,12 +36,41 @@ See all [usage examples](./USAGE.md)
|
|
59
36
|
|
60
37
|
### Basic Example
|
61
38
|
|
62
|
-
####
|
39
|
+
#### Configure and Run
|
40
|
+
|
41
|
+
Setup configuration for KBuilder
|
42
|
+
|
43
|
+
Generate two files:
|
44
|
+
|
45
|
+
1. main.rb is based on class.rb from app_template
|
46
|
+
2. configuration.log.txt is based on an inline template
|
63
47
|
|
64
|
-
|
48
|
+
Check out usage.md for more details
|
65
49
|
|
66
50
|
```ruby
|
67
|
-
|
51
|
+
usecases_folder = File.join(Dir.getwd, 'spec', 'usecases')
|
52
|
+
|
53
|
+
KBuilder.configure do |config|
|
54
|
+
config.template_folder = File.join(usecases_folder, '.app_template')
|
55
|
+
config.global_template_folder = File.join(usecases_folder, '.global_template')
|
56
|
+
config.target_folder = File.join(usecases_folder, '.output')
|
57
|
+
end
|
58
|
+
|
59
|
+
template = <<~TEXT
|
60
|
+
Configured Template Folder : {{a}}
|
61
|
+
Configured Global Template Folder : {{b}}
|
62
|
+
Configured Output Folder : {{c}}
|
63
|
+
TEXT
|
64
|
+
|
65
|
+
builder = KBuilder::Builder.init
|
66
|
+
|
67
|
+
builder.add_file('main.rb', template_file: 'class.rb', name: 'main').add_file(
|
68
|
+
'configuration.log.txt',
|
69
|
+
template: template,
|
70
|
+
a: builder.template_folder,
|
71
|
+
b: builder.global_template_folder,
|
72
|
+
c: builder.target_folder
|
73
|
+
)
|
68
74
|
```
|
69
75
|
|
70
76
|
## Development
|
data/STORIES.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# K Builder
|
2
2
|
|
3
|
-
>
|
3
|
+
> KBuilder provides various fluent builders and code generators for initializing applications with different language requirements
|
4
4
|
|
5
5
|
As a Polyglot Developer, I want to be up and running in any development language with consistency, so I am productive and using best practices
|
6
6
|
|
data/USAGE.md
CHANGED
@@ -1,19 +1,72 @@
|
|
1
1
|
# K Builder
|
2
2
|
|
3
|
-
>
|
3
|
+
> KBuilder provides various fluent builders and code generators for initializing applications with different language requirements
|
4
4
|
|
5
5
|
As a Polyglot Developer, I want to be up and running in any development language with consistency, so I am productive and using best practices
|
6
6
|
|
7
7
|
## Usage
|
8
8
|
|
9
|
-
###
|
9
|
+
### Configure And Build
|
10
10
|
|
11
|
-
|
11
|
+
Print the configuration
|
12
12
|
|
13
|
-
|
13
|
+
```ruby
|
14
|
+
config = KBuilder.configuration.to_hash
|
15
|
+
puts JSON.pretty_generate(config)
|
16
|
+
```
|
17
|
+
|
18
|
+
```javascript
|
19
|
+
{
|
20
|
+
"target_folder": "/Users/name/dev/kgems/k_builder/spec/usecases/.output",
|
21
|
+
"template_folder": "/Users/name/dev/kgems/k_builder/spec/usecases/.app_template",
|
22
|
+
"global_template_folder": "/Users/name/dev/kgems/k_builder/spec/usecases/.global_template"
|
23
|
+
}
|
24
|
+
```
|
25
|
+
|
26
|
+
#### Folder Structure (starting)
|
27
|
+
|
28
|
+
Example folder structure for this usecase before running the builder
|
29
|
+
|
30
|
+
> Note: app-templates will take preference over global templates
|
31
|
+
|
32
|
+

|
33
|
+
|
34
|
+
#### Run builder
|
35
|
+
|
36
|
+
This example builder will add 4 files into the output folder.
|
37
|
+
|
38
|
+
1. main.rb is based on class.rb from app_template
|
39
|
+
2. person.rb & address.rb are based on model.rb from global_template
|
40
|
+
3. configuration.log.txt is based on an inline template
|
14
41
|
|
15
42
|
```ruby
|
16
|
-
|
17
|
-
|
18
|
-
|
43
|
+
template = <<~TEXT
|
44
|
+
Configured Template Folder : {{a}}
|
45
|
+
Configured Global Template Folder : {{b}}
|
46
|
+
Configured Output Folder : {{c}}
|
47
|
+
TEXT
|
48
|
+
|
49
|
+
builder = KBuilder::Builder.init
|
50
|
+
|
51
|
+
builder.add_file('main.rb', template_file: 'class.rb', name: 'main').add_file(
|
52
|
+
'person.rb',
|
53
|
+
template_file: 'model.rb', name: 'person', fields: %i[first_name last_name]
|
54
|
+
).add_file(
|
55
|
+
'address.rb',
|
56
|
+
template_file: 'model.rb',
|
57
|
+
name: 'address',
|
58
|
+
fields: %i[street1 street2 post_code state]
|
59
|
+
).add_file(
|
60
|
+
'configuration.log.txt',
|
61
|
+
template: template,
|
62
|
+
a: builder.template_folder,
|
63
|
+
b: builder.global_template_folder,
|
64
|
+
c: builder.target_folder
|
65
|
+
).add_file('css/index.css', template_file: 'class.rb', colors: 'main')
|
19
66
|
```
|
67
|
+
|
68
|
+
#### Folder Structure (after)
|
69
|
+
|
70
|
+
Folder structure after running the builder
|
71
|
+
|
72
|
+

|
Binary file
|
Binary file
|
data/lib/k_builder/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: k_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: handlebars-helpers
|
@@ -44,6 +44,8 @@ files:
|
|
44
44
|
- Rakefile
|
45
45
|
- STORIES.md
|
46
46
|
- USAGE.md
|
47
|
+
- _usage_folder_after.png
|
48
|
+
- _usage_folder_before.png
|
47
49
|
- bin/console
|
48
50
|
- bin/k
|
49
51
|
- bin/kgitsync
|