admin_module 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +14 -0
  5. data/Guardfile +24 -0
  6. data/LICENSE +22 -0
  7. data/README.md +281 -0
  8. data/Rakefile +98 -0
  9. data/admin_module.gemspec +34 -0
  10. data/bin/admin_module +13 -0
  11. data/lib/admin_module.rb +260 -0
  12. data/lib/admin_module/cli.rb +54 -0
  13. data/lib/admin_module/cli/cli_guideline.rb +80 -0
  14. data/lib/admin_module/cli/cli_lock.rb +149 -0
  15. data/lib/admin_module/cli/cli_parameter.rb +66 -0
  16. data/lib/admin_module/cli/cli_task.rb +149 -0
  17. data/lib/admin_module/cli_old.rb +92 -0
  18. data/lib/admin_module/client.rb +146 -0
  19. data/lib/admin_module/command.rb +25 -0
  20. data/lib/admin_module/command/client_access.rb +43 -0
  21. data/lib/admin_module/command/config.rb +310 -0
  22. data/lib/admin_module/command/dc.rb +110 -0
  23. data/lib/admin_module/command/gdl.rb +71 -0
  24. data/lib/admin_module/command/lock.rb +110 -0
  25. data/lib/admin_module/command/ppm.rb +142 -0
  26. data/lib/admin_module/command/rule.rb +77 -0
  27. data/lib/admin_module/command/ruleset.rb +56 -0
  28. data/lib/admin_module/command/snapshot.rb +110 -0
  29. data/lib/admin_module/command/stage.rb +131 -0
  30. data/lib/admin_module/command/task.rb +110 -0
  31. data/lib/admin_module/config_helper.rb +33 -0
  32. data/lib/admin_module/dc.rb +133 -0
  33. data/lib/admin_module/guideline.rb +86 -0
  34. data/lib/admin_module/locks.rb +142 -0
  35. data/lib/admin_module/page_factory.rb +55 -0
  36. data/lib/admin_module/pages.rb +120 -0
  37. data/lib/admin_module/pages/dc_definitions_page.rb +73 -0
  38. data/lib/admin_module/pages/dc_detail_page.rb +187 -0
  39. data/lib/admin_module/pages/guideline_page.rb +35 -0
  40. data/lib/admin_module/pages/guideline_version_page.rb +140 -0
  41. data/lib/admin_module/pages/guidelines_page.rb +59 -0
  42. data/lib/admin_module/pages/guidelines_version_all_page.rb +116 -0
  43. data/lib/admin_module/pages/lock_definition_page.rb +178 -0
  44. data/lib/admin_module/pages/lock_definitions_page.rb +69 -0
  45. data/lib/admin_module/pages/login_page.rb +75 -0
  46. data/lib/admin_module/pages/parameter_page.rb +62 -0
  47. data/lib/admin_module/pages/parameters_page.rb +46 -0
  48. data/lib/admin_module/pages/ppms_page.rb +110 -0
  49. data/lib/admin_module/pages/rule_page.rb +68 -0
  50. data/lib/admin_module/pages/rules_page.rb +74 -0
  51. data/lib/admin_module/pages/ruleset_page.rb +64 -0
  52. data/lib/admin_module/pages/rulesets_page.rb +60 -0
  53. data/lib/admin_module/pages/select_list_syncable.rb +64 -0
  54. data/lib/admin_module/pages/snapshot_definitions_page.rb +73 -0
  55. data/lib/admin_module/pages/snapshot_detail_page.rb +246 -0
  56. data/lib/admin_module/pages/workflow_detail_page.rb +451 -0
  57. data/lib/admin_module/pages/workflow_detail_task_addl_detail_page.rb +172 -0
  58. data/lib/admin_module/pages/workflow_detail_task_mappings_page.rb +163 -0
  59. data/lib/admin_module/pages/workflow_detail_task_screens_page.rb +75 -0
  60. data/lib/admin_module/pages/workflow_details_page.rb +67 -0
  61. data/lib/admin_module/pages/workflow_task_page.rb +107 -0
  62. data/lib/admin_module/pages/workflow_tasks_page.rb +111 -0
  63. data/lib/admin_module/ppms.rb +78 -0
  64. data/lib/admin_module/rake.rb +22 -0
  65. data/lib/admin_module/rake/dc_tasks.rb +185 -0
  66. data/lib/admin_module/rake/deploy_task.rb +59 -0
  67. data/lib/admin_module/rake/gdl_tasks.rb +189 -0
  68. data/lib/admin_module/rake/lock_tasks.rb +189 -0
  69. data/lib/admin_module/rake/parameter_task.rb +86 -0
  70. data/lib/admin_module/rake/ppm_tasks.rb +248 -0
  71. data/lib/admin_module/rake/rule_tasks.rb +157 -0
  72. data/lib/admin_module/rake/snapshot_tasks.rb +223 -0
  73. data/lib/admin_module/rake/stage_tasks.rb +197 -0
  74. data/lib/admin_module/rake/stages_task.rb +197 -0
  75. data/lib/admin_module/rake/task_tasks.rb +189 -0
  76. data/lib/admin_module/rules.rb +50 -0
  77. data/lib/admin_module/rulesets.rb +42 -0
  78. data/lib/admin_module/snapshots.rb +133 -0
  79. data/lib/admin_module/stages.rb +171 -0
  80. data/lib/admin_module/tasks.rb +147 -0
  81. data/lib/admin_module/version.rb +3 -0
  82. data/old_spec/lib/admin_module/cli_configuration_spec.rb +126 -0
  83. data/old_spec/lib/admin_module/cli_create_stage_spec.rb +89 -0
  84. data/old_spec/lib/admin_module/cli_delete_rule_spec.rb +57 -0
  85. data/old_spec/lib/admin_module/cli_deploy_spec.rb +57 -0
  86. data/old_spec/lib/admin_module/cli_export_locks_spec.rb +62 -0
  87. data/old_spec/lib/admin_module/cli_export_stages_spec.rb +62 -0
  88. data/old_spec/lib/admin_module/cli_guidelines_version_all_spec.rb +58 -0
  89. data/old_spec/lib/admin_module/cli_import_locks_spec.rb +153 -0
  90. data/old_spec/lib/admin_module/cli_import_stages_spec.rb +173 -0
  91. data/old_spec/lib/admin_module/cli_modify_locks_spec.rb +128 -0
  92. data/old_spec/lib/admin_module/cli_modify_stages_spec.rb +88 -0
  93. data/old_spec/lib/admin_module/cli_rename_rule_spec.rb +53 -0
  94. data/old_spec/lib/admin_module/cli_rename_ruleset_spec.rb +53 -0
  95. data/old_spec/lib/admin_module/cli_var_spec.rb +41 -0
  96. data/old_spec/lib/admin_module/rake/deploy_task_spec.rb +85 -0
  97. data/old_spec/lib/admin_module/rake/parameter_task_spec.rb +58 -0
  98. data/old_spec/lib/admin_module/rake/rules_task_spec.rb +75 -0
  99. data/spec/data/build/test1.xml +0 -0
  100. data/spec/data/build/test2.xml +1 -0
  101. data/spec/data/import_dcs.yml +31 -0
  102. data/spec/data/import_locks.yml +4 -0
  103. data/spec/data/import_snapshots.yml +35 -0
  104. data/spec/data/import_stages.yml +4 -0
  105. data/spec/data/import_tasks.yml +25 -0
  106. data/spec/data/patch-test.xml +1 -0
  107. data/spec/data/remove_test_del_rule.xml +1 -0
  108. data/spec/data/stages.yml +518 -0
  109. data/spec/data/test_del_rule.xml +1 -0
  110. data/spec/lib/admin_module/admin_module_spec.rb +175 -0
  111. data/spec/lib/admin_module/cli_spec.rb +36 -0
  112. data/spec/lib/admin_module/client_spec.rb +158 -0
  113. data/spec/lib/admin_module/command/config_spec.rb +477 -0
  114. data/spec/lib/admin_module/command/dc_spec.rb +202 -0
  115. data/spec/lib/admin_module/command/gdl_spec.rb +139 -0
  116. data/spec/lib/admin_module/command/lock_spec.rb +207 -0
  117. data/spec/lib/admin_module/command/rule_spec.rb +163 -0
  118. data/spec/lib/admin_module/command/ruleset_spec.rb +124 -0
  119. data/spec/lib/admin_module/command/snapshot_spec.rb +202 -0
  120. data/spec/lib/admin_module/command/stage_spec.rb +259 -0
  121. data/spec/lib/admin_module/command/task_spec.rb +207 -0
  122. data/spec/lib/admin_module/dc_spec.rb +192 -0
  123. data/spec/lib/admin_module/guideline_spec.rb +177 -0
  124. data/spec/lib/admin_module/locks_spec.rb +188 -0
  125. data/spec/lib/admin_module/rules_spec.rb +110 -0
  126. data/spec/lib/admin_module/rulesets_spec.rb +85 -0
  127. data/spec/lib/admin_module/snapshot_spec.rb +192 -0
  128. data/spec/lib/admin_module/stages_spec.rb +179 -0
  129. data/spec/lib/admin_module/tasks_spec.rb +196 -0
  130. data/spec/spec_helper.rb +54 -0
  131. data/spec/support/asserts.rb +13 -0
  132. data/spec/support/data_clearing.rb +28 -0
  133. data/spec/support/dirs.rb +54 -0
  134. data/spec/support/helpers.rb +83 -0
  135. data/spec/support/lock.rb +23 -0
  136. data/spec/support/mocks.rb +213 -0
  137. data/spec/support/snapshot.rb +28 -0
  138. data/spec/support/stage.rb +22 -0
  139. data/spec/support/stage_factory.rb +138 -0
  140. data/spec/support/task.rb +23 -0
  141. metadata +381 -0
