Module: GClouder::Config::Project

Includes:
Helpers, Logging
Included in:
GClouder, GCloud, GSUtil, Project::ID, Resources::Compute::Addresses::Local, Resources::Compute::BGPVPNs, Resources::Compute::BackendBuckets::Local, Resources::Compute::Disks, Resources::Compute::FirewallRules::Local, Resources::Compute::ForwardingRules::Local, Resources::Compute::Networks, Resources::Compute::Networks::Local, Resources::Compute::Networks::Subnets, Resources::Compute::ProjectInfo::Key, Resources::Compute::ProjectInfo::SSHKeys, Resources::Compute::ProjectInfo::SSHKeys::Local, Resources::Compute::Routers, Resources::Compute::TargetHTTPSProxies::Local, Resources::Compute::URLMaps::Local, Resources::Compute::VPNs, Resources::Container::Clusters, Resources::DNS, Resources::DNS::Zone, Resources::Functions::Function, Resources::Functions::Function::Local, Resources::Global, Resources::Logging::Sinks, Resources::Logging::Sinks::Local, Resources::Project, Resources::Project::IAMPolicyBinding, Resources::Project::IAMPolicyBinding::Local, Resources::Project::IAMPolicyBinding::Remote, Resources::Project::Local, Resources::PubSub::Subscriptions, Resources::PubSub::Subscriptions::Local, Resources::PubSub::Topics, Resources::PubSub::Topics::Local, Resources::Region, Resources::RuntimeConfig::Configs, Resources::RuntimeConfig::Configs::Local, Resources::RuntimeConfig::Variables, Resources::RuntimeConfig::Variables::Local, Resources::Storage::Buckets, Resources::Validate::Global, Resources::Validate::Region, Resources::Validate::Remote
Defined in:
lib/gclouder/config/project.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#hash_to_args, #module_exists?, #to_arg, #to_deep_merge_hash, #valid_json?

Methods included from Logging

#add, #bad, #change, #debug, #error, #fatal, #good, #info, log, loggers, #remove, report, #resource_state, setup, #warn, #warning

Class Method Details

.loadObject



17
18
19
20
21
22
23
24
25
# File 'lib/gclouder/config/project.rb', line 17

def self.load
  @project = GClouder.resources.each_with_object(GClouder::Config::Files::Project.project) do |resource, config|
    next unless module_exists? "#{resource[:module]}::Config"

    config = resource[:module]::Config.merged(config)
  end

  fatal "no project_id found in config" unless project.key?("project_id")
end

.projectObject



9
10
11
# File 'lib/gclouder/config/project.rb', line 9

def self.project
  @project
end

Instance Method Details

#projectObject



13
14
15
# File 'lib/gclouder/config/project.rb', line 13

def project
  Project.project
end