Module: SolidQueueGuard::CLI
- Defined in:
- lib/solid_queue_guard/cli.rb
Class Method Summary collapse
- .format_flag(argv) ⇒ Object
- .formatter_for(format) ⇒ Object
- .options(argv: ARGV) ⇒ Object
- .run!(scope: nil, format: nil, strict: nil, argv: ARGV) ⇒ Object
- .scope_flag(argv) ⇒ Object
- .strict_flag?(argv) ⇒ Boolean
Class Method Details
.format_flag(argv) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/solid_queue_guard/cli.rb', line 39 def format_flag(argv) if (format_argument = argv.find { |argument| argument.start_with?('--format=') }) format_argument.split('=', 2).last.to_sym else ENV.fetch('SOLID_QUEUE_GUARD_FORMAT', 'text').to_sym end end |
.formatter_for(format) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/solid_queue_guard/cli.rb', line 28 def formatter_for(format) case format.to_sym when :json then Formatters::Json else Formatters::Terminal end end |
.options(argv: ARGV) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/solid_queue_guard/cli.rb', line 7 def (argv: ARGV) { strict: strict_flag?(argv), format: format_flag(argv), scope: scope_flag(argv) } end |
.run!(scope: nil, format: nil, strict: nil, argv: ARGV) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/solid_queue_guard/cli.rb', line 15 def run!(scope: nil, format: nil, strict: nil, argv: ARGV) scope ||= scope_flag(argv) format ||= format_flag(argv) strict = strict_flag?(argv) if strict.nil? report = Runner.new(scope: scope).run output = formatter_for(format).new(report).render Rails.logger.debug output unless output.empty? exit report.exit_code(strict: strict) end |
.scope_flag(argv) ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/solid_queue_guard/cli.rb', line 47 def scope_flag(argv) if (scope_argument = argv.find { |argument| argument.start_with?('--scope=') }) scope_argument.split('=', 2).last.to_sym else ENV.fetch('SOLID_QUEUE_GUARD_SCOPE', 'config').to_sym end end |
.strict_flag?(argv) ⇒ Boolean
35 36 37 |
# File 'lib/solid_queue_guard/cli.rb', line 35 def strict_flag?(argv) SolidQueueGuard.config.strict? || argv.include?('--strict') end |