class Katapult::Generators::ViewsGenerator
Public Instance Methods
create_form_partial_if_needed()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 34 def create_form_partial_if_needed _form_actions = (actions.map(&:name) & %w[new edit]) if _form_actions.any? file_name = '_form.html.haml' create_view file_name, File.join(views_path, file_name) end end
create_rails_standard_action_views()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 26 def create_rails_standard_action_views actions.select{ |a| a.get? && WebUI::RAILS_ACTIONS.include?(a.name) }.each do |action| file_name = "#{action.name}.html.haml" create_view file_name, File.join(views_path, file_name) end end
create_views_directory()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 14 def create_views_directory FileUtils.mkdir_p views_path end
create_views_for_custom_actions()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 44 def create_views_for_custom_actions web_ui.custom_actions.select(&:get?).each do |action| @action = action # Make the action object accessible in templates create_view 'custom_action.html.haml', File.join(views_path, "#{action.name}.html.haml") end end
generate_integration_tests()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 51 def generate_integration_tests if web_ui.model.present? Generators::CucumberFeaturesGenerator.new(web_ui.model, options).invoke_all end end
install_helpers()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 18 def install_helpers directory 'app/helpers' end
install_styles()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 22 def install_styles directory 'app/webpack/assets/stylesheets/blocks' end
model_name(kind = nil)
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 58 def model_name(kind = nil) web_ui.model_name(kind) end
views_path()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 62 def views_path File.join('app', 'views', model_name(:variables)) end
Private Instance Methods
actions()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 83 def actions web_ui.actions end
create_view(template, destination)
click to toggle source
Rails views depend heavily on models. If the WebUI
has no model, do not use the templates but create empty files instead.
# File lib/generators/katapult/views/views_generator.rb, line 71 def create_view(template, destination) if web_ui.model template template, destination else create_file destination end end
web_ui()
click to toggle source
# File lib/generators/katapult/views/views_generator.rb, line 79 def web_ui @element end