@@ -0,0 +1,78 @@
1
+ ##############################################################################
2
+ # File:: ppms.rb
3
+ # Purpose:: Interface to ppms functionality in admin module
4
+ #
5
+ # Author:: Jeff McAffee 2015-06-23
6
+ #
7
+ ##############################################################################
8
+
9
+ require 'admin_module/pages'
10
+
11
+ module AdminModule
12
+
13
+ class Ppms
14
+ attr_reader :page_factory
15
+
16
+ def initialize(page_factory)
17
+ @page_factory = page_factory
18
+ end
19
+
20
+ def list
21
+ ppms_page.get_ppms_data
22
+ end
23
+
24
+ def dups
25
+ all_ppms = ppms_page.get_ppms_with_ids
26
+
27
+ seen = Hash.new
28
+ duplicates = Array.new
29
+
30
+ all_ppms.each do |pdata|
31
+ if seen.has_key?(pdata[:name])
32
+ duplicates << pdata
33
+ duplicates << seen[pdata[:name]]
34
+ end
35
+
36
+ seen[pdata[:name]] = pdata
37
+ end
38
+
39
+ duplicates.sort! { |a,b| a[:name] <=> b[:name] }
40
+ end
41
+
42
+ def export file_path
43
+ File.open(file_path, 'w') do |f|
44
+ f.write list.to_yaml
45
+ end
46
+
47
+ rescue Exception => e
48
+ if e.message.include? 'No such file or directory'
49
+ raise IOError, "No such directory - #{file_path}"
50
+ else
51
+ raise e
52
+ end
53
+ end
54
+
55
+ ##
56
+ # Import lock configurations into the current environment from a file.
57
+
58
+ def import file_path
59
+ raise IOError, "File not found: #{file_path}" unless File.exists?(file_path)
60
+
61
+ ppms = Array.new
62
+ File.open(file_path, 'r') do |f|
63
+ # Read array of PPM names
64
+ ppms = YAML.load(f)
65
+ end
66
+
67
+ ppms_page
68
+ .set_ppms_data(ppms)
69
+ .save
70
+ end
71
+
72
+ private
73
+
74
+ def ppms_page
75
+ page_factory.ppms_page
76
+ end
77
+ end # class Ppms
78
+ end # module
@@ -0,0 +1,22 @@
1
+ ##############################################################################
2
+ # File:: rake.rb
3
+ # Purpose:: Pull in all rake task classes
4
+ #
5
+ # Author:: Jeff McAffee 03/19/2014
6
+ #
7
+ ##############################################################################
8
+
9
+ require 'admin_module'
10
+
11
+ module AdminModule::Rake
12
+ end
13
+
14
+ require_relative 'rake/gdl_tasks'
15
+ require_relative 'rake/stage_tasks'
16
+ require_relative 'rake/lock_tasks'
17
+ require_relative 'rake/dc_tasks'
18
+ require_relative 'rake/snapshot_tasks'
19
+ require_relative 'rake/task_tasks'
20
+ require_relative 'rake/rule_tasks'
21
+ require_relative 'rake/ppm_tasks'
22
+
@@ -0,0 +1,185 @@
1
+ ##############################################################################
2
+ # File:: dc_tasks.rb
3
+ # Purpose:: DcTasks definition
4
+ #
5
+ # Author:: Jeff McAffee 04/02/2015
6
+ #
7
+ ##############################################################################
8
+
9
+ require 'admin_module'
10
+ require 'rake/dsl_definition'
11
+ require 'rake'
12
+
13
+ module AdminModule::Rake
14
+ class DcTasks
15
+ include ::Rake::DSL if defined?(::Rake::DSL)
16
+
17
+ attr_accessor :env
18
+ attr_accessor :name
19
+ attr_accessor :to
20
+ attr_accessor :path
21
+ attr_reader :action
22
+ attr_reader :valid_actions
23
+ attr_reader :stop_on_exception
24
+
25
+ def initialize(task_name = 'dcs_task', desc = "Modify DC definition(s)")
26
+ @valid_actions = ['import', 'export', 'read', 'list', 'rename']
27
+ @task_name, @desc = task_name, desc
28
+
29
+ @stop_on_exception = true
30
+
31
+ yield self if block_given?
32
+
33
+ define_task
34
+ end
35
+
36
+ def define_task #:nodoc:
37
+ desc @desc
38
+ task(@task_name, required_args_for_action) do |t,args|
39
+ set_vars args
40
+ commit # Call method to perform when invoked.
41
+ end
42
+ end
43
+
44
+ def set_vars args
45
+ args.each do |arg,val|
46
+ instance_variable_set "@#{arg}", val
47
+ end
48
+
49
+ args
50
+ end
51
+
52
+ def action=(task_action)
53
+ raise "action must be one of #{valid_types.join(', ')}" unless valid_actions.include?(task_action.downcase)
54
+ @action = task_action
55
+ end
56
+
57
+ def stop_on_exception=(do_stop)
58
+ raise ArgumentError, 'Expecting true or false' unless do_stop === true || do_stop === false
59
+ @stop_on_exception = do_stop
60
+ end
61
+
62
+ def commit
63
+ validate_params
64
+
65
+ client = AdminModule::Client.new
66
+ client.env = env
67
+
68
+ if self.respond_to? action
69
+ self.send(action, client)
70
+ return
71
+ else
72
+ raise "Unknown action - #{action}"
73
+ end
74
+
75
+ rescue Exception => e
76
+ raise e if stop_on_exception == true
77
+ ensure
78
+ client.quit
79
+ end
80
+
81
+ def list client
82
+ $stdout << client.dcs.list.join("\n")
83
+ $stdout << "\n"
84
+ end
85
+
86
+ def read client
87
+ result = {}
88
+ result[name] = client.dcs.read(name)
89
+ $stdout << result.to_yaml
90
+ end
91
+
92
+ def import client
93
+ $stdout << client.dcs.import(path)
94
+ end
95
+
96
+ def export client
97
+ $stdout << client.dcs.export(path)
98
+ end
99
+
100
+ def rename client
101
+ $stdout << client.dcs.rename(name, to)
102
+ end
103
+
104
+ def validate_params
105
+ assert_provided env, 'Missing "env"'
106
+ assert_provided action, 'Missing "action"'
107
+
108
+ case action
109
+ when 'import'
110
+ assert_provided path, 'Missing "path"'
111
+
112
+ when 'export'
113
+ assert_provided path, 'Missing "path"'
114
+
115
+ when 'read'
116
+ assert_provided name, 'Missing "name"'
117
+
118
+ when 'rename'
119
+ assert_provided name, 'Missing "name"'
120
+ assert_provided to, 'Missing "to"'
121
+
122
+ end
123
+
124
+ assert_env_is_configured env
125
+ end
126
+
127
+ def assert_provided value, msg
128
+ if value.nil? || value.empty?
129
+ raise msg
130
+ end
131
+ end
132
+
133
+ def assert_env_is_configured arg
134
+ unless AdminModule.configuration.credentials.key? arg
135
+ init_msg = "Have you initialized your config file?\n Try: admin_module config init <filedir>"
136
+ env_msg = "Have you configured your environments?\n Try: admin_module config add env <envname> <url>"
137
+ raise "Unknown environment: #{arg}\n#{init_msg}\n\n#{env_msg}"
138
+ end
139
+ end
140
+
141
+ def required_args_for_action
142
+ args = []
143
+
144
+ case action
145
+ when 'read'
146
+ args << :name
147
+
148
+ when 'rename'
149
+ args << :name
150
+ args << :to
151
+
152
+ when 'import'
153
+ args << :path
154
+
155
+ when 'export'
156
+ args << :path
157
+
158
+ else
159
+ # Noop
160
+ end
161
+
162
+ args
163
+ end
164
+
165
+ class << self
166
+ def install
167
+ new.install
168
+ end
169
+ end
170
+
171
+ def install
172
+ AdminModule.configuration.credentials.keys.each do |e|
173
+ valid_actions.each do |action|
174
+ AdminModule::Rake::DcTasks.new("am:#{e}:dc:#{action}", "#{action} #{e} DC defn(s)") do |t|
175
+ t.env = e
176
+ t.action = action
177
+ end
178
+ end
179
+ end
180
+ end
181
+ end # class
182
+ end # module
183
+
184
+ AdminModule::Rake::DcTasks.install
185
+
@@ -0,0 +1,59 @@
1
+ ##############################################################################
2
+ # File:: deploy_task.rb
3
+ # Purpose:: DeployTask definition
4
+ #
5
+ # Author:: Jeff McAffee 03/19/2014
6
+ # Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
7
+ # Website:: http://ktechsystems.com
8
+ ##############################################################################
9
+
10
+ require 'admin_module'
11
+ require 'rake/dsl_definition'
12
+ require 'rake'
13
+
14
+ module AdminModule::Rake
15
+
16
+ class DeployTask
17
+ include ::Rake::DSL if defined?(::Rake::DSL)
18
+
19
+ attr_accessor :env
20
+ attr_accessor :commit_msg
21
+ attr_accessor :target
22
+
23
+ def initialize(task_name = 'deploy', desc = 'Deploy guideline xml files')
24
+ @task_name, @desc = task_name, desc
25
+
26
+ yield self if block_given?
27
+
28
+ define_task
29
+ end
30
+
31
+ def define_task #:nodoc:
32
+ desc @desc
33
+ task @task_name do
34
+ deploy
35
+ end
36
+ end
37
+
38
+ def files
39
+ @files ||= []
40
+ end
41
+
42
+ def files=(file_list)
43
+ @files ||= []
44
+ @files += Array(file_list)
45
+ end
46
+
47
+ def deploy
48
+ cli = AdminModule::CLI.new
49
+ cli.environment = env
50
+ if files.size == 1
51
+ cli.deploy(files, target, commit_msg)
52
+ else
53
+ cli.deploy_files(files, commit_msg)
54
+ end
55
+ ensure
56
+ cli.quit
57
+ end
58
+ end # class DeployTask
59
+ end # module AdminModule::Task
@@ -0,0 +1,189 @@
1
+ ##############################################################################
2
+ # File:: gdl_tasks.rb
3
+ # Purpose:: GdlTasks definition
4
+ #
5
+ # Author:: Jeff McAffee 2015-03-11
6
+ # Copyright:: Copyright (c) 2015, kTech Systems LLC. All rights reserved.
7
+ # Website:: http://ktechsystems.com
8
+ ##############################################################################
9
+
10
+ require 'admin_module'
11
+ require 'rake/dsl_definition'
12
+ require 'rake'
13
+
14
+ module AdminModule::Rake
15
+
16
+ class GdlTasks
17
+ include ::Rake::DSL if defined?(::Rake::DSL)
18
+
19
+ attr_accessor :env
20
+ attr_accessor :name
21
+ attr_accessor :comments
22
+ attr_accessor :path
23
+ attr_reader :action
24
+ attr_reader :valid_actions
25
+ attr_reader :stop_on_exception
26
+
27
+ def initialize(task_name = 'gdls_task', desc = "Modify a gdl or gdls")
28
+ @valid_actions = ['deploy', 'version']
29
+ @task_name, @desc = task_name, desc
30
+
31
+ @stop_on_exception = true
32
+
33
+ yield self if block_given?
34
+
35
+ define_task
36
+ end
37
+
38
+ def define_task #:nodoc:
39
+ desc @desc
40
+ task(@task_name, required_args_for_action) do |t,args|
41
+ set_vars args
42
+ commit # Call method to perform when invoked.
43
+ end
44
+ end
45
+
46
+ def set_vars args
47
+ args.each do |arg,val|
48
+ instance_variable_set "@#{arg}", val
49
+ end
50
+
51
+ args
52
+ end
53
+
54
+ def action=(task_action)
55
+ raise "action must be one of #{valid_types.join(', ')}" unless valid_actions.include?(task_action.downcase)
56
+ @action = task_action
57
+ end
58
+
59
+ def stop_on_exception=(do_stop)
60
+ raise ArgumentError, 'Expecting true or false' unless do_stop === true || do_stop === false
61
+ @stop_on_exception = do_stop
62
+ end
63
+
64
+ def commit
65
+ validate_params
66
+
67
+ client = AdminModule::Client.new
68
+ client.env = env
69
+
70
+ if self.respond_to? action
71
+ self.send(action, client)
72
+ return
73
+ else
74
+ raise "Unknown action - #{action}"
75
+ end
76
+
77
+ rescue Exception => e
78
+ raise e if stop_on_exception == true
79
+ ensure
80
+ client.quit unless client.nil?
81
+ end
82
+
83
+ def deploy client
84
+ real_path = Pathname(path)
85
+ if real_path.directory?
86
+ client.guideline.deploy(path, comments)
87
+ else
88
+ client.guideline.deploy_file(path, comments)
89
+ end
90
+ end
91
+
92
+ def version client
93
+ client.guideline.version(name, comments)
94
+ end
95
+
96
+ def default_params
97
+ if comments.nil? || comments.empty?
98
+ self.comments = AdminModule.configuration.default_comment
99
+ unless comments.nil? || comments.empty?
100
+ $stdout << "Using default comment - #{comments}\n"
101
+ end
102
+ end
103
+
104
+ if path.nil? || path.empty?
105
+ build_dir = Pathname('build')
106
+ if build_dir.exist? && build_dir.directory?
107
+ # Must be an absolute path:
108
+ self.path = build_dir.expand_path.to_s
109
+ $stdout << "Using default path - #{path}\n"
110
+ end
111
+ end
112
+ end
113
+
114
+ def validate_params
115
+ assert_provided env, 'Missing "env"'
116
+ assert_provided action, 'Missing "action"'
117
+
118
+ default_params
119
+
120
+ case action
121
+ when 'deploy'
122
+ assert_provided path, 'Missing "path"'
123
+
124
+ when 'version'
125
+ assert_provided name, 'Missing "name"'
126
+
127
+ end
128
+
129
+ assert_env_is_configured env
130
+ end
131
+
132
+ def assert_provided value, msg
133
+ if value.nil? || value.empty?
134
+ raise msg
135
+ end
136
+ end
137
+
138
+ def assert_env_is_configured arg
139
+ unless AdminModule.configuration.credentials.key? arg
140
+ init_msg = "Have you initialized your config file?\n Try: admin_module config init <filedir>"
141
+ env_msg = "Have you configured your environments?\n Try: admin_module config add env <envname> <url>"
142
+ raise "Unknown environment: #{arg}\n#{init_msg}\n\n#{env_msg}"
143
+ end
144
+ end
145
+
146
+ #
147
+ # Define the task arguments (and their order) required for a given action
148
+ #
149
+
150
+ def required_args_for_action
151
+ args = []
152
+
153
+ case action
154
+ when 'deploy'
155
+ args << :comments
156
+ args << :path
157
+
158
+ when 'version'
159
+ args << :name
160
+ args << :comments
161
+
162
+ else
163
+ # Noop
164
+ end
165
+
166
+ args
167
+ end
168
+
169
+ class << self
170
+ def install
171
+ new.install
172
+ end
173
+ end
174
+
175
+ def install
176
+ AdminModule.configuration.credentials.keys.each do |e|
177
+ valid_actions.each do |action|
178
+ AdminModule::Rake::GdlTasks.new("am:#{e}:gdl:#{action}", "#{action} #{e} gdl(s)") do |t|
179
+ t.env = e
180
+ t.action = action
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end # class
186
+ end # module
187
+
188
+ AdminModule::Rake::GdlTasks.install
189
+