class Podium::PodletGenerator
Constants
- APP_CONTROLLER_PATH
- LAYOUT_PATH
- PREVIEW_CONTROLLER_PATH
Public Instance Methods
create_controller()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 13 def create_controller template "podlet_controller.rb", "app/controllers/#{controller_file_name}" end
create_views()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 17 def create_views template "content.html.erb", "app/views/#{folder_name}/content.html.erb" end
prepare_assets()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 21 def prepare_assets create_file "app/assets/javascripts/#{folder_name}/podlet.js" create_file "app/assets/stylesheets/#{folder_name}/podlet.css" return if contents("app/assets/config/manifest.js").include?(folder_name) append_to_file "app/assets/config/manifest.js", "//= link_directory ../javascripts/#{folder_name} .js\n" append_to_file "app/assets/config/manifest.js", "//= link_directory ../stylesheets/#{folder_name} .css\n" end
setup_preview()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 40 def setup_preview unless preview_exists? template "podlet_preview_controller.rb", PREVIEW_CONTROLLER_PATH end return if contents(PREVIEW_CONTROLLER_PATH).include?(podlet_name) podlet_action = <<-RUBY \ndef #{podlet_name} resource = podlet_resource(:#{podlet_name}) render html: resource.fetch({}).html_safe end RUBY inject_into_file PREVIEW_CONTROLLER_PATH, podlet_action, before: "\nend" end
setup_routes()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 29 def setup_routes route = "podlet :#{podlet_name}" return if route_present?(route) if route_present?("podlet_preview") inject_into_file "config/routes.rb", "\n #{route}", before: "\n podlet_preview" else inject_into_file "config/routes.rb", "\n #{route}", before: "\nend" inject_into_file "config/routes.rb", "\n podlet_preview if Rails.env.development?", before: "\nend" end end
Private Instance Methods
contents(path)
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 68 def contents(path) inside do return File.read(path) end end
controller_file_name()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 82 def controller_file_name "#{controller_name.underscore}.rb" end
controller_name()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 86 def controller_name "#{name.underscore.camelcase}PodletController" end
folder_name()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 74 def folder_name "#{podlet_name}_podlet" end
podlet_name()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 78 def podlet_name name.underscore end
preview_exists?()
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 58 def preview_exists? inside do return File.exist?(PREVIEW_CONTROLLER_PATH) end end
route_present?(route)
click to toggle source
# File lib/generators/podium/podlet_generator.rb, line 64 def route_present?(route) contents("config/routes.rb").include?(route) end