13
14
15
16
17
18
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# File 'lib/shogun/command/new.rb', line 13
def execute
architecture(source: scaffold_directory, destination: current_directory) do |architect|
architect.create(directory: architect.destination(namespace))
architect.within(source: "project", destination: namespace) do |scope|
scope.copy(file: "gitignore", as: ".gitignore", context: context)
scope.copy(file: "rspec", as: ".rspec", context: context)
scope.copy(file: "env", as: ".env", context: context)
scope.copy(file: "ruby-gemset", as: ".ruby-gemset", context: context)
scope.copy(file: "ruby-version", as: ".ruby-version", context: context)
scope.copy(file: "slugignore", as: ".slugignore", context: context)
scope.copy(file: "travis.yml", as: ".travis.yml", context: context)
scope.copy(file: "config.ru", context: context)
scope.copy(file: "Envfile", context: context)
scope.copy(file: "Gemfile", context: context)
scope.copy(file: "LICENSE", context: context)
scope.copy(file: "Procfile", context: context)
scope.copy(file: "Rakefile", context: context)
scope.copy(file: "README.md", context: context)
scope.create(directory: scope.destination("config"))
scope.within(source: "config", destination: "config") do |scope|
scope.copy(file: "puma.rb", context: context)
end
scope.create(directory: scope.destination("lib"))
scope.within(source: "lib", destination: "lib") do |scope|
scope.copy(file: "namespace.rb", as: "#{namespace}.rb", context: context)
scope.create(directory: scope.destination(namespace))
scope.within(source: "namespace", destination: namespace) do |scope|
scope.copy(file: "server.rb", context: context)
scope.copy(file: "accounts.rb", context: context)
scope.create(directory: scope.destination("accounts"))
scope.within(source: "accounts", destination: "accounts") do |scope|
scope.copy(file: "create.rb", context: context)
scope.create(directory: scope.destination("create"))
scope.within(source: "create", destination: "create") do |scope|
scope.copy(file: "control.rb", context: context)
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "normalizer.rb", context: context)
scope.copy(file: "validator.rb", context: context)
end
scope.copy(file: "destroy.rb", context: context)
scope.create(directory: scope.destination("destroy"))
scope.within(source: "destroy", destination: "destroy") do |scope|
scope.copy(file: "authorizer.rb", context: context)
scope.copy(file: "control.rb", context: context)
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "normalizer.rb", context: context)
scope.copy(file: "validator.rb", context: context)
end
scope.copy(file: "list.rb", context: context)
scope.create(directory: scope.destination("list"))
scope.within(source: "list", destination: "list") do |scope|
scope.copy(file: "control.rb", context: context)
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "normalizer.rb", context: context)
scope.copy(file: "validator.rb", context: context)
end
scope.copy(file: "show.rb", context: context)
scope.create(directory: scope.destination("show"))
scope.within(source: "show", destination: "show") do |scope|
scope.copy(file: "control.rb", context: context)
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "normalizer.rb", context: context)
scope.copy(file: "validator.rb", context: context)
end
scope.copy(file: "update.rb", context: context)
scope.create(directory: scope.destination("update"))
scope.within(source: "update", destination: "update") do |scope|
scope.copy(file: "authorizer.rb", context: context)
scope.copy(file: "control.rb", context: context)
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "normalizer.rb", context: context)
scope.copy(file: "validator.rb", context: context)
end
scope.copy(file: "endpoint.rb", context: context)
scope.copy(file: "null.rb", context: context)
scope.copy(file: "presenter.rb", context: context)
scope.copy(file: "model.rb", context: context)
end
scope.copy(file: "sessions.rb", context: context)
scope.create(directory: scope.destination("sessions"))
scope.within(source: "sessions", destination: "sessions") do |scope|
scope.copy(file: "create.rb", context: context)
scope.create(directory: scope.destination("create"))
scope.within(source: "create", destination: "create") do |scope|
scope.copy(file: "authorizer.rb", context: context)
scope.copy(file: "control.rb", context: context)
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "normalizer.rb", context: context)
scope.copy(file: "validator.rb", context: context)
end
scope.copy(file: "destroy.rb", context: context)
scope.create(directory: scope.destination("destroy"))
scope.within(source: "destroy", destination: "destroy") do |scope|
scope.copy(file: "control.rb", context: context)
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "normalizer.rb", context: context)
scope.copy(file: "validator.rb", context: context)
end
scope.copy(file: "endpoint.rb", context: context)
scope.copy(file: "presenter.rb", context: context)
scope.copy(file: "model.rb", context: context)
end
scope.copy(file: "errors.rb", context: context)
scope.create(directory: scope.destination("errors"))
scope.within(source: "errors", destination: "errors") do |scope|
scope.copy(file: "denormalizer.rb", context: context)
scope.copy(file: "presenter.rb", context: context)
end
end
end
scope.create(directory: scope.destination("spec"))
scope.within(source: "spec", destination: "spec") do |scope|
scope.copy(file: "spec_helper.rb", context: context)
scope.create(directory: scope.destination("lib"))
end
end
end
end
|