class Coupdoeil::PopoversController

def create

def create
  popover = @popover_klass.new(@popover_params, view_context)
  render plain: popover.process(@action_name), layout: false
end

def set_action_and_resource_name

def set_action_and_resource_name
  @action_name, @resource_name = params[:action_name].split("@")
end

def set_popover_class

def set_popover_class
  @popover_klass = Coupdoeil::Popover.registry.lookup_or_register(@resource_name)
end

def set_popover_class

def set_popover_class
  @popover_klass = Coupdoeil::Popover.registry.lookup(@resource_name)
end

def set_popover_params

def set_popover_params
  @popover_params =
    if params[:params].blank?
      @popover_params = {}.freeze
    else
      raw_params = JSON.parse(params[:params])
      card_params = Coupdoeil::Params.deserialize(raw_params).sole
      card_params.with_indifferent_access
    end
end