Sha256: 7f45856161517d13de432f483ff58dafd027ccd580844851795002cb0a22b808

Contents?: true

Size: 980 Bytes

Versions: 3

Compression:

Stored size: 980 Bytes

Contents

module DeployGate
  module Commands
    class Init
      class << self

        # @return [void]
        def run
          login unless Session.new().login?

          finish
        end

        # @return [void]
        def login
          puts 'Welcome to DeployGate!'
          puts ''
          print 'Email: '
          email= STDIN.gets.chop
          print 'Password: '
          password = STDIN.noecho(&:gets).chop
          puts ''

          begin
            Session.login(email, password)
          rescue Session::LoginError => e
            # login failed
            Message::Error.print('Login failed...')
            Message::Error.print('Please try again')
            raise e
          end

          # login success
          session = Session.new
          Message::Success.print("Hello #{session.name}!")
        end

        # @return [void]
        def finish
          Message::Success.print('Enjoy development!')
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
deploygate-0.0.3 lib/deploygate/commands/init.rb
deploygate-0.0.2 lib/deploygate/commands/init.rb
deploygate-0.0.1 lib/deploygate/commands/init.rb