Sha256: d2ee2d005c569beee2ee1b925ce56d376cf4540e61963fb163d06b4c375129d1

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

if defined?(Rails)
  module Coprl
    module Presenters
      module Helpers
        module Rails
          include ActionView::Helpers::AssetUrlHelper
          include Coprl::Presenters::Helpers::Rails::Currency
          include Coprl::Presenters::Helpers::Rails::ModelTable
          include Coprl::Presenters::Helpers::Rails::Routes
          include Namespace

          def presenters_path(presenter, host: false, **params)
            presenter = _expand_namespace_(presenter, namespace)
            presenter = presenter.gsub(':', '/')

            path = host ? coprl_presenters_web_client_app_url(params, host: router.base_url) :
                          coprl_presenters_web_client_app_path(params)

            if path.include?('?')
              path = path.sub('?', "#{presenter}?")
            else
              path = "#{path}/" unless path.end_with?('/')
              # replace last / with the presenter
              path = path.reverse.sub('/', "/#{presenter}".reverse).reverse
            end
            path
          end

          alias presenter_path presenters_path

          def presenters_url(presenter, host: true, **params)
            presenters_path(presenter, host: host, **params)
          end

          alias presenter_url presenters_url
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
coprl-3.0.0.beta.7 lib/coprl/presenters/helpers/rails.rb