Module: AdminModule

Defined in:
lib/admin_module/client.rb,
lib/admin_module.rb,
lib/admin_module/dc.rb,
lib/admin_module/cli.rb,
lib/admin_module/ppms.rb,
lib/admin_module/locks.rb,
lib/admin_module/rules.rb,
lib/admin_module/tasks.rb,
lib/admin_module/stages.rb,
lib/admin_module/command.rb,
lib/admin_module/version.rb,
lib/admin_module/rulesets.rb,
lib/admin_module/guideline.rb,
lib/admin_module/snapshots.rb,
lib/admin_module/command/dc.rb,
lib/admin_module/command/gdl.rb,
lib/admin_module/command/ppm.rb,
lib/admin_module/command/lock.rb,
lib/admin_module/command/rule.rb,
lib/admin_module/command/task.rb,
lib/admin_module/page_factory.rb,
lib/admin_module/command/stage.rb,
lib/admin_module/config_helper.rb,
lib/admin_module/command/config.rb,
lib/admin_module/command/ruleset.rb,
lib/admin_module/command/snapshot.rb,
lib/admin_module/command/client_access.rb,
lib/admin_module/pages/dc_definitions_page.rb,
lib/admin_module/pages/workflow_tasks_page.rb,
lib/admin_module/pages/snapshot_definitions_page.rb

Overview

File

client_access.rb

Purpose

Module providing client access helper methods for CLI classes.

Author

Jeff McAffee 07/17/2014

Defined Under Namespace

Modules: Command, Pages, Rake Classes: CLI, Client, ConfigHelper, Configuration, DC, Guideline, Locks, PageFactory, Ppms, Rules, Rulesets, Runner, Snapshots, Stages, Tasks

Constant Summary collapse

CONFIG_FILE_NAME =
'.admin_module'
VERSION =
"0.1.5"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject

Returns the value of attribute client.



31
32
33
# File 'lib/admin_module.rb', line 31

def client
  @client
end

.configurationObject

Returns the value of attribute configuration.



30
31
32
# File 'lib/admin_module.rb', line 30

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Setup admin_module configuration

Attempts to find and load a configuration file the first time it’s requested. If a config file cannot be found on in the current directory tree (moving towards trunk, not the leaves), a default configuration object is created.

If a block is provided, the configuration object is yielded to the block after the configuration is loaded/created.

Yields:



46
47
48
49
50
51
52
53
# File 'lib/admin_module.rb', line 46

def self.configure
  if self.configuration.nil?
    unless self.load_configuration
      self.configuration = Configuration.new
    end
  end
  yield(configuration) if block_given?
end

.find_config_pathObject

Walk up the directory tree from current working dir (pwd) till a file named .admin_module is found

Returns file path if found, nil if not.



62
63
64
# File 'lib/admin_module.rb', line 62

def self.find_config_path
  path = Pathname(Pathname.pwd).ascend{|d| h=d+CONFIG_FILE_NAME; break h if h.file?}
end

.load_configuration(path = nil) ⇒ Object

Load the configuration from disk

Returns true if config file found and loaded, false otherwise.



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/admin_module.rb', line 101

def self.load_configuration(path = nil)
  # If no path provided, see if we can find one in the dir tree.
  if path.nil?
    path = find_config_path
  end

  return false if path.nil?
  return false unless Pathname(path).exist?

  File.open(path, 'r') do |f|
    self.configuration = YAML.load(f)
    puts "configuration loaded from #{path}" if $debug
  end

  true
end

.save_configuration(path = nil) ⇒ Object

Write configuration to disk

Writes to current working dir (pwd) if path is nil

Returns path of emitted file



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/admin_module.rb', line 74

def self.save_configuration(path = nil)
  # If no path provided, see if we can find one in the dir tree.
  if path.nil?
    path = find_config_path
  end

  # Still no path? Use the current working dir.
  if path.nil?
    path = Pathname.pwd
  end

  unless path.to_s.end_with?('/' + CONFIG_FILE_NAME)
    path = Pathname(path) + CONFIG_FILE_NAME
  end

  path = Pathname(path).expand_path
  File.write(path, YAML.dump(configuration))

  path
end