Sha256: a830ca7c449a26d02aa7b73b802f880450be7710c2703b3c59784de51fb7cb91

Contents?: true

Size: 1.1 KB

Versions: 5

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

module SidekiqUniqueJobs
  module Web
    module Helpers
      VIEW_PATH = File.expand_path('../web/views', __dir__)

      def unique_template(name)
        File.open(File.join(VIEW_PATH, "#{name}.erb")).read
      end

      SAFE_CPARAMS = %w[cursor prev_cursor].freeze

      def cparams(options)
        # stringify
        options.keys.each do |key|
          options[key.to_s] = options.delete(key)
        end

        params.merge(options).map do |key, value|
          next unless SAFE_CPARAMS.include?(key)
          "#{key}=#{CGI.escape(value.to_s)}"
        end.compact.join('&')
      end

      def redirect_to(subpath)
        if respond_to?(:to)
          # Sinatra-based web UI
          redirect to(subpath)
        else
          # Non-Sinatra based web UI (Sidekiq 4.2+)
          redirect "#{root_path}#{subpath}"
        end
      end

      def safe_relative_time(time)
        time = if time.is_a?(Numeric)
                 Time.at(time)
               else
                 Time.parse(time)
               end

        relative_time(time)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.6 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.5 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.4 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.3 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.2 lib/sidekiq_unique_jobs/web/helpers.rb