Sha256: ec539497f6b199ae3bd0362231d52b4542b8fb418dfe0e59297eaee13946656e
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
# Generate a controller, routes and view files for a WUI. require 'katapult/generator' require 'generators/katapult/haml/haml_generator' module Katapult module Generators class WUIGenerator < Katapult::Generator desc 'Generate a Web User Interface' check_class_collision suffix: 'Controller' source_root File.expand_path('../templates', __FILE__) def create_controller_file template 'controller.rb', File.join('app', 'controllers', "#{ model_name(:variables) }_controller.rb") end def add_route route = model_name(:symbols) routes = File.read('config/routes.rb') if routes.include? "resources #{ route }" say_status :warn, <<MESSAGE, :red Routes for #{ route } already exist! Not updated. In order to keep existing routes created by the user, the config/routes.rb file is not wiped on model transformation. To have Katapult update the #{ route} route for you, delete it before transforming the application model. MESSAGE else route render_partial('_route.rb') end end def generate_views Generators::HamlGenerator.new(wui).invoke_all end no_tasks do def method_name(name) case name when :load_collection then "load_#{model_name :variables}" when :load_object then "load_#{model_name :variable}" when :build then "build_#{model_name :variable}" when :save then "save_#{model_name :variable}" when :params then "#{model_name :variable}_params" when :scope then "#{model_name :variable}_scope" end end def model_name(kind = nil) wui.model_name(kind) end def navigation wui.application_model.navigation end end private def wui @element end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
katapult-0.1.2 | lib/generators/katapult/w_u_i/w_u_i_generator.rb |