quik 0.1.1 → 1.0.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 +5 -5
- data/{HISTORY.md → CHANGELOG.md} +3 -3
- data/LICENSE.md +116 -0
- data/Manifest.txt +30 -24
- data/README.md +133 -106
- data/Rakefile +33 -34
- data/bin/qk +5 -5
- data/bin/quik +5 -5
- data/lib/quik.rb +55 -43
- data/lib/quik/builder.rb +96 -94
- data/lib/quik/catalog.rb +73 -0
- data/lib/quik/cli/main.rb +213 -150
- data/lib/quik/cli/opts.rb +33 -33
- data/lib/quik/colors.rb +148 -0
- data/lib/quik/config.rb +60 -60
- data/lib/quik/merger.rb +207 -202
- data/lib/quik/package.rb +116 -99
- data/lib/quik/version.rb +24 -24
- data/lib/quik/wizard.rb +88 -88
- data/test/data/gem-starter-template/Manifest.txt +9 -9
- data/test/data/gem-starter-template/README.md +22 -22
- data/test/data/gem-starter-template/lib/__filename__/version.rb +12 -12
- data/test/helper.rb +18 -22
- data/test/test_colors.rb +39 -0
- data/test/test_config.rb +35 -0
- data/test/test_merger.rb +35 -35
- data/test/test_package.rb +22 -22
- data/test/test_wizard.rb +50 -0
- metadata +31 -35
- data/.gemtest +0 -0
@@ -1,22 +1,22 @@
|
|
1
|
-
# gem-starter-template
|
2
|
-
|
3
|
-
gem starter template
|
4
|
-
|
5
|
-
|
6
|
-
## Settings / Config
|
7
|
-
|
8
|
-
~~~
|
9
|
-
{{ filename }} used for lib/{{ filename }}.rb
|
10
|
-
{{ project }} used for gem name
|
11
|
-
{{ klass }} used for class name (use class - why? why not?)
|
12
|
-
~~~
|
13
|
-
|
14
|
-
filename encode with --filename-- for variables e.g. lib/--filename--.rb -- why? why not?
|
15
|
-
|
16
|
-
|
17
|
-
use three jekyll conventions:
|
18
|
-
|
19
|
-
- folders w/ underscore get ignored
|
20
|
-
- files w/ front matter e.g. ---...--- get (pre)processed
|
21
|
-
- files w/o front matter get copied 1:1
|
22
|
-
|
1
|
+
# gem-starter-template
|
2
|
+
|
3
|
+
gem starter template
|
4
|
+
|
5
|
+
|
6
|
+
## Settings / Config
|
7
|
+
|
8
|
+
~~~
|
9
|
+
{{ filename }} used for lib/{{ filename }}.rb
|
10
|
+
{{ project }} used for gem name
|
11
|
+
{{ klass }} used for class name (use class - why? why not?)
|
12
|
+
~~~
|
13
|
+
|
14
|
+
filename encode with --filename-- for variables e.g. lib/--filename--.rb -- why? why not?
|
15
|
+
|
16
|
+
|
17
|
+
use three jekyll conventions:
|
18
|
+
|
19
|
+
- folders w/ underscore get ignored
|
20
|
+
- files w/ front matter e.g. ---...--- get (pre)processed
|
21
|
+
- files w/o front matter get copied 1:1
|
22
|
+
|
@@ -1,12 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
module $klass$
|
4
|
-
VERSION = $version$
|
5
|
-
VERSION2 = "$version$"
|
6
|
-
VERSION3 = '$version$'
|
7
|
-
VERSION4 = $test
|
8
|
-
VERSION5 = test$test$hello
|
9
|
-
VERSION6 = test$test$
|
10
|
-
VERSION7 = $$
|
11
|
-
VERSION8 = $1$2
|
12
|
-
end
|
1
|
+
|
2
|
+
|
3
|
+
module $klass$
|
4
|
+
VERSION = $version$
|
5
|
+
VERSION2 = "$version$"
|
6
|
+
VERSION3 = '$version$'
|
7
|
+
VERSION4 = $test
|
8
|
+
VERSION5 = test$test$hello
|
9
|
+
VERSION6 = test$test$
|
10
|
+
VERSION7 = $$
|
11
|
+
VERSION8 = $1$2
|
12
|
+
end
|
data/test/helper.rb
CHANGED
@@ -1,22 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
def
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
## our own code
|
22
|
-
require 'quik'
|
1
|
+
require 'minitest/autorun'
|
2
|
+
|
3
|
+
|
4
|
+
class EchoIO
|
5
|
+
def initialize( buf )
|
6
|
+
@io = StringIO.new( buf )
|
7
|
+
end
|
8
|
+
|
9
|
+
def gets
|
10
|
+
str = @io.gets
|
11
|
+
puts "|>#{str.chomp}<|" ## remove newline (w/ chomp) in debug/echo output
|
12
|
+
str
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
## our own code
|
18
|
+
require 'quik'
|
data/test/test_colors.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_colors.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestColors < MiniTest::Test
|
12
|
+
|
13
|
+
def test_colors
|
14
|
+
|
15
|
+
puts "this text is blue".blue
|
16
|
+
puts "this text is red".red
|
17
|
+
puts "this text is green".green + "this text is yellow".yellow
|
18
|
+
puts "this text is magenta".magenta
|
19
|
+
puts "this text is cyan".cyan
|
20
|
+
|
21
|
+
puts "this text is blue".bold.blue
|
22
|
+
puts "this text is red".bold.red
|
23
|
+
puts "this text is green".bold.green + "this text is yellow".bold.yellow
|
24
|
+
|
25
|
+
pp String.use_colors?
|
26
|
+
|
27
|
+
assert true ## if we get here; everything is ok
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_codes
|
31
|
+
assert_equal "\e[31mred\e[0m", "red".red
|
32
|
+
assert_equal "\e[34m\e[31mblue\e[0m\e[0m", "blue".red.blue
|
33
|
+
## better to generate "\e[34m;[31m" -- why? why not? e.g. one starting escpape and codes delimited by ; ??
|
34
|
+
assert_equal "\e[1mway bold\e[0m", "way bold".bold
|
35
|
+
assert_equal "\e[36m\e[1mcyan bold\e[0m\e[0m", "cyan bold".bold.cyan
|
36
|
+
end
|
37
|
+
|
38
|
+
end # class TestColors
|
39
|
+
|
data/test/test_config.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_config.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestConfig < MiniTest::Test
|
12
|
+
|
13
|
+
def test_config
|
14
|
+
|
15
|
+
c = Quik::OpenConfig.new
|
16
|
+
c.title = 'title'
|
17
|
+
c.author.name = 'name'
|
18
|
+
|
19
|
+
c.mrhyde.last_updated = Time.now
|
20
|
+
c.mrhyde.title = 'title'
|
21
|
+
c.mrhyde.name = 'name'
|
22
|
+
c.mrhyde.theme = 'theme'
|
23
|
+
c.mrhyde.meta.info = 'test nested nested value'
|
24
|
+
|
25
|
+
## test self reference in value assignment e.g.
|
26
|
+
c.test.title = c.title
|
27
|
+
c.test.name = c.author.name
|
28
|
+
|
29
|
+
pp c.to_h
|
30
|
+
|
31
|
+
assert true ## if we get here; everything is ok
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
end # class TestConfig
|
data/test/test_merger.rb
CHANGED
@@ -1,35 +1,35 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_merger.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestMerger < MiniTest::Test
|
12
|
-
|
13
|
-
def test_gem_starter_template
|
14
|
-
|
15
|
-
config = { 'filename' => 'hola',
|
16
|
-
'version' => '0.0.1',
|
17
|
-
'klass' => 'Hola',
|
18
|
-
}
|
19
|
-
|
20
|
-
m = Quik::Merger.new
|
21
|
-
|
22
|
-
## m.merge_filenames( "#{Quik.root}/test/data/gem-starter-template", config, test: true )
|
23
|
-
## m.merge_filenames( "./o/gem", config )
|
24
|
-
|
25
|
-
## note: set output path (for testing; not in place)
|
26
|
-
## m.merge_files( "#{Quik.root}/test/data/gem-starter-template", config, test: true, o: "./o/#{Time.now.to_i}" )
|
27
|
-
|
28
|
-
## note: set output path (for testing; not in place)
|
29
|
-
m.merge( "#{Quik.root}/test/data/gem-starter-template", config, test: true, o: "./o/#{Time.now.to_i}" )
|
30
|
-
## m.merge( "./o/gem", config )
|
31
|
-
|
32
|
-
assert true ## if we get here; everything is ok
|
33
|
-
end
|
34
|
-
|
35
|
-
end # class TestMerger
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_merger.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestMerger < MiniTest::Test
|
12
|
+
|
13
|
+
def test_gem_starter_template
|
14
|
+
|
15
|
+
config = { 'filename' => 'hola',
|
16
|
+
'version' => '0.0.1',
|
17
|
+
'klass' => 'Hola',
|
18
|
+
}
|
19
|
+
|
20
|
+
m = Quik::Merger.new
|
21
|
+
|
22
|
+
## m.merge_filenames( "#{Quik.root}/test/data/gem-starter-template", config, test: true )
|
23
|
+
## m.merge_filenames( "./o/gem", config )
|
24
|
+
|
25
|
+
## note: set output path (for testing; not in place)
|
26
|
+
## m.merge_files( "#{Quik.root}/test/data/gem-starter-template", config, test: true, o: "./o/#{Time.now.to_i}" )
|
27
|
+
|
28
|
+
## note: set output path (for testing; not in place)
|
29
|
+
m.merge( "#{Quik.root}/test/data/gem-starter-template", config, test: true, o: "./o/#{Time.now.to_i}" )
|
30
|
+
## m.merge( "./o/gem", config )
|
31
|
+
|
32
|
+
assert true ## if we get here; everything is ok
|
33
|
+
end
|
34
|
+
|
35
|
+
end # class TestMerger
|
data/test/test_package.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_package.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestPackage < MiniTest::Test
|
12
|
-
|
13
|
-
def test_gem_starter_template
|
14
|
-
|
15
|
-
pak = Quik::Package.new( 'gem-starter-template' )
|
16
|
-
pak.download
|
17
|
-
pak.unzip( './o/gem' )
|
18
|
-
|
19
|
-
assert true ## if we get here; everything is ok
|
20
|
-
end
|
21
|
-
|
22
|
-
end # class TestPackage
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_package.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestPackage < MiniTest::Test
|
12
|
+
|
13
|
+
def test_gem_starter_template
|
14
|
+
|
15
|
+
pak = Quik::Package.new( 'gem-starter-template' )
|
16
|
+
pak.download
|
17
|
+
pak.unzip( './o/gem' )
|
18
|
+
|
19
|
+
assert true ## if we get here; everything is ok
|
20
|
+
end
|
21
|
+
|
22
|
+
end # class TestPackage
|
data/test/test_wizard.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_wizard.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestWizard < MiniTest::Test
|
12
|
+
|
13
|
+
include Quik::Wizard ## lets you use ask etc.
|
14
|
+
|
15
|
+
def test_ask
|
16
|
+
|
17
|
+
$QUIK_WIZARD_IN = EchoIO.new( <<EOS )
|
18
|
+
Another Beautiful Static Site
|
19
|
+
|
20
|
+
H. J.
|
21
|
+
|
22
|
+
2
|
23
|
+
n
|
24
|
+
y
|
25
|
+
EOS
|
26
|
+
|
27
|
+
say "Hello, Wizard!"
|
28
|
+
|
29
|
+
title = ask "What's your site's title", "Your Site Title"
|
30
|
+
assert_equal 'Another Beautiful Static Site', title
|
31
|
+
|
32
|
+
title = ask "What's your site's title", "Your Site Title"
|
33
|
+
assert_equal 'Your Site Title', title
|
34
|
+
|
35
|
+
name = ask "Your Name"
|
36
|
+
assert_equal 'H. J.', name
|
37
|
+
|
38
|
+
theme = select "Select your theme", ["Starter", "Bootstrap", "Minimal"]
|
39
|
+
assert_equal 'Starter', theme
|
40
|
+
|
41
|
+
theme = select "Select your theme", ["Starter", "Bootstrap", "Minimal"]
|
42
|
+
assert_equal 'Bootstrap', theme
|
43
|
+
|
44
|
+
assert_equal false, yes?( "Add to GitHub" )
|
45
|
+
assert_equal false, no?( "Add to GitHub" )
|
46
|
+
|
47
|
+
assert true ## if we get here; everything is ok
|
48
|
+
end
|
49
|
+
|
50
|
+
end # class TestWizard
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quik
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logutils
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: textutils
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: fetcher
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,31 +70,37 @@ dependencies:
|
|
84
70
|
name: rdoc
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- - "
|
73
|
+
- - ">="
|
88
74
|
- !ruby/object:Gem::Version
|
89
75
|
version: '4.0'
|
76
|
+
- - "<"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '7'
|
90
79
|
type: :development
|
91
80
|
prerelease: false
|
92
81
|
version_requirements: !ruby/object:Gem::Requirement
|
93
82
|
requirements:
|
94
|
-
- - "
|
83
|
+
- - ">="
|
95
84
|
- !ruby/object:Gem::Version
|
96
85
|
version: '4.0'
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '7'
|
97
89
|
- !ruby/object:Gem::Dependency
|
98
90
|
name: hoe
|
99
91
|
requirement: !ruby/object:Gem::Requirement
|
100
92
|
requirements:
|
101
93
|
- - "~>"
|
102
94
|
- !ruby/object:Gem::Version
|
103
|
-
version: '3.
|
95
|
+
version: '3.22'
|
104
96
|
type: :development
|
105
97
|
prerelease: false
|
106
98
|
version_requirements: !ruby/object:Gem::Requirement
|
107
99
|
requirements:
|
108
100
|
- - "~>"
|
109
101
|
- !ruby/object:Gem::Version
|
110
|
-
version: '3.
|
111
|
-
description: quik - ruby quick starter template script wizard .:. the missing code
|
102
|
+
version: '3.22'
|
103
|
+
description: qk/quik - ruby quick starter template script wizard .:. the missing code
|
112
104
|
generator
|
113
105
|
email: ruby-talk@ruby-lang.org
|
114
106
|
executables:
|
@@ -116,12 +108,13 @@ executables:
|
|
116
108
|
- quik
|
117
109
|
extensions: []
|
118
110
|
extra_rdoc_files:
|
119
|
-
-
|
111
|
+
- CHANGELOG.md
|
112
|
+
- LICENSE.md
|
120
113
|
- Manifest.txt
|
121
114
|
- README.md
|
122
115
|
files:
|
123
|
-
-
|
124
|
-
-
|
116
|
+
- CHANGELOG.md
|
117
|
+
- LICENSE.md
|
125
118
|
- Manifest.txt
|
126
119
|
- README.md
|
127
120
|
- Rakefile
|
@@ -129,8 +122,10 @@ files:
|
|
129
122
|
- bin/quik
|
130
123
|
- lib/quik.rb
|
131
124
|
- lib/quik/builder.rb
|
125
|
+
- lib/quik/catalog.rb
|
132
126
|
- lib/quik/cli/main.rb
|
133
127
|
- lib/quik/cli/opts.rb
|
128
|
+
- lib/quik/colors.rb
|
134
129
|
- lib/quik/config.rb
|
135
130
|
- lib/quik/merger.rb
|
136
131
|
- lib/quik/package.rb
|
@@ -143,13 +138,16 @@ files:
|
|
143
138
|
- test/data/gem-starter-template/lib/__filename__/__filename__/test.rb
|
144
139
|
- test/data/gem-starter-template/lib/__filename__/version.rb
|
145
140
|
- test/helper.rb
|
141
|
+
- test/test_colors.rb
|
142
|
+
- test/test_config.rb
|
146
143
|
- test/test_merger.rb
|
147
144
|
- test/test_package.rb
|
148
|
-
|
145
|
+
- test/test_wizard.rb
|
146
|
+
homepage: https://github.com/quikstart/quik
|
149
147
|
licenses:
|
150
148
|
- Public Domain
|
151
149
|
metadata: {}
|
152
|
-
post_install_message:
|
150
|
+
post_install_message:
|
153
151
|
rdoc_options:
|
154
152
|
- "--main"
|
155
153
|
- README.md
|
@@ -159,18 +157,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
159
157
|
requirements:
|
160
158
|
- - ">="
|
161
159
|
- !ruby/object:Gem::Version
|
162
|
-
version:
|
160
|
+
version: 2.2.2
|
163
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
162
|
requirements:
|
165
163
|
- - ">="
|
166
164
|
- !ruby/object:Gem::Version
|
167
165
|
version: '0'
|
168
166
|
requirements: []
|
169
|
-
|
170
|
-
|
171
|
-
signing_key:
|
167
|
+
rubygems_version: 3.1.4
|
168
|
+
signing_key:
|
172
169
|
specification_version: 4
|
173
|
-
summary: quik - ruby quick starter template script wizard .:. the missing code
|
174
|
-
|
175
|
-
|
176
|
-
- test/test_package.rb
|
170
|
+
summary: qk/quik - ruby quick starter template script wizard .:. the missing code
|
171
|
+
generator
|
172
|
+
test_files: []
|