Class: Ti::Generate::Controller
- Inherits:
-
Object
- Object
- Ti::Generate::Controller
show all
- Extended by:
- Utils
- Defined in:
- lib/ti/generate/controller.rb
Class Method Summary
collapse
Methods included from Utils
append_to_router, base_location, create_directories, create_new_file, create_with_template, error, get_app_name, log, remove_directories, remove_files, templates, touch, underscore
Class Method Details
.create(name, context = {}) ⇒ Object
7
8
9
|
# File 'lib/ti/generate/controller.rb', line 7
def create(name, context={})
create_controller_file(name, context)
end
|
.create_controller_file(name, context) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/ti/generate/controller.rb', line 12
def create_controller_file(name, context)
log "Creating #{name} controller using a template."
app_name = get_app_name
controller_directory = "app/#{underscore(app_name)}/controllers"
context.merge!(:app_name => app_name, :name => name)
template = templates("app/controllers/controller.erb")
payload = Pathname.new("#{controller_directory}")
contents = Erubis::Eruby.new(File.read(template)).result(context) if template
create_directories(payload) unless File.directory?(payload)
create_directories("spec/controllers") unless File.directory?("spec/controllers")
filename = payload.join("#{name.downcase}.coffee")
File.open(location.join(filename), 'w') { |f| f.write(contents) }
create_new_file("spec/controllers/#{name}_spec.coffee", templates("specs/app_spec.coffee"))
append_to_router(name, 'controllers')
end
|