Class: Cloud::Sh::Account

Inherits:
Object
  • Object
show all
Defined in:
lib/cloud/sh/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Account

Returns a new instance of Account.



37
38
39
40
41
42
43
44
45
46
# File 'lib/cloud/sh/config.rb', line 37

def initialize(config)
  @name = config["name"]
  @kind = config["kind"]
  @context = config["context"]
  @default = config.key?("default") && !!config["default"]
  @clusters = []
  @databases = []
  load_clusters(config)
  load_databases(config)
end

Instance Attribute Details

#clustersObject (readonly)

Returns the value of attribute clusters.



35
36
37
# File 'lib/cloud/sh/config.rb', line 35

def clusters
  @clusters
end

#contextObject (readonly)

Returns the value of attribute context.



35
36
37
# File 'lib/cloud/sh/config.rb', line 35

def context
  @context
end

#databasesObject (readonly)

Returns the value of attribute databases.



35
36
37
# File 'lib/cloud/sh/config.rb', line 35

def databases
  @databases
end

#defaultObject (readonly)

Returns the value of attribute default.



35
36
37
# File 'lib/cloud/sh/config.rb', line 35

def default
  @default
end

#kindObject (readonly)

Returns the value of attribute kind.



35
36
37
# File 'lib/cloud/sh/config.rb', line 35

def kind
  @kind
end

#nameObject (readonly)

Returns the value of attribute name.



35
36
37
# File 'lib/cloud/sh/config.rb', line 35

def name
  @name
end

Instance Method Details

#find_cluster(name) ⇒ Object



62
63
64
# File 'lib/cloud/sh/config.rb', line 62

def find_cluster(name)
  clusters.find { |cluster| cluster.name == name } || clusters.push(Cluster.new("name" => name)).last
end

#find_database(name) ⇒ Object



66
67
68
# File 'lib/cloud/sh/config.rb', line 66

def find_database(name)
  databases.find { |database| database.name == name } || databases.push(Database.new("name" => name)).last
end

#ignore_database?(name) ⇒ Boolean

Returns:

  • (Boolean)


70
71
72
73
74
# File 'lib/cloud/sh/config.rb', line 70

def ignore_database?(name)
  databases.any? do |database|
    database.name == name && database.ignore
  end
end

#load_clusters(config) ⇒ Object



48
49
50
51
52
53
# File 'lib/cloud/sh/config.rb', line 48

def load_clusters(config)
  return unless config.key?("clusters")
  config["clusters"].each do |cluster_config|
    clusters << Cluster.new(cluster_config)
  end
end

#load_databases(config) ⇒ Object



55
56
57
58
59
60
# File 'lib/cloud/sh/config.rb', line 55

def load_databases(config)
  return unless config.key?("databases")
  config["databases"].each do |database_config|
    databases << Database.new(database_config)
  end
end