Class: SidekiqUniqueJobs::Cli
- Inherits:
-
Thor
- Object
- Thor
- SidekiqUniqueJobs::Cli
- Defined in:
- lib/sidekiq_unique_jobs/cli.rb
Overview
Command line interface for unique jobs
Class Method Summary collapse
-
.banner(command, _namespace = nil, _subcommand = false) ⇒ Object
:nodoc: rubocop:disable Style/OptionalBooleanParameter.
Instance Method Summary collapse
-
#console ⇒ Object
:nodoc:.
-
#del(pattern) ⇒ Object
:nodoc:.
-
#list(pattern = "*") ⇒ Object
:nodoc:.
Class Method Details
.banner(command, _namespace = nil, _subcommand = false) ⇒ Object
:nodoc: rubocop:disable Style/OptionalBooleanParameter
14 15 16 |
# File 'lib/sidekiq_unique_jobs/cli.rb', line 14 def self.(command, _namespace = nil, _subcommand = false) # rubocop:disable Style/OptionalBooleanParameter "jobs #{@package_name} #{command.usage}" # rubocop:disable ThreadSafety/InstanceVariableInClassMethod end |
Instance Method Details
#console ⇒ Object
:nodoc:
45 46 47 48 49 50 51 52 |
# File 'lib/sidekiq_unique_jobs/cli.rb', line 45 def console say "Use `list '*', 1000 to display the first 1000 unique digests matching '*'" say "Use `del '*', 1000, true (default) to see how many digests would be deleted for the pattern '*'" say "Use `del '*', 1000, false to delete the first 1000 digests matching '*'" # Object.include SidekiqUniqueJobs::Api console_class.start end |
#del(pattern) ⇒ Object
:nodoc:
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/sidekiq_unique_jobs/cli.rb', line 32 def del(pattern) max_count = [:count] if [:dry_run] result = digests.entries(pattern: pattern, count: max_count) say "Would delete #{result.size} digests matching '#{pattern}'" else deleted_count = digests.delete_by_pattern(pattern, count: max_count) say "Deleted #{deleted_count} digests matching '#{pattern}'" end end |
#list(pattern = "*") ⇒ Object
:nodoc:
22 23 24 25 26 |
# File 'lib/sidekiq_unique_jobs/cli.rb', line 22 def list(pattern = "*") entries = digests.entries(pattern: pattern, count: [:count]) say "Found #{entries.size} digests matching '#{pattern}':" print_in_columns(entries.sort) if entries.any? end |