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.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.rspec +3 -0
- data/Gemfile +14 -0
- data/Guardfile +24 -0
- data/LICENSE +22 -0
- data/README.md +281 -0
- data/Rakefile +98 -0
- data/admin_module.gemspec +34 -0
- data/bin/admin_module +13 -0
- data/lib/admin_module.rb +260 -0
- data/lib/admin_module/cli.rb +54 -0
- data/lib/admin_module/cli/cli_guideline.rb +80 -0
- data/lib/admin_module/cli/cli_lock.rb +149 -0
- data/lib/admin_module/cli/cli_parameter.rb +66 -0
- data/lib/admin_module/cli/cli_task.rb +149 -0
- data/lib/admin_module/cli_old.rb +92 -0
- data/lib/admin_module/client.rb +146 -0
- data/lib/admin_module/command.rb +25 -0
- data/lib/admin_module/command/client_access.rb +43 -0
- data/lib/admin_module/command/config.rb +310 -0
- data/lib/admin_module/command/dc.rb +110 -0
- data/lib/admin_module/command/gdl.rb +71 -0
- data/lib/admin_module/command/lock.rb +110 -0
- data/lib/admin_module/command/ppm.rb +142 -0
- data/lib/admin_module/command/rule.rb +77 -0
- data/lib/admin_module/command/ruleset.rb +56 -0
- data/lib/admin_module/command/snapshot.rb +110 -0
- data/lib/admin_module/command/stage.rb +131 -0
- data/lib/admin_module/command/task.rb +110 -0
- data/lib/admin_module/config_helper.rb +33 -0
- data/lib/admin_module/dc.rb +133 -0
- data/lib/admin_module/guideline.rb +86 -0
- data/lib/admin_module/locks.rb +142 -0
- data/lib/admin_module/page_factory.rb +55 -0
- data/lib/admin_module/pages.rb +120 -0
- data/lib/admin_module/pages/dc_definitions_page.rb +73 -0
- data/lib/admin_module/pages/dc_detail_page.rb +187 -0
- data/lib/admin_module/pages/guideline_page.rb +35 -0
- data/lib/admin_module/pages/guideline_version_page.rb +140 -0
- data/lib/admin_module/pages/guidelines_page.rb +59 -0
- data/lib/admin_module/pages/guidelines_version_all_page.rb +116 -0
- data/lib/admin_module/pages/lock_definition_page.rb +178 -0
- data/lib/admin_module/pages/lock_definitions_page.rb +69 -0
- data/lib/admin_module/pages/login_page.rb +75 -0
- data/lib/admin_module/pages/parameter_page.rb +62 -0
- data/lib/admin_module/pages/parameters_page.rb +46 -0
- data/lib/admin_module/pages/ppms_page.rb +110 -0
- data/lib/admin_module/pages/rule_page.rb +68 -0
- data/lib/admin_module/pages/rules_page.rb +74 -0
- data/lib/admin_module/pages/ruleset_page.rb +64 -0
- data/lib/admin_module/pages/rulesets_page.rb +60 -0
- data/lib/admin_module/pages/select_list_syncable.rb +64 -0
- data/lib/admin_module/pages/snapshot_definitions_page.rb +73 -0
- data/lib/admin_module/pages/snapshot_detail_page.rb +246 -0
- data/lib/admin_module/pages/workflow_detail_page.rb +451 -0
- data/lib/admin_module/pages/workflow_detail_task_addl_detail_page.rb +172 -0
- data/lib/admin_module/pages/workflow_detail_task_mappings_page.rb +163 -0
- data/lib/admin_module/pages/workflow_detail_task_screens_page.rb +75 -0
- data/lib/admin_module/pages/workflow_details_page.rb +67 -0
- data/lib/admin_module/pages/workflow_task_page.rb +107 -0
- data/lib/admin_module/pages/workflow_tasks_page.rb +111 -0
- data/lib/admin_module/ppms.rb +78 -0
- data/lib/admin_module/rake.rb +22 -0
- data/lib/admin_module/rake/dc_tasks.rb +185 -0
- data/lib/admin_module/rake/deploy_task.rb +59 -0
- data/lib/admin_module/rake/gdl_tasks.rb +189 -0
- data/lib/admin_module/rake/lock_tasks.rb +189 -0
- data/lib/admin_module/rake/parameter_task.rb +86 -0
- data/lib/admin_module/rake/ppm_tasks.rb +248 -0
- data/lib/admin_module/rake/rule_tasks.rb +157 -0
- data/lib/admin_module/rake/snapshot_tasks.rb +223 -0
- data/lib/admin_module/rake/stage_tasks.rb +197 -0
- data/lib/admin_module/rake/stages_task.rb +197 -0
- data/lib/admin_module/rake/task_tasks.rb +189 -0
- data/lib/admin_module/rules.rb +50 -0
- data/lib/admin_module/rulesets.rb +42 -0
- data/lib/admin_module/snapshots.rb +133 -0
- data/lib/admin_module/stages.rb +171 -0
- data/lib/admin_module/tasks.rb +147 -0
- data/lib/admin_module/version.rb +3 -0
- data/old_spec/lib/admin_module/cli_configuration_spec.rb +126 -0
- data/old_spec/lib/admin_module/cli_create_stage_spec.rb +89 -0
- data/old_spec/lib/admin_module/cli_delete_rule_spec.rb +57 -0
- data/old_spec/lib/admin_module/cli_deploy_spec.rb +57 -0
- data/old_spec/lib/admin_module/cli_export_locks_spec.rb +62 -0
- data/old_spec/lib/admin_module/cli_export_stages_spec.rb +62 -0
- data/old_spec/lib/admin_module/cli_guidelines_version_all_spec.rb +58 -0
- data/old_spec/lib/admin_module/cli_import_locks_spec.rb +153 -0
- data/old_spec/lib/admin_module/cli_import_stages_spec.rb +173 -0
- data/old_spec/lib/admin_module/cli_modify_locks_spec.rb +128 -0
- data/old_spec/lib/admin_module/cli_modify_stages_spec.rb +88 -0
- data/old_spec/lib/admin_module/cli_rename_rule_spec.rb +53 -0
- data/old_spec/lib/admin_module/cli_rename_ruleset_spec.rb +53 -0
- data/old_spec/lib/admin_module/cli_var_spec.rb +41 -0
- data/old_spec/lib/admin_module/rake/deploy_task_spec.rb +85 -0
- data/old_spec/lib/admin_module/rake/parameter_task_spec.rb +58 -0
- data/old_spec/lib/admin_module/rake/rules_task_spec.rb +75 -0
- data/spec/data/build/test1.xml +0 -0
- data/spec/data/build/test2.xml +1 -0
- data/spec/data/import_dcs.yml +31 -0
- data/spec/data/import_locks.yml +4 -0
- data/spec/data/import_snapshots.yml +35 -0
- data/spec/data/import_stages.yml +4 -0
- data/spec/data/import_tasks.yml +25 -0
- data/spec/data/patch-test.xml +1 -0
- data/spec/data/remove_test_del_rule.xml +1 -0
- data/spec/data/stages.yml +518 -0
- data/spec/data/test_del_rule.xml +1 -0
- data/spec/lib/admin_module/admin_module_spec.rb +175 -0
- data/spec/lib/admin_module/cli_spec.rb +36 -0
- data/spec/lib/admin_module/client_spec.rb +158 -0
- data/spec/lib/admin_module/command/config_spec.rb +477 -0
- data/spec/lib/admin_module/command/dc_spec.rb +202 -0
- data/spec/lib/admin_module/command/gdl_spec.rb +139 -0
- data/spec/lib/admin_module/command/lock_spec.rb +207 -0
- data/spec/lib/admin_module/command/rule_spec.rb +163 -0
- data/spec/lib/admin_module/command/ruleset_spec.rb +124 -0
- data/spec/lib/admin_module/command/snapshot_spec.rb +202 -0
- data/spec/lib/admin_module/command/stage_spec.rb +259 -0
- data/spec/lib/admin_module/command/task_spec.rb +207 -0
- data/spec/lib/admin_module/dc_spec.rb +192 -0
- data/spec/lib/admin_module/guideline_spec.rb +177 -0
- data/spec/lib/admin_module/locks_spec.rb +188 -0
- data/spec/lib/admin_module/rules_spec.rb +110 -0
- data/spec/lib/admin_module/rulesets_spec.rb +85 -0
- data/spec/lib/admin_module/snapshot_spec.rb +192 -0
- data/spec/lib/admin_module/stages_spec.rb +179 -0
- data/spec/lib/admin_module/tasks_spec.rb +196 -0
- data/spec/spec_helper.rb +54 -0
- data/spec/support/asserts.rb +13 -0
- data/spec/support/data_clearing.rb +28 -0
- data/spec/support/dirs.rb +54 -0
- data/spec/support/helpers.rb +83 -0
- data/spec/support/lock.rb +23 -0
- data/spec/support/mocks.rb +213 -0
- data/spec/support/snapshot.rb +28 -0
- data/spec/support/stage.rb +22 -0
- data/spec/support/stage_factory.rb +138 -0
- data/spec/support/task.rb +23 -0
- metadata +381 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: stages_task.rb
|
|
3
|
+
# Purpose:: StagesTask definition
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2015-03-10
|
|
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 StagesTask
|
|
17
|
+
include ::Rake::DSL if defined?(::Rake::DSL)
|
|
18
|
+
|
|
19
|
+
attr_accessor :env
|
|
20
|
+
attr_accessor :name
|
|
21
|
+
attr_accessor :to
|
|
22
|
+
attr_accessor :path
|
|
23
|
+
attr_accessor :allow_create
|
|
24
|
+
attr_reader :action
|
|
25
|
+
attr_reader :valid_actions
|
|
26
|
+
attr_reader :stop_on_exception
|
|
27
|
+
|
|
28
|
+
def initialize(task_name = 'stages_task', desc = "Modify a stage or stages")
|
|
29
|
+
@valid_actions = ['import', 'export', 'read', 'list', 'rename', 'delete']
|
|
30
|
+
@task_name, @desc = task_name, desc
|
|
31
|
+
|
|
32
|
+
@stop_on_exception = true
|
|
33
|
+
@allow_create = false
|
|
34
|
+
|
|
35
|
+
yield self if block_given?
|
|
36
|
+
|
|
37
|
+
define_task
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def define_task #:nodoc:
|
|
41
|
+
desc @desc
|
|
42
|
+
task(@task_name, required_args_for_action) do |t,args|
|
|
43
|
+
set_vars args
|
|
44
|
+
commit # Call method to perform when invoked.
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def set_vars args
|
|
49
|
+
args.each do |arg,val|
|
|
50
|
+
instance_variable_set "@#{arg}", val
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
args
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def action=(task_action)
|
|
57
|
+
raise "action must be one of #{valid_actions.join(', ')}" unless valid_actions.include?(task_action.downcase)
|
|
58
|
+
@action = task_action
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def stop_on_exception=(do_stop)
|
|
62
|
+
raise ArgumentError, 'Expecting true or false' unless do_stop === true || do_stop === false
|
|
63
|
+
@stop_on_exception = do_stop
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def commit
|
|
67
|
+
validate_params
|
|
68
|
+
|
|
69
|
+
client = AdminModule::Client.new
|
|
70
|
+
client.env = env
|
|
71
|
+
|
|
72
|
+
if self.respond_to? action
|
|
73
|
+
self.send(action, client)
|
|
74
|
+
return
|
|
75
|
+
else
|
|
76
|
+
raise "Unknown action - #{action}"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
rescue Exception => e
|
|
80
|
+
raise e if stop_on_exception == true
|
|
81
|
+
ensure
|
|
82
|
+
client.logout unless client.nil?
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def list client
|
|
86
|
+
$stdout << client.stages.list.join("\n")
|
|
87
|
+
$stdout << "\n"
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def read client
|
|
91
|
+
result = {}
|
|
92
|
+
result[name] = client.stages.read(name)
|
|
93
|
+
$stdout << result.to_yaml
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def import client
|
|
97
|
+
$stdout << client.stages.import(path, allow_create)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def export client
|
|
101
|
+
$stdout << client.stages.export(path)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def rename client
|
|
105
|
+
$stdout << client.stages.rename(name, to)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def delete client
|
|
109
|
+
$stdout << client.stages.delete(name)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def validate_params
|
|
113
|
+
assert_provided env, 'Missing "env"'
|
|
114
|
+
assert_provided action, 'Missing "action"'
|
|
115
|
+
|
|
116
|
+
case action
|
|
117
|
+
when 'import'
|
|
118
|
+
assert_provided path, 'Missing "path"'
|
|
119
|
+
|
|
120
|
+
when 'export'
|
|
121
|
+
assert_provided path, 'Missing "path"'
|
|
122
|
+
|
|
123
|
+
when 'read'
|
|
124
|
+
assert_provided name, 'Missing "name"'
|
|
125
|
+
|
|
126
|
+
when 'rename'
|
|
127
|
+
assert_provided name, 'Missing "name"'
|
|
128
|
+
assert_provided to, 'Missing "to"'
|
|
129
|
+
|
|
130
|
+
when 'delete'
|
|
131
|
+
assert_provided name, 'Missing "name"'
|
|
132
|
+
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
assert_env_is_configured env
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def assert_provided value, msg
|
|
139
|
+
if value.nil? || value.empty?
|
|
140
|
+
raise msg
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def assert_env_is_configured arg
|
|
145
|
+
unless AdminModule.configuration.credentials.key? arg
|
|
146
|
+
init_msg = "Have you initialized your config file?\n Try: admin_module config init <filedir>"
|
|
147
|
+
env_msg = "Have you configured your environments?\n Try: admin_module config add env <envname> <url>"
|
|
148
|
+
raise "Unknown environment: #{arg}\n#{init_msg}\n\n#{env_msg}"
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def required_args_for_action
|
|
153
|
+
args = []
|
|
154
|
+
|
|
155
|
+
case action
|
|
156
|
+
when 'read','delete'
|
|
157
|
+
args << :name
|
|
158
|
+
|
|
159
|
+
when 'rename'
|
|
160
|
+
args << :name
|
|
161
|
+
args << :to
|
|
162
|
+
|
|
163
|
+
when 'import'
|
|
164
|
+
args << :path
|
|
165
|
+
args << :allow_create
|
|
166
|
+
|
|
167
|
+
when 'export'
|
|
168
|
+
args << :path
|
|
169
|
+
|
|
170
|
+
else
|
|
171
|
+
# Noop
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
args
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
class << self
|
|
178
|
+
def install
|
|
179
|
+
new.install
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def install
|
|
184
|
+
AdminModule.configuration.credentials.keys.each do |e|
|
|
185
|
+
valid_actions.each do |action|
|
|
186
|
+
AdminModule::Rake::StagesTask.new("am:#{e}:stage:#{action}", "#{action} #{e} stage(s)") do |t|
|
|
187
|
+
t.env = e
|
|
188
|
+
t.action = action
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
end # class
|
|
194
|
+
end # module
|
|
195
|
+
|
|
196
|
+
AdminModule::Rake::StagesTask.install
|
|
197
|
+
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: task_tasks.rb
|
|
3
|
+
# Purpose:: TaskTasks definition
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2015-04-20
|
|
6
|
+
#
|
|
7
|
+
##############################################################################
|
|
8
|
+
|
|
9
|
+
require 'admin_module'
|
|
10
|
+
require 'rake/dsl_definition'
|
|
11
|
+
require 'rake'
|
|
12
|
+
|
|
13
|
+
module AdminModule::Rake
|
|
14
|
+
|
|
15
|
+
class TaskTasks
|
|
16
|
+
include ::Rake::DSL if defined?(::Rake::DSL)
|
|
17
|
+
|
|
18
|
+
attr_accessor :env
|
|
19
|
+
attr_accessor :name
|
|
20
|
+
attr_accessor :to
|
|
21
|
+
attr_accessor :path
|
|
22
|
+
attr_accessor :allow_create
|
|
23
|
+
attr_reader :action
|
|
24
|
+
attr_reader :valid_actions
|
|
25
|
+
attr_reader :stop_on_exception
|
|
26
|
+
|
|
27
|
+
def initialize(task_name = 'tasks_task', desc = "Modify a task or tasks")
|
|
28
|
+
@valid_actions = ['import', 'export', 'read', 'list', 'rename']
|
|
29
|
+
@task_name, @desc = task_name, desc
|
|
30
|
+
|
|
31
|
+
@stop_on_exception = true
|
|
32
|
+
@allow_create = true
|
|
33
|
+
|
|
34
|
+
yield self if block_given?
|
|
35
|
+
|
|
36
|
+
define_task
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def define_task #:nodoc:
|
|
40
|
+
desc @desc
|
|
41
|
+
task(@task_name, required_args_for_action) do |t,args|
|
|
42
|
+
set_vars args
|
|
43
|
+
commit # Call method to perform when invoked.
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def set_vars args
|
|
48
|
+
args.each do |arg,val|
|
|
49
|
+
instance_variable_set "@#{arg}", val
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
args
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def action=(task_action)
|
|
56
|
+
raise "action must be one of #{valid_types.join(', ')}" unless valid_actions.include?(task_action.downcase)
|
|
57
|
+
@action = task_action
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def stop_on_exception=(do_stop)
|
|
61
|
+
raise ArgumentError, 'Expecting true or false' unless do_stop === true || do_stop === false
|
|
62
|
+
@stop_on_exception = do_stop
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def commit
|
|
66
|
+
validate_params
|
|
67
|
+
|
|
68
|
+
client = AdminModule::Client.new
|
|
69
|
+
client.env = env
|
|
70
|
+
|
|
71
|
+
if self.respond_to? action
|
|
72
|
+
self.send(action, client)
|
|
73
|
+
return
|
|
74
|
+
else
|
|
75
|
+
raise "Unknown action - #{action}"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
rescue Exception => e
|
|
79
|
+
raise e if stop_on_exception == true
|
|
80
|
+
ensure
|
|
81
|
+
client.quit
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def list client
|
|
85
|
+
$stdout << client.tasks.list.join("\n")
|
|
86
|
+
$stdout << "\n"
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def read client
|
|
90
|
+
result = {}
|
|
91
|
+
result[name] = client.tasks.read(name)
|
|
92
|
+
$stdout << result.to_yaml
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def import client
|
|
96
|
+
$stdout << client.tasks.import(path, allow_create)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def export client
|
|
100
|
+
$stdout << client.tasks.export(path)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def rename client
|
|
104
|
+
$stdout << client.tasks.rename(name, to)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def validate_params
|
|
108
|
+
assert_provided env, 'Missing "env"'
|
|
109
|
+
assert_provided action, 'Missing "action"'
|
|
110
|
+
|
|
111
|
+
case action
|
|
112
|
+
when 'import'
|
|
113
|
+
assert_provided path, 'Missing "path"'
|
|
114
|
+
|
|
115
|
+
when 'export'
|
|
116
|
+
assert_provided path, 'Missing "path"'
|
|
117
|
+
|
|
118
|
+
when 'read'
|
|
119
|
+
assert_provided name, 'Missing "name"'
|
|
120
|
+
|
|
121
|
+
when 'rename'
|
|
122
|
+
assert_provided name, 'Missing "name"'
|
|
123
|
+
assert_provided to, 'Missing "to"'
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
assert_env_is_configured env
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def assert_provided value, msg
|
|
131
|
+
if value.nil? || value.empty?
|
|
132
|
+
raise msg
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def assert_env_is_configured arg
|
|
137
|
+
unless AdminModule.configuration.credentials.key? arg
|
|
138
|
+
init_msg = "Have you initialized your config file?\n Try: admin_module config init <filedir>"
|
|
139
|
+
env_msg = "Have you configured your environments?\n Try: admin_module config add env <envname> <url>"
|
|
140
|
+
raise "Unknown environment: #{arg}\n#{init_msg}\n\n#{env_msg}"
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def required_args_for_action
|
|
145
|
+
args = []
|
|
146
|
+
|
|
147
|
+
case action
|
|
148
|
+
when 'read'
|
|
149
|
+
args << :name
|
|
150
|
+
|
|
151
|
+
when 'rename'
|
|
152
|
+
args << :name
|
|
153
|
+
args << :to
|
|
154
|
+
|
|
155
|
+
when 'import'
|
|
156
|
+
args << :path
|
|
157
|
+
args << :allow_create
|
|
158
|
+
|
|
159
|
+
when 'export'
|
|
160
|
+
args << :path
|
|
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::TaskTasks.new("am:#{e}:task:#{action}", "#{action} #{e} task(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::TaskTasks.install
|
|
189
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: rules.rb
|
|
3
|
+
# Purpose:: Interface to rules functionality in admin module
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2014-07-17
|
|
6
|
+
# Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
|
|
7
|
+
# Website:: http://ktechsystems.com
|
|
8
|
+
##############################################################################
|
|
9
|
+
|
|
10
|
+
require 'admin_module/pages'
|
|
11
|
+
|
|
12
|
+
module AdminModule
|
|
13
|
+
|
|
14
|
+
class Rules
|
|
15
|
+
attr_reader :page_factory
|
|
16
|
+
|
|
17
|
+
def initialize(page_factory)
|
|
18
|
+
@page_factory = page_factory
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def rename src, dest
|
|
22
|
+
current_rules = list
|
|
23
|
+
fail ArgumentError.new("A rule named '#{src}' does not exist") unless current_rules.include? src
|
|
24
|
+
fail ArgumentError.new("A rule named '#{dest}' already exists") if current_rules.include? dest
|
|
25
|
+
|
|
26
|
+
rules_page
|
|
27
|
+
.open_rule(src)
|
|
28
|
+
.set_name(dest)
|
|
29
|
+
.save
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def list
|
|
33
|
+
rules_page.get_rules
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def delete rule
|
|
37
|
+
current_rules = list
|
|
38
|
+
fail ArgumentError.new("A rule named '#{rule}' does not exist") unless current_rules.include? rule
|
|
39
|
+
|
|
40
|
+
rules_page
|
|
41
|
+
.delete_rule rule
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
private
|
|
45
|
+
|
|
46
|
+
def rules_page
|
|
47
|
+
page_factory.rules_page
|
|
48
|
+
end
|
|
49
|
+
end # class Rules
|
|
50
|
+
end # module
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: rulesets.rb
|
|
3
|
+
# Purpose:: Interface to rulesets functionality in admin module
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2014-07-17
|
|
6
|
+
# Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
|
|
7
|
+
# Website:: http://ktechsystems.com
|
|
8
|
+
##############################################################################
|
|
9
|
+
|
|
10
|
+
require 'admin_module/pages'
|
|
11
|
+
|
|
12
|
+
module AdminModule
|
|
13
|
+
|
|
14
|
+
class Rulesets
|
|
15
|
+
attr_reader :page_factory
|
|
16
|
+
|
|
17
|
+
def initialize(page_factory)
|
|
18
|
+
@page_factory = page_factory
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def rename src, dest
|
|
22
|
+
current_rulesets = list
|
|
23
|
+
fail ArgumentError.new("A ruleset named '#{src}' does not exist") unless current_rulesets.include? src
|
|
24
|
+
fail ArgumentError.new("A ruleset named '#{dest}' already exists") if current_rulesets.include? dest
|
|
25
|
+
|
|
26
|
+
rulesets_page
|
|
27
|
+
.open_ruleset(src)
|
|
28
|
+
.set_name(dest)
|
|
29
|
+
.save
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def list
|
|
33
|
+
rulesets_page.get_rulesets
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
private
|
|
37
|
+
|
|
38
|
+
def rulesets_page
|
|
39
|
+
page_factory.rulesets_page
|
|
40
|
+
end
|
|
41
|
+
end # class Rulesets
|
|
42
|
+
end # module
|