Sha256: 50c6076eeaa9020f0601f6716cbebf2db085d6354a5dc8b1a5d198353f62a913

Contents?: true

Size: 961 Bytes

Versions: 4

Compression:

Stored size: 961 Bytes

Contents

class Jets::CLI::Maintenance
  class Mode < Base
    def on
      are_you_sure?
      warn "Enabling #{role_info} maintenance mode #{for_info}"
      role.on
    end

    def off
      warn "Disabling #{role_info} maintenance mode #{for_info}"
      role.off
    end

    def status
      if @options[:all]
        warn "Maintenance status for #{Jets.project.namespace}"
        puts "web #{Web.new.status}"
        puts "worker #{Worker.new.status}"
      else
        warn "#{role_info.titleize} maintenance status #{for_info}"
        puts role.status
      end
    end

    def are_you_sure?
      sure?("Will enable #{role_info} maintenance mode #{for_info}")
    end

    def role_info
      @options[:role]
    end

    def for_info
      "for #{Jets.project.namespace}"
    end

    def role
      # IE: Web or Worker
      klass = Jets::CLI::Maintenance.const_get(@options[:role].camelize)
      klass.new(@options)
    end
    memoize :role
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jets-6.0.5 lib/jets/cli/maintenance/mode.rb
jets-6.0.4 lib/jets/cli/maintenance/mode.rb
jets-6.0.3 lib/jets/cli/maintenance/mode.rb
jets-6.0.2 lib/jets/cli/maintenance/mode.rb