Sha256: ed1e06a74aafd0c3c77180564e329c537291c2a0994f07e9e67e43603ebf2de1

Contents?: true

Size: 1.07 KB

Versions: 8

Compression:

Stored size: 1.07 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

8 entries across 8 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.25 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.24 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.23 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.22 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.21 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.20 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.16 lib/sidekiq_unique_jobs/web/helpers.rb
sidekiq-unique-jobs-6.0.19 lib/sidekiq_unique_jobs/web/helpers.rb