Sha256: 9df44159760ce074b27bfa05058ca5094f7fcb1ca92926aba27c8591b1255864
Contents?: true
Size: 1.11 KB
Versions: 10
Compression:
Stored size: 1.11 KB
Contents
module EY class CLI class API < EY::API def initialize(token = nil) @token = token @token ||= self.class.read_token @token ||= self.class.fetch_token raise EY::Error, "Sorry, we couldn't get your API token." unless @token end def request(*) begin super rescue EY::API::InvalidCredentials EY.ui.warn "Credentials rejected, please authenticate again" refresh retry end end def refresh @token = self.class.fetch_token end def self.fetch_token EY.ui.warn("The engineyard gem is prerelease software. Please do not use") EY.ui.warn("this tool to deploy to mission-critical environments, yet.") EY.ui.info("We need to fetch your API token, please login") begin email = EY.ui.ask("Email: ") password = EY.ui.ask("Password: ", true) super(email, password) rescue EY::API::InvalidCredentials EY.ui.warn "Invalid username or password, please try again" retry end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems