lizarb 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +12 -13
- data/Rakefile +38 -0
- data/app/dev_box.rb +14 -12
- data/app/happy_box.rb +2 -2
- data/app/net_box.rb +4 -4
- data/app/web_box.rb +4 -4
- data/app.rb +6 -7
- data/{exe/Gemfile → app_global.gemfile.rb} +2 -0
- data/app_global.gemfile.rb.lock +19 -0
- data/app_global.rb +4 -0
- data/{app → app_new}/dev/benches/loops_bench.rb +3 -2
- data/{app/dev/generators/bench_generator_test.rb → app_new/dev/benches/loops_bench_test.rb} +2 -2
- data/app_new/dev/benches/objects_bench.rb +83 -0
- data/{app/dev/generators/record_generator_test.rb → app_new/dev/benches/objects_bench_test.rb} +2 -2
- data/app_new/dev/benches/sorted_bench.rb +54 -0
- data/app_new/dev/benches/sorted_bench_test.rb +12 -0
- data/app_new/dev/benches/variables_bench.rb +55 -0
- data/{app/dev/generators/command_generator_test.rb → app_new/dev/benches/variables_bench_test.rb} +2 -2
- data/{app → app_new}/dev/commands/calculator_command.rb +1 -1
- data/{app → app_new}/dev/commands/circle_command.rb +1 -1
- data/{app → app_new}/dev/commands/narrative_method_command.rb +5 -7
- data/{app → app_new}/dev/commands/quadratic_command.rb +1 -1
- data/app_new/dev_box.rb +14 -0
- data/app_new.rb +15 -0
- data/exe/lizarb +9 -1
- data/lib/app.rb +27 -95
- data/lib/dev_system/dev/controllers/bench/not_found_bench.rb +15 -8
- data/lib/dev_system/dev/controllers/bench.rb +0 -6
- data/lib/dev_system/dev/controllers/command/bench_command.rb +1 -2
- data/lib/dev_system/dev/controllers/command/generate_command.rb +3 -27
- data/lib/dev_system/dev/controllers/command/new_command.rb +9 -0
- data/lib/dev_system/dev/controllers/command/new_command_test.rb +7 -0
- data/lib/dev_system/dev/controllers/command/not_found_command.rb +29 -8
- data/lib/dev_system/dev/controllers/command/terminal_command.rb +2 -2
- data/lib/dev_system/dev/controllers/command/test_command.rb +6 -6
- data/lib/dev_system/dev/controllers/command.rb +9 -13
- data/lib/dev_system/dev/controllers/generator_dsl_main_part.rb +2 -4
- data/{app/dev/generators/bench_generator/bench.rb.erb → lib/dev_system/dev/controllers/generators/bench_generator/controller.rb.erb} +1 -2
- data/{app/dev/generators/bench_generator/bench_test.rb.erb → lib/dev_system/dev/controllers/generators/bench_generator/controller_test.rb.erb} +2 -2
- data/lib/dev_system/dev/controllers/generators/bench_generator.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/bench_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/command_generator/controller.rb.erb +41 -0
- data/{app/dev/generators/command_generator/command_test.rb.erb → lib/dev_system/dev/controllers/generators/command_generator/controller_test.rb.erb} +2 -2
- data/lib/dev_system/dev/controllers/generators/command_generator.rb +19 -0
- data/lib/dev_system/dev/controllers/generators/command_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/controller_generator.rb +97 -0
- data/lib/dev_system/dev/controllers/generators/controller_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/generator_generator/template.rb.erb +1 -1
- data/lib/dev_system/dev/controllers/generators/new_generator.rb +117 -0
- data/lib/dev_system/dev/controllers/generators/new_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/not_found_generator.rb +20 -8
- data/{app/dev → lib/dev_system/dev/controllers}/generators/record_generator.rb +1 -1
- data/lib/dev_system/dev/controllers/generators/record_generator_test.rb +12 -0
- data/{app/dev → lib/dev_system/dev/controllers}/generators/request_generator.rb +2 -2
- data/lib/dev_system/dev/controllers/generators/request_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/log.rb +3 -0
- data/{app/dev/generators/request_generator_test.rb → lib/dev_system/dev/controllers/log_test.rb} +2 -2
- data/lib/dev_system/dev/controllers/shell.rb +22 -0
- data/lib/dev_system/dev/controllers/shell_test.rb +25 -0
- data/lib/dev_system/dev/controllers/terminal/irb_terminal.rb +7 -1
- data/lib/dev_system/dev/controllers/terminal/pry_terminal.rb +1 -1
- data/lib/dev_system/dev/dev_box.rb +12 -18
- data/lib/dev_system/dev/panels/command_panel.rb +54 -11
- data/lib/dev_system/dev/panels/command_panel_test.rb +35 -10
- data/lib/dev_system/dev/panels/generator_panel.rb +70 -0
- data/lib/dev_system/dev/panels/generator_panel_test.rb +34 -0
- data/lib/happy_system/happy/happy_box.rb +2 -3
- data/lib/lerb.rb +95 -49
- data/lib/liza/base/box.rb +6 -1
- data/lib/liza/base/panel.rb +16 -18
- data/lib/liza/base/panel_test.rb +27 -1
- data/lib/liza/base_parts/controller_renderer_part.rb +1 -1
- data/lib/liza/ruby_tests/module_test.rb +2 -2
- data/lib/liza/test/test_test.rb +5 -1
- data/lib/liza/test_parts/test_assertions_part.rb +1 -1
- data/lib/liza/test_parts/test_dsl_part.rb +3 -3
- data/lib/liza/test_parts/test_tree_part.rb +4 -49
- data/lib/liza/unit.rb +73 -79
- data/lib/liza/unit_parts/unit_procedure_part_test.rb +9 -9
- data/lib/liza/unit_parts/unit_settings_part.rb +76 -0
- data/lib/liza/unit_parts/unit_settings_part_test.rb +3 -0
- data/lib/liza/unit_test.rb +11 -0
- data/lib/liza.rb +10 -1
- data/lib/lizarb/ruby/module.rb +1 -1
- data/lib/lizarb/version.rb +1 -1
- data/lib/lizarb.rb +247 -23
- data/lib/net_system/dev/net_command.rb +9 -9
- data/lib/net_system/net/controllers/client/redis_client.rb +1 -1
- data/lib/net_system/net/controllers/client/sqlite_client.rb +1 -1
- data/lib/net_system/net/net_box.rb +4 -6
- data/lib/web_system/dev/rack_command.rb +1 -8
- data/lib/web_system/dev/request_command.rb +6 -20
- data/lib/web_system/web/panels/request_panel.rb +0 -2
- data/lib/web_system/web/web_box.rb +4 -6
- data/lizarb.gemspec +1 -1
- metadata +46 -41
- data/.ruby-version +0 -1
- data/app/dev/benches/app_bench.rb +0 -5
- data/app/dev/benches/app_bench_test.rb +0 -7
- data/app/dev/benches/loops_bench_test.rb +0 -11
- data/app/dev/commands/app_command.rb +0 -5
- data/app/dev/commands/app_command_test.rb +0 -7
- data/app/dev/commands/new_command.rb +0 -9
- data/app/dev/commands/new_command_test.rb +0 -7
- data/app/dev/generators/bench_generator.rb +0 -18
- data/app/dev/generators/command_generator/command.rb.erb +0 -26
- data/app/dev/generators/command_generator.rb +0 -18
- data/exe/Gemfile.lock +0 -13
- data/lib/dev_system/dev/controllers/bench_dsl_main_part.rb +0 -58
- data/lib/dev_system/dev/controllers/command/echo_command.rb +0 -9
- data/lib/dev_system/dev/controllers/command/echo_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command/version_command.rb +0 -7
- data/lib/dev_system/dev/controllers/command/version_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/generators/app_generator.rb +0 -146
- data/lib/dev_system/dev/controllers/generators/app_generator_test.rb +0 -12
- /data/{app → app_new}/dev/commands/calculator_command_test.rb +0 -0
- /data/{app → app_new}/dev/commands/circle_command_test.rb +0 -0
- /data/{app → app_new}/dev/commands/narrative_method_command_test.rb +0 -0
- /data/{app → app_new}/dev/commands/quadratic_command_test.rb +0 -0
data/lib/app.rb
CHANGED
@@ -1,102 +1,38 @@
|
|
1
|
-
|
1
|
+
class App
|
2
2
|
class Error < StandardError; end
|
3
|
-
class ModeNotFound < Error; end
|
4
3
|
class SystemNotFound < Error; end
|
5
4
|
|
6
5
|
#
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
def log s
|
7
|
+
def self.log s
|
11
8
|
puts s.bold
|
12
9
|
end
|
13
10
|
|
14
|
-
def logv s
|
11
|
+
def self.logv s
|
15
12
|
log s if $VERBOSE
|
16
13
|
end
|
17
14
|
|
18
|
-
# called from
|
19
|
-
def call argv
|
20
|
-
instance_exec &block
|
21
|
-
|
22
|
-
setup_env
|
23
|
-
setup_bundle
|
24
|
-
setup_liza
|
25
|
-
bundle_systems_app Lizarb::APP_DIR
|
26
|
-
|
27
|
-
check_mode!
|
28
|
-
|
15
|
+
# called from exe/lizarb
|
16
|
+
def self.call argv
|
29
17
|
puts
|
30
|
-
DevBox[:command].call argv
|
18
|
+
Liza[:DevBox][:command].call argv
|
31
19
|
puts
|
32
20
|
end
|
33
21
|
|
34
|
-
def root
|
22
|
+
def self.root
|
35
23
|
Pathname Dir.pwd
|
36
24
|
end
|
37
25
|
|
38
|
-
def setup_env
|
39
|
-
require "dotenv"
|
40
|
-
Dotenv.load "app.#{mode}.env", "app.env"
|
41
|
-
end
|
42
|
-
|
43
|
-
def setup_bundle
|
44
|
-
require "bundler/setup"
|
45
|
-
Bundler.require :default, *@systems.keys
|
46
|
-
end
|
47
|
-
|
48
|
-
def setup_liza
|
49
|
-
require "liza"
|
50
|
-
|
51
|
-
@loaders << loader = Zeitwerk::Loader.new
|
52
|
-
loader.tag = Liza.to_s
|
53
|
-
|
54
|
-
# ORDER MATTERS: IGNORE, COLLAPSE, PUSH
|
55
|
-
loader.collapse "#{Liza.source_location_radical}/**/*"
|
56
|
-
loader.push_dir "#{Liza.source_location_radical}", namespace: Liza
|
57
|
-
|
58
|
-
loader.enable_reloading
|
59
|
-
loader.setup
|
60
|
-
end
|
61
|
-
|
62
|
-
def bundle_systems_app app_dir
|
63
|
-
@systems.keys.each do |k|
|
64
|
-
key = "#{k}_system"
|
65
|
-
|
66
|
-
require_system key
|
67
|
-
klass = Object.const_get key.camelize
|
68
|
-
|
69
|
-
@systems[k] = klass
|
70
|
-
end
|
71
|
-
|
72
|
-
@loaders << loader = Zeitwerk::Loader.new
|
73
|
-
|
74
|
-
@systems.each do |k, klass|
|
75
|
-
# ORDER MATTERS: IGNORE, COLLAPSE, PUSH
|
76
|
-
loader.collapse "#{klass.source_location_radical}/**/*"
|
77
|
-
loader.push_dir "#{klass.source_location_radical}", namespace: klass
|
78
|
-
end
|
79
|
-
|
80
|
-
# ORDER MATTERS: IGNORE, COLLAPSE, PUSH
|
81
|
-
loader.collapse "#{app_dir}/app/**/*"
|
82
|
-
loader.push_dir "#{app_dir}/app" if Dir.exist? "#{app_dir}/app"
|
83
|
-
|
84
|
-
loader.enable_reloading
|
85
|
-
loader.setup
|
86
|
-
|
87
|
-
@systems.each do |k, klass|
|
88
|
-
connect_system k, klass
|
89
|
-
end
|
90
|
-
|
91
|
-
@systems.freeze
|
92
|
-
end
|
93
|
-
|
94
26
|
# loaders
|
95
27
|
|
96
28
|
@loaders = []
|
97
29
|
@mutex = Mutex.new
|
98
30
|
|
99
|
-
def
|
31
|
+
def self.loaders
|
32
|
+
@loaders
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.reload &block
|
100
36
|
@mutex.synchronize do
|
101
37
|
@loaders.map &:reload
|
102
38
|
yield if block_given?
|
@@ -105,36 +41,33 @@ module App
|
|
105
41
|
true
|
106
42
|
end
|
107
43
|
|
108
|
-
def
|
109
|
-
|
44
|
+
def self.load_all
|
45
|
+
Lizarb.load_all
|
110
46
|
end
|
111
47
|
|
112
|
-
#
|
48
|
+
# modes
|
113
49
|
|
114
|
-
@modes = [
|
115
|
-
ENV["LIZA_MODE"] ||= @modes.first.to_s
|
116
|
-
@mode = ENV["LIZA_MODE"].to_sym
|
50
|
+
@modes = []
|
117
51
|
|
118
|
-
def mode mode = nil
|
119
|
-
return
|
52
|
+
def self.mode mode = nil
|
53
|
+
return $MODE if mode.nil?
|
120
54
|
@modes << mode.to_sym
|
121
55
|
end
|
122
56
|
|
123
|
-
def
|
124
|
-
|
125
|
-
raise ModeNotFound, "LIZA_MODE `#{@mode}` not found in #{@modes}", []
|
57
|
+
def self.modes
|
58
|
+
@modes
|
126
59
|
end
|
127
60
|
|
128
61
|
# systems
|
129
62
|
|
130
63
|
@systems = {}
|
131
64
|
|
132
|
-
def system key
|
65
|
+
def self.system key
|
133
66
|
raise "locked" if @locked
|
134
67
|
@systems[key] = nil
|
135
68
|
end
|
136
69
|
|
137
|
-
def systems
|
70
|
+
def self.systems
|
138
71
|
@systems
|
139
72
|
end
|
140
73
|
|
@@ -150,7 +83,7 @@ module App
|
|
150
83
|
|
151
84
|
# parts
|
152
85
|
|
153
|
-
def connect_part part_klass, key, system
|
86
|
+
def self.connect_part part_klass, key, system
|
154
87
|
t = Time.now
|
155
88
|
string = "CONNECTING PART #{part_klass.to_s.rjust 25}.part :#{key}"
|
156
89
|
logv string
|
@@ -163,23 +96,22 @@ module App
|
|
163
96
|
end
|
164
97
|
|
165
98
|
if klass.insertion
|
166
|
-
part_klass.class_exec
|
99
|
+
part_klass.class_exec(&klass.insertion)
|
167
100
|
end
|
168
101
|
|
169
102
|
if klass.extension
|
170
103
|
klass.const_set :Extension, Class.new(Liza::PartExtension)
|
171
|
-
klass::Extension.class_exec
|
104
|
+
klass::Extension.class_exec(&klass.extension)
|
172
105
|
end
|
173
106
|
logv "#{string} takes #{t.diff}s"
|
174
107
|
end
|
175
108
|
|
176
109
|
# systems
|
177
110
|
|
178
|
-
def connect_system key, system_klass
|
111
|
+
def self.connect_system key, system_klass
|
179
112
|
t = Time.now
|
180
113
|
|
181
114
|
color_system_klass = system_klass.to_s.colorize system_klass.log_color
|
182
|
-
color_key = key.to_s.colorize system_klass.log_color
|
183
115
|
|
184
116
|
registrar_index = 0
|
185
117
|
system_klass.registrar.each do |string, target_block|
|
@@ -190,7 +122,7 @@ module App
|
|
190
122
|
target_klass = Liza.const reg_target
|
191
123
|
|
192
124
|
if reg_type == "insertion"
|
193
|
-
target_klass.class_exec
|
125
|
+
target_klass.class_exec(&target_block)
|
194
126
|
else
|
195
127
|
raise "TODO: decide and implement system extension"
|
196
128
|
end
|
@@ -3,25 +3,32 @@ class DevSystem::NotFoundBench < DevSystem::Bench
|
|
3
3
|
def self.call args
|
4
4
|
# 1. LOG
|
5
5
|
|
6
|
-
log
|
6
|
+
log "args = #{args.inspect}"
|
7
7
|
puts
|
8
8
|
|
9
9
|
# 2. FIND generators
|
10
10
|
|
11
|
-
App.
|
11
|
+
App.load_all
|
12
12
|
benches = Liza::Bench.descendants
|
13
|
+
benches -= ignored_benches
|
13
14
|
|
14
|
-
|
15
|
-
puts
|
15
|
+
# 3. LIST benches
|
16
16
|
|
17
|
+
keys = benches.map { _1.last_namespace.snakecase[0..-7] }.uniq.sort
|
18
|
+
|
19
|
+
log "Liza comes with #{keys.count} benches you can use."
|
17
20
|
log "Here they are:"
|
18
21
|
puts
|
19
22
|
|
20
|
-
# 3. LIST benches
|
21
|
-
|
22
|
-
keys = benches.map { |k| k.last_namespace.snakecase[0..-7] }.sort
|
23
|
-
keys.reject! { |s| s == "not_found" }
|
24
23
|
keys.each { |s| log "liza bench #{s}" }
|
25
24
|
end
|
26
25
|
|
26
|
+
def self.ignored_benches
|
27
|
+
[
|
28
|
+
self,
|
29
|
+
DevSystem::NotFoundBench,
|
30
|
+
(DevSystem::SortedBench if defined? SortedBench),
|
31
|
+
].uniq.compact
|
32
|
+
end
|
33
|
+
|
27
34
|
end
|
@@ -1,33 +1,9 @@
|
|
1
1
|
class DevSystem::GenerateCommand < DevSystem::Command
|
2
2
|
|
3
|
-
def
|
4
|
-
#
|
3
|
+
def call args
|
4
|
+
log "args = #{args}" if DevBox[:generator].get :log_details
|
5
5
|
|
6
|
-
|
7
|
-
puts
|
8
|
-
|
9
|
-
# 2. FIND generator
|
10
|
-
|
11
|
-
return call_not_found args if args.none?
|
12
|
-
|
13
|
-
generator = args[0]
|
14
|
-
|
15
|
-
log({generator:})
|
16
|
-
|
17
|
-
#
|
18
|
-
|
19
|
-
begin
|
20
|
-
generator_class = Liza.const "#{generator}_generator"
|
21
|
-
rescue Liza::ConstNotFound
|
22
|
-
generator_class = NotFoundGenerator
|
23
|
-
end
|
24
|
-
|
25
|
-
# 3. CALL
|
26
|
-
|
27
|
-
generator_class.call args[1..-1]
|
6
|
+
DevBox[:generator].call args
|
28
7
|
end
|
29
8
|
|
30
|
-
def self.call_not_found args
|
31
|
-
Liza::NotFoundGenerator.call args
|
32
|
-
end
|
33
9
|
end
|
@@ -3,25 +3,46 @@ class DevSystem::NotFoundCommand < DevSystem::Command
|
|
3
3
|
def self.call args
|
4
4
|
# 1. LOG
|
5
5
|
|
6
|
-
log
|
6
|
+
log "args = #{args.inspect}"
|
7
7
|
puts
|
8
8
|
|
9
9
|
# 2. FIND commands
|
10
10
|
|
11
|
-
App.
|
11
|
+
App.load_all
|
12
12
|
commands = Liza::Command.descendants
|
13
|
+
commands -= ignored_commands
|
13
14
|
|
14
|
-
|
15
|
-
|
15
|
+
# 3. LIST commands
|
16
|
+
|
17
|
+
keys = commands.map { _1.last_namespace.snakecase[0..-9] }.uniq.sort
|
16
18
|
|
19
|
+
log "Liza comes with #{keys.count} commands you can use."
|
17
20
|
log "Here they are:"
|
18
21
|
puts
|
19
22
|
|
20
|
-
# 3. LIST commands
|
21
|
-
|
22
|
-
keys = commands.map { |k| k.last_namespace.snakecase[0..-9] }.sort
|
23
|
-
keys.reject! { |s| s == "not_found" }
|
24
23
|
keys.each { |s| log "liza #{s}" }
|
25
24
|
end
|
26
25
|
|
26
|
+
def self.ignored_commands
|
27
|
+
[
|
28
|
+
self,
|
29
|
+
DevSystem::NotFoundCommand,
|
30
|
+
DevSystem::NewCommand,
|
31
|
+
DevSystem::TerminalCommand,
|
32
|
+
(DevSystem::NarrativeMethodCommand if defined? NarrativeMethodCommand),
|
33
|
+
].uniq.compact
|
34
|
+
end
|
35
|
+
|
36
|
+
if $APP == "app_global"
|
37
|
+
def self.ignored_commands
|
38
|
+
[
|
39
|
+
self,
|
40
|
+
DevSystem::NotFoundCommand,
|
41
|
+
DevSystem::BenchCommand,
|
42
|
+
DevSystem::GenerateCommand,
|
43
|
+
DevSystem::TestCommand,
|
44
|
+
].uniq.compact
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
27
48
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
class DevSystem::TestCommand < DevSystem::Command
|
2
2
|
|
3
3
|
def self.call args
|
4
|
-
log
|
4
|
+
log "args = #{args.inspect}"
|
5
5
|
|
6
|
-
App.
|
6
|
+
App.load_all
|
7
7
|
|
8
8
|
now = Time.now
|
9
9
|
test_classes = Liza::Test.descendants
|
@@ -44,11 +44,11 @@ class DevSystem::TestCommand < DevSystem::Command
|
|
44
44
|
proc_namespaced = proc { |tc| tc.name.include? "::" }
|
45
45
|
proc_liza = proc { |tc| tc.name[0..3] == "Liza" }
|
46
46
|
|
47
|
-
tc_app = test_classes.reject
|
48
|
-
tc_namespaced = test_classes.select
|
47
|
+
tc_app = test_classes.reject(&proc_namespaced)
|
48
|
+
tc_namespaced = test_classes.select(&proc_namespaced)
|
49
49
|
|
50
|
-
tc_liza = tc_namespaced.select
|
51
|
-
tc_system = tc_namespaced.reject
|
50
|
+
tc_liza = tc_namespaced.select(&proc_liza)
|
51
|
+
tc_system = tc_namespaced.reject(&proc_liza)
|
52
52
|
|
53
53
|
tc_app.sort_by! &:source_location
|
54
54
|
tc_liza.sort_by! &:source_location
|
@@ -1,17 +1,13 @@
|
|
1
1
|
class DevSystem::Command < Liza::Controller
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
# def call args
|
14
|
-
#
|
15
|
-
# end
|
3
|
+
def self.call args
|
4
|
+
log "args = #{args}"
|
5
|
+
new.call args
|
6
|
+
end
|
7
|
+
|
8
|
+
def call args
|
9
|
+
log "args = #{args}"
|
10
|
+
raise NotImplementedError
|
11
|
+
end
|
16
12
|
|
17
13
|
end
|
@@ -3,7 +3,7 @@ class DevSystem::GeneratorDslMainPart < Liza::Part
|
|
3
3
|
insertion do
|
4
4
|
|
5
5
|
def self.call args
|
6
|
-
log
|
6
|
+
log "args = #{args.inspect}"
|
7
7
|
|
8
8
|
name = args.shift || raise("args[0] should contain NAME")
|
9
9
|
name = name.downcase
|
@@ -11,7 +11,7 @@ class DevSystem::GeneratorDslMainPart < Liza::Part
|
|
11
11
|
memo.each do |label, bl|
|
12
12
|
log "Generating #{label}"
|
13
13
|
g = new label, name, args
|
14
|
-
g.instance_exec
|
14
|
+
g.instance_exec(&bl)
|
15
15
|
g.call
|
16
16
|
end
|
17
17
|
|
@@ -35,8 +35,6 @@ class DevSystem::GeneratorDslMainPart < Liza::Part
|
|
35
35
|
|
36
36
|
%w|folder filename content|.each do |s|
|
37
37
|
class_eval <<-CODE, __FILE__, __LINE__ + 1
|
38
|
-
attr_reader :#{s}
|
39
|
-
|
40
38
|
def #{s} #{s} = nil
|
41
39
|
if #{s}
|
42
40
|
@#{s} = #{s}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
class <%= name.camelize %>BenchTest <
|
1
|
+
class <%= @name.camelize %>BenchTest < SortedBenchTest
|
2
2
|
|
3
3
|
test :subject_class do
|
4
|
-
assert subject_class == <%= name.camelize %>Bench
|
4
|
+
assert subject_class == <%= @name.camelize %>Bench
|
5
5
|
end
|
6
6
|
|
7
7
|
test :settings do
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class DevSystem::BenchGenerator < DevSystem::ControllerGenerator
|
2
|
+
|
3
|
+
def self.call args
|
4
|
+
log "args = #{args.inspect}"
|
5
|
+
|
6
|
+
name = args.shift || raise("args[0] should contain NAME")
|
7
|
+
name = name.downcase
|
8
|
+
|
9
|
+
new.generate_app_controller :dev, :bench, :benches, name
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class DevSystem::BenchGeneratorTest < DevSystem::ControllerGeneratorTest
|
2
|
+
|
3
|
+
test :subject_class do
|
4
|
+
assert subject_class == DevSystem::BenchGenerator
|
5
|
+
end
|
6
|
+
|
7
|
+
test :settings do
|
8
|
+
assert subject_class.log_level == :normal
|
9
|
+
assert subject_class.log_color == :green
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class <%= @name.camelize %>Command < Liza::Command
|
2
|
+
|
3
|
+
def self.call args
|
4
|
+
log "args = #{args.inspect}"
|
5
|
+
new.call args
|
6
|
+
end
|
7
|
+
|
8
|
+
def call args
|
9
|
+
log "@args = #{args.inspect}"
|
10
|
+
@args = args
|
11
|
+
|
12
|
+
# log "puts render inline.txt"
|
13
|
+
# puts render "inline.txt"
|
14
|
+
|
15
|
+
# log "puts render text.txt"
|
16
|
+
# puts render "text.txt"
|
17
|
+
|
18
|
+
log "Time.now #{Time.now}"
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
__END__
|
24
|
+
|
25
|
+
The default view can be rendered by calling `render "inline.txt`"
|
26
|
+
|
27
|
+
Self is the instance of the class that called `render`:
|
28
|
+
self: <%%= self %>
|
29
|
+
|
30
|
+
# view text.txt.erb
|
31
|
+
|
32
|
+
This named view can be rendered by calling `render "text.txt`"
|
33
|
+
|
34
|
+
Instance variables are accessible from the view:
|
35
|
+
@args: <%%= @args %>
|
36
|
+
|
37
|
+
Written at <%%= Time.now %>
|
38
|
+
|
39
|
+
# view lalala.txt.erb.ignored
|
40
|
+
|
41
|
+
This named view will be ignored.
|
@@ -1,7 +1,7 @@
|
|
1
|
-
class <%= name.camelize %>CommandTest <
|
1
|
+
class <%= @name.camelize %>CommandTest < Liza::CommandTest
|
2
2
|
|
3
3
|
test :subject_class do
|
4
|
-
assert subject_class == <%= name.camelize %>Command
|
4
|
+
assert subject_class == <%= @name.camelize %>Command
|
5
5
|
end
|
6
6
|
|
7
7
|
test :settings do
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class DevSystem::CommandGenerator < DevSystem::ControllerGenerator
|
2
|
+
|
3
|
+
def self.call args
|
4
|
+
log "args = #{args.inspect}"
|
5
|
+
|
6
|
+
name = args.shift || raise("args[0] should contain NAME")
|
7
|
+
name = name.downcase
|
8
|
+
|
9
|
+
new.generate_app_controller :dev, :command, :commands, name
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
|
14
|
+
__END__
|
15
|
+
|
16
|
+
# view install_insert_panel.rb.erb
|
17
|
+
|
18
|
+
short :b, :bench
|
19
|
+
short :g, :generate
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class DevSystem::CommandGeneratorTest < DevSystem::ControllerGeneratorTest
|
2
|
+
|
3
|
+
test :subject_class do
|
4
|
+
assert subject_class == DevSystem::CommandGenerator
|
5
|
+
end
|
6
|
+
|
7
|
+
test :settings do
|
8
|
+
assert subject_class.log_level == :normal
|
9
|
+
assert subject_class.log_color == :green
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|