Class: DeployGate::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/deploygate/session.rb

Defined Under Namespace

Classes: LoginError

Constant Summary collapse

@@login =
nil

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDeployGate::Session



11
12
13
# File 'lib/deploygate/session.rb', line 11

def initialize
  load_setting
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/deploygate/session.rb', line 6

def name
  @name
end

#tokenObject (readonly)

Returns the value of attribute token.



6
7
8
# File 'lib/deploygate/session.rb', line 6

def token
  @token
end

Class Method Details

.deletevoid



45
46
47
48
# File 'lib/deploygate/session.rb', line 45

def self.delete
  save('', '') # delete config values
  @@login = false
end

.login(email, password) ⇒ void

This method returns an undefined value.

Raises:



23
24
25
26
27
28
29
30
31
# File 'lib/deploygate/session.rb', line 23

def self.(email, password)
  data = API::V1::Session.(email, password)
  raise LoginError, data[:message] if data[:error]

  name = data[:name]
  token = data[:token]
  save(name, token)
  @@login = true
end

.save(name, token) ⇒ void



36
37
38
39
40
41
42
# File 'lib/deploygate/session.rb', line 36

def self.save(name, token)
  settings = {
      :name => name,
      :token => token
  }
  Config::Credential.write(settings)
end

Instance Method Details

#login?Boolean



16
17
18
# File 'lib/deploygate/session.rb', line 16

def login?
  @@login = @@login.nil? ? API::V1::Session.check(@name, @token) : @@login
end