Sha256: 89db1315a2129f23bc6e829ddecf6e3c3fab4ab8302eb2ed1eba4fb6927c0386
Contents?: true
Size: 1.17 KB
Versions: 19
Compression:
Stored size: 1.17 KB
Contents
class Loco::ControllerGenerator < Rails::Generators::NamedBase source_root File.expand_path('../templates', __FILE__) def create_namespace_controllers file_path = File.join Rails.root, 'app', 'assets', 'javascripts', 'controllers' class_path.each.with_index do |name, index| class_name = class_path[0, index+1].map(&:camelcase).join('.') current_file_path = File.join(file_path, *class_path[0, index+1]) + '.coffee' data = File.read find_in_source_paths('controller.coffee') data.sub! '#{name}', class_name data.sub! '#{methods_def}', '' create_file current_file_path, data end end def create_controller class_name = (class_path + [file_name]).map(&:camelcase).join('.') data = File.read find_in_source_paths('controller.coffee') data.sub! '#{name}', class_name data.sub! '#{methods_def}', methods_def.join('') create_file file_path, data end private def methods_def args.map.with_index do |name, index| "\n #{name}: ->\n" end end def file_path File.join Rails.root, 'app', 'assets', 'javascripts', 'controllers', *class_path, "#{file_name}.coffee" end end
Version data entries
19 entries across 19 versions & 1 rubygems