19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/rivulet/cli/generate/handler.rb', line 19
def call(name:, **options)
dir_name = underscore(name)
module_name = camelize(dir_name)
base = "app/handlers/#{dir_name}"
SUBDIRS.each { |d| create_dir "#{base}/#{d}" }
write "#{base}/handler.rb", handler_template(module_name)
create_container(base, module_name) unless File.exist?("#{base}/container.rb")
register_handler(dir_name, module_name)
if options[:create]
Operation.new.call(name: "#{name}.create")
end
if options[:read]
Operation.new.call(name: "#{name}.show")
end
if options[:update]
Operation.new.call(name: "#{name}.update")
end
if options[:delete]
Operation.new.call(name: "#{name}.delete")
end
if options[:list]
Operation.new.call(name: "#{name}.index")
end
end
|