Sha256: dade852f36b43a20dd799561ec89f73c368c7931d75204f79cafc81f4ed10b4d
Contents?: true
Size: 1.26 KB
Versions: 5
Compression:
Stored size: 1.26 KB
Contents
module GenesisRails module AutoInclude module Methods def auto_include_magic_view_data_attr GenesisRails::AutoInclude::MagicView.add_data_attr(self) end end class MagicView OPENING_BODY_TAG = "<body" attr_reader :controller def self.add_data_attr(controller) data_attr_include = new(controller) data_attr_include.include_magic_view_classes! end def initialize(kontroller) @controller = kontroller end def include_magic_view_classes! response.body = response.body.gsub( OPENING_BODY_TAG, '\\0' + " data-action-view=\"#{action_class_name}View\" data-controller-view=\"#{controller_class_name}View\"") end private def response controller.response end def action_class_name action = case controller.action_name when "create" then "new" when "update" then "edit" else controller.action_name end action = action.camelize "#{controller_class_name}#{action}" end def controller_class_name controller.class.name.gsub('::', '').gsub(/Controller$/, '') end end end end
Version data entries
5 entries across 5 versions & 1 rubygems