module ActiveVersioning::Workflow::PreviewLink

Public Instance Methods

preview_path_for(resource, options = {}) click to toggle source
# File lib/active_versioning/workflow/preview_link.rb, line 11
def preview_path_for(resource, options = {})
  path = if resource.respond_to? :path
    resource.path(_preview: true)
  end

  path.presence || preview_path_proc.call(resource, options)
end

Private Instance Methods

preview_path_proc() click to toggle source
# File lib/active_versioning/workflow/preview_link.rb, line 21
def preview_path_proc
  proc do |resource, options|
    param     = resource.try(:slug) || resource.to_param
    route_key = resource.model_name.singular_route_key

    options.fetch(:context, self).send("#{route_key}_path", param, _preview: true)
  end
end