class GenesisRails::AutoInclude::MagicView

Constants

OPENING_BODY_TAG

Attributes

controller[R]

Public Class Methods

add_data_attr(controller) click to toggle source
# File lib/genesis_rails/auto_include_magic_view.rb, line 14
def self.add_data_attr(controller)
  data_attr_include = new(controller)
  data_attr_include.include_magic_view_classes!
end
new(kontroller) click to toggle source
# File lib/genesis_rails/auto_include_magic_view.rb, line 19
def initialize(kontroller)
  @controller = kontroller
end

Public Instance Methods

include_magic_view_classes!() click to toggle source
# File lib/genesis_rails/auto_include_magic_view.rb, line 23
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 Instance Methods

action_class_name() click to toggle source
# File lib/genesis_rails/auto_include_magic_view.rb, line 36
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
controller_class_name() click to toggle source
# File lib/genesis_rails/auto_include_magic_view.rb, line 47
def controller_class_name
  controller.class.name.gsub('::', '').gsub(/Controller$/, '')
end
response() click to toggle source
# File lib/genesis_rails/auto_include_magic_view.rb, line 32
def response
  controller.response
end