lorj 1.0.9 → 1.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +2 -0
- data/example/students_1/process/students.rb +1 -1
- data/example/students_1/student_v1.md +2 -0
- data/example/students_1/students.rb +2 -1
- data/example/students_2/process/students.rb +1 -1
- data/example/students_2/students.rb +4 -2
- data/example/students_3/controller/yaml_students_def.rb +1 -1
- data/example/students_3/process/students.rb +1 -1
- data/example/students_3/student_v3.md +5 -3
- data/example/students_3/students.rb +5 -3
- data/example/students_4/controller/yaml_students_def.rb +1 -1
- data/example/students_4/process/students/definition/students.rb +1 -1
- data/example/students_4/students.rb +5 -3
- data/example/students_5/controller/yaml_students.rb +1 -1
- data/example/students_5/process/students.rb +1 -1
- data/example/students_5/student_v5.md +4 -4
- data/example/students_5/students.rb +8 -7
- data/example/yaml_students/students.rb +4 -4
- data/lib/core/core.rb +110 -64
- data/lib/core/core_internal.rb +110 -15
- data/lib/core/core_object_data.rb +4 -4
- data/lib/core/core_process_setup.rb +3 -30
- data/lib/core/lorj_data.rb +1 -1
- data/lib/core/lorj_keypath.rb +3 -1
- data/lib/core/process.rb +67 -0
- data/lib/lorj/version.rb +2 -1
- data/lib/lorj.rb +3 -4
- data/lib/lorj_account.rb +6 -5
- data/lib/lorj_config.rb +3 -2
- data/lib/providers/templates/compute.rb +1 -1
- data/lorj-spec/controllers/mock/mock.rb +144 -0
- data/lorj-spec/data.yaml +0 -0
- data/lorj-spec/process/mock2_process.rb +48 -0
- data/lorj-spec/process/mock_process.rb +48 -0
- data/lorj-spec/providers/mock2/mock2.rb +0 -0
- data/lorj.gemspec +2 -4
- data/spec/05_lorj_keypath_spec.rb +78 -0
- data/spec/20_lorj_meta_spec.rb +1 -1
- data/spec/21_lorj_processes_spec.rb +115 -0
- metadata +27 -42
- data/lib/core_process/cloud/process/common.rb +0 -60
- data/lib/core_process/cloud/process/connection.rb +0 -92
- data/lib/core_process/cloud/process/external_network.rb +0 -90
- data/lib/core_process/cloud/process/flavor.rb +0 -97
- data/lib/core_process/cloud/process/images.rb +0 -99
- data/lib/core_process/cloud/process/internet_network.rb +0 -33
- data/lib/core_process/cloud/process/internet_server.rb +0 -29
- data/lib/core_process/cloud/process/keypairs.rb +0 -332
- data/lib/core_process/cloud/process/network.rb +0 -107
- data/lib/core_process/cloud/process/public_ip.rb +0 -102
- data/lib/core_process/cloud/process/router.rb +0 -267
- data/lib/core_process/cloud/process/rules.rb +0 -120
- data/lib/core_process/cloud/process/security_groups.rb +0 -120
- data/lib/core_process/cloud/process/server.rb +0 -126
- data/lib/core_process/cloud/process/server_log.rb +0 -34
- data/lib/core_process/cloud/process/subnetwork.rb +0 -96
- data/lib/core_process/cloud_process.rb +0 -30
- data/lib/prc_base_config.rb +0 -300
- data/lib/prc_core_config.rb +0 -1258
- data/lib/prc_section_config.rb +0 -90
- data/lib/providers/hpcloud/compute.rb +0 -105
- data/lib/providers/hpcloud/hpcloud.rb +0 -462
- data/lib/providers/hpcloud/network.rb +0 -115
- data/lib/providers/hpcloud/security_groups.rb +0 -68
- data/lib/providers/openstack/openstack.rb +0 -410
- data/lib/providers/openstack/openstack_create.rb +0 -205
- data/lib/providers/openstack/openstack_delete.rb +0 -28
- data/lib/providers/openstack/openstack_get.rb +0 -39
- data/lib/providers/openstack/openstack_process.rb +0 -26
- data/lib/providers/openstack/openstack_query.rb +0 -96
- data/lib/providers/openstack/openstack_update.rb +0 -35
- data/lib/rh.rb +0 -426
- data/spec/01_hash_rh_spec.rb +0 -282
- data/spec/02_prc_base_config_spec.rb +0 -227
- data/spec/03_prc_section_config_spec.rb +0 -196
- data/spec/04_prc_core_config_spec.rb +0 -325
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66366295d6d2bd7fe5249ae3a23204fbf6feb041
|
4
|
+
data.tar.gz: 5f82817cfe94a3663ff15a0b2084da299fde4a43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3bc6abf89ad95748426300653103cf351ffcbc49ae1c319e6a77118444ccc819e88c8869cba6dac1a8f43ebd1e1e1720c855477a7ed8808b59d31b356ec2dc4
|
7
|
+
data.tar.gz: 8b0d0a9af74d981cb61a0f2330b697edffee5a0451071ba4ef4dc62a04184f91ca5c999b77de4993291c46a10b64b40e1b7be3485f11e2d2a86ea81142607078
|
data/.rspec
ADDED
@@ -18,6 +18,8 @@ First of all, write your first main. Create a file `example.rb` with following c
|
|
18
18
|
|
19
19
|
# Initialize the framework
|
20
20
|
processes = [ File.join(app_path, 'process', 'students.rb')]
|
21
|
+
processes = []
|
22
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb') }
|
21
23
|
student_core = Lorj::Core.new( nil, processes)
|
22
24
|
|
23
25
|
# Ask the framework to create the object student 'Robert Redford'
|
@@ -30,7 +30,8 @@ require 'lorj'
|
|
30
30
|
# PrcLib.core_level = 3 # framework debug levels.
|
31
31
|
|
32
32
|
# Initialize the framework
|
33
|
-
processes = [
|
33
|
+
processes = []
|
34
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb') }
|
34
35
|
|
35
36
|
student_core = Lorj::Core.new(nil, processes)
|
36
37
|
|
@@ -42,7 +42,7 @@ class Lorj::BaseDefinition # rubocop: disable Style/ClassAndModuleChildren
|
|
42
42
|
:get_e => :controller_get,
|
43
43
|
# We use predefined call to the controller delete
|
44
44
|
:delete_e => :controller_delete
|
45
|
-
|
45
|
+
)
|
46
46
|
|
47
47
|
obj_needs :data, :student_name, :for => [:create_e], :mapping => :name
|
48
48
|
end
|
@@ -30,10 +30,12 @@ require 'lorj'
|
|
30
30
|
# PrcLib.core_level = 3 # framework debug levels.
|
31
31
|
|
32
32
|
# Initialize the framework
|
33
|
-
processes = [
|
33
|
+
processes = []
|
34
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb'),
|
35
|
+
:controller_name => :mock }
|
34
36
|
|
35
37
|
# byebug if ENV['BYEBUG'] # rubocop: disable Debugger
|
36
|
-
student_core = Lorj::Core.new(nil, processes
|
38
|
+
student_core = Lorj::Core.new(nil, processes)
|
37
39
|
# Ask the framework to create the object student 'Robert Redford'
|
38
40
|
student_core.create(:student, :student_name => 'Robert Redford')
|
39
41
|
|
@@ -41,7 +41,7 @@ class YamlStudents
|
|
41
41
|
define_obj(:connection,
|
42
42
|
# Nothing complex to do. So, simply call the controller create.
|
43
43
|
:create_e => :controller_create
|
44
|
-
|
44
|
+
)
|
45
45
|
|
46
46
|
obj_needs :data, :connection_string, :mapping => :file_name
|
47
47
|
undefine_attribute :id # Do not return any predefined ID
|
@@ -42,7 +42,7 @@ class Lorj::BaseDefinition # rubocop: disable Style/ClassAndModuleChildren
|
|
42
42
|
:get_e => :controller_get,
|
43
43
|
# We use predefined call to the controller delete
|
44
44
|
:delete_e => :controller_delete
|
45
|
-
|
45
|
+
)
|
46
46
|
|
47
47
|
obj_needs :data, :student_name, :for => [:create_e], :mapping => :name
|
48
48
|
end
|
@@ -20,9 +20,11 @@ processes = [File.join(app_path, 'process', 'students.rb')]
|
|
20
20
|
# now we changed from mock to our own controller, located in
|
21
21
|
controller = File.join(app_path, 'controller', 'yaml_students.rb')
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
processes = []
|
24
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb'),
|
25
|
+
:controller_path => File.join(app_path, 'controller', 'yaml_students.rb') }
|
26
|
+
|
27
|
+
student_core = Lorj::Core.new(nil, processes)
|
26
28
|
```
|
27
29
|
|
28
30
|
Now, let's write the controller file.
|
@@ -30,15 +30,17 @@ PrcLib.level = Logger::DEBUG # Printed out to your console.
|
|
30
30
|
PrcLib.core_level = 3 # framework debug levels.
|
31
31
|
|
32
32
|
# Initialize the framework
|
33
|
-
processes = [
|
34
|
-
|
33
|
+
processes = []
|
34
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb'),
|
35
|
+
:controller_path => File.join(app_path, 'controller',
|
36
|
+
'yaml_students.rb') }
|
35
37
|
|
36
38
|
# now we changed from mock to our own controller, located in
|
37
39
|
# controller/yaml_students.rb
|
38
40
|
# student_core = Lorj::Core.new(nil, processes, :mock)
|
39
41
|
config = Lorj::Config.new
|
40
42
|
config[:connection_string] = '/tmp/students.yaml'
|
41
|
-
student_core = Lorj::Core.new(config, processes
|
43
|
+
student_core = Lorj::Core.new(config, processes)
|
42
44
|
|
43
45
|
# Ask the framework to create the object student 'Robert Redford'
|
44
46
|
student_core.create(:student, :student_name => 'Robert Redford')
|
@@ -41,7 +41,7 @@ class YamlStudents
|
|
41
41
|
define_obj(:connection,
|
42
42
|
# Nothing complex to do. So, simply call the controller create.
|
43
43
|
:create_e => :controller_create
|
44
|
-
|
44
|
+
)
|
45
45
|
|
46
46
|
obj_needs :data, :connection_string, :mapping => :file_name
|
47
47
|
undefine_attribute :id # Do not return any predefined ID
|
@@ -30,7 +30,7 @@ class Lorj::BaseDefinition # rubocop: disable Style/ClassAndModuleChildren
|
|
30
30
|
:get_e => :controller_get,
|
31
31
|
# We use predefined call to the controller delete
|
32
32
|
:delete_e => :controller_delete
|
33
|
-
|
33
|
+
)
|
34
34
|
|
35
35
|
# obj_needs is used to declare parameters to pass to handlers.
|
36
36
|
# :for indicates those parameters to be passed to create_e handler only.
|
@@ -30,15 +30,17 @@ PrcLib.level = Logger::DEBUG # Printed out to your console.
|
|
30
30
|
PrcLib.core_level = 3 # framework debug levels.
|
31
31
|
|
32
32
|
# Initialize the framework
|
33
|
-
processes = [
|
34
|
-
|
33
|
+
processes = []
|
34
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb'),
|
35
|
+
:controller_path => File.join(app_path, 'controller',
|
36
|
+
'yaml_students.rb') }
|
35
37
|
|
36
38
|
# now we changed from mock to our own controller, located in
|
37
39
|
# controller/yaml_students.rb
|
38
40
|
# student_core = Lorj::Core.new(nil, processes, :mock)
|
39
41
|
config = Lorj::Config.new
|
40
42
|
config[:connection_string] = '/tmp/students.yaml'
|
41
|
-
student_core = Lorj::Core.new(config, processes
|
43
|
+
student_core = Lorj::Core.new(config, processes)
|
42
44
|
|
43
45
|
# Ask the framework to create the object student 'Robert Redford'
|
44
46
|
student_core.create(:student, :student_name => 'Robert Redford')
|
@@ -70,7 +70,7 @@ class YamlStudents
|
|
70
70
|
define_obj(:connection,
|
71
71
|
# Nothing complex to do. So, simply call the controller create.
|
72
72
|
:create_e => :controller_create
|
73
|
-
|
73
|
+
)
|
74
74
|
|
75
75
|
obj_needs :data, :connection_string, :mapping => :file_name
|
76
76
|
undefine_attribute :id # Do not return any predefined ID
|
@@ -149,7 +149,7 @@ module Lorj
|
|
149
149
|
:query_e => :controller_query,
|
150
150
|
# We use predefined call to the controller delete
|
151
151
|
:delete_e => :controller_delete
|
152
|
-
|
152
|
+
)
|
153
153
|
|
154
154
|
# obj_needs is used to declare parameters to pass to handlers.
|
155
155
|
# :for indicates those parameters to be passed to create_e handler only.
|
@@ -136,12 +136,12 @@ This is a simple basic translation of `examples/yaml_students/students.rb`
|
|
136
136
|
# PrcLib.level = Logger::DEBUG # Printed out to your console.
|
137
137
|
# PrcLib.core_level = 3 # framework debug levels. Values between 0 to 5.
|
138
138
|
|
139
|
+
processes = []
|
140
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb'),
|
141
|
+
:controller_path => File.join(app_path, 'controller', 'yaml_students.rb') }
|
139
142
|
# Initialize the framework
|
140
|
-
hProcesses = [ File.join($APP_PATH, 'process', 'students.rb')]
|
141
143
|
|
142
|
-
|
143
|
-
#~ oStudentCore = Lorj::Core.new( nil, hProcesses, :mock)
|
144
|
-
oStudentCore = Lorj::Core.new( nil, hProcesses, File.join($APP_PATH, 'controller', 'yaml_students.rb'))
|
144
|
+
oStudentCore = Lorj::Core.new( nil, processes)
|
145
145
|
oStudentCore.Create(:connection, :connection_string => "/tmp/students.yaml")
|
146
146
|
|
147
147
|
puts ANSI.bold("Create 1st student:")
|
@@ -50,11 +50,12 @@ config = Lorj::Config.new # Use Simple Config Object
|
|
50
50
|
# PrcLib.core_level = 5 # framework debug levels.
|
51
51
|
|
52
52
|
# Initialize the framework
|
53
|
-
processes = [
|
54
|
-
|
55
|
-
|
53
|
+
processes = []
|
54
|
+
processes << { :process_path => File.join(app_path, 'process', 'students.rb'),
|
55
|
+
:controller_path => File.join(app_path, 'controller',
|
56
|
+
'yaml_students.rb') }
|
56
57
|
# ~ student_core = Lorj::Core.new( config, processes, :mock)
|
57
|
-
student_core = Lorj::Core.new(config, processes
|
58
|
+
student_core = Lorj::Core.new(config, processes)
|
58
59
|
|
59
60
|
student_core.create(:connection, :connection_string => '/tmp/students.yaml')
|
60
61
|
|
@@ -79,7 +80,7 @@ student_core.create(:student,
|
|
79
80
|
:first_name => 'Anthony',
|
80
81
|
:last_name => 'Hopkins',
|
81
82
|
:course => 'Art Drama'
|
82
|
-
)
|
83
|
+
)
|
83
84
|
# config[:student_name] = "Anthony Hopkins"
|
84
85
|
# config[:course] = "Art Drama"
|
85
86
|
# student_core.Create(:student)
|
@@ -90,7 +91,7 @@ student_core.create(:student,
|
|
90
91
|
:first_name => 'Marilyn',
|
91
92
|
:last_name => 'Monroe',
|
92
93
|
:course => 'Art Drama'
|
93
|
-
)
|
94
|
+
)
|
94
95
|
# replaced the following :
|
95
96
|
# config[:student_name] = "Anthony Hopkins"
|
96
97
|
# student_core.Create(:student)
|
@@ -101,7 +102,7 @@ student = student_core.create(:student,
|
|
101
102
|
:first_name => 'Anthony',
|
102
103
|
:last_name => 'Mistake',
|
103
104
|
:course => 'what ever you want!!!'
|
104
|
-
)
|
105
|
+
)
|
105
106
|
|
106
107
|
puts format("Student created '%s'", student[:attrs])
|
107
108
|
|
@@ -31,7 +31,7 @@ if school.query_student(:name => 'Robert Redford').length == 0
|
|
31
31
|
:first_name => 'Robert',
|
32
32
|
:last_name => 'Redford',
|
33
33
|
:training => 'Art Comedy'
|
34
|
-
|
34
|
+
)
|
35
35
|
end
|
36
36
|
|
37
37
|
puts ANSI.bold('Create 2nd student:')
|
@@ -40,7 +40,7 @@ if school.query_student(:name => 'Anthony Hopkins').length == 0
|
|
40
40
|
:first_name => 'Anthony',
|
41
41
|
:last_name => 'Hopkins',
|
42
42
|
:training => 'Art Drama'
|
43
|
-
|
43
|
+
)
|
44
44
|
end
|
45
45
|
|
46
46
|
puts ANSI.bold('Create 3rd student:')
|
@@ -49,7 +49,7 @@ if school.query_student(:name => 'Marilyn Monroe').length == 0
|
|
49
49
|
:first_name => 'Marilyn',
|
50
50
|
:last_name => 'Mistake',
|
51
51
|
:training => 'Art Drama'
|
52
|
-
|
52
|
+
)
|
53
53
|
end
|
54
54
|
|
55
55
|
puts ANSI.bold('Create mistake')
|
@@ -57,7 +57,7 @@ student = school.create_student('Anthony Mistake',
|
|
57
57
|
:first_name => 'Anthony',
|
58
58
|
:last_name => 'Mistake',
|
59
59
|
:training => 'what ever you want!!!'
|
60
|
-
)
|
60
|
+
)
|
61
61
|
|
62
62
|
puts format("Student created: '%s'", student)
|
63
63
|
|
data/lib/core/core.rb
CHANGED
@@ -268,8 +268,8 @@ module Lorj
|
|
268
268
|
#
|
269
269
|
# * *Args* :
|
270
270
|
# - +oCloudObj+ : Name of the object to initialize.
|
271
|
-
# - +sAccountName+ :
|
272
|
-
#
|
271
|
+
# - +sAccountName+ : Obsolete. You have to load the account data before
|
272
|
+
#
|
273
273
|
# If you use this variable, any other runtime config defined
|
274
274
|
# by the Data model will be cleaned before
|
275
275
|
#
|
@@ -279,40 +279,37 @@ module Lorj
|
|
279
279
|
# * *Raises* :
|
280
280
|
# No exceptions
|
281
281
|
|
282
|
-
def setup(oCloudObj,
|
282
|
+
def setup(oCloudObj, _sAccountName = nil)
|
283
283
|
return nil if !oCloudObj || !@core_object
|
284
|
-
@core_object.process_setup(oCloudObj
|
284
|
+
@core_object.process_setup(oCloudObj)
|
285
285
|
end
|
286
286
|
|
287
287
|
# Core parameters are:
|
288
288
|
# the_config : Optional. An instance of a configuration system which *HAVE*
|
289
289
|
# to provide get/set/exist?/[]/[]=
|
290
290
|
#
|
291
|
-
#
|
292
|
-
#
|
293
|
-
# This
|
294
|
-
#
|
295
|
-
#
|
296
|
-
#
|
297
|
-
#
|
298
|
-
#
|
299
|
-
#
|
300
|
-
#
|
301
|
-
#
|
302
|
-
#
|
303
|
-
#
|
304
|
-
#
|
305
|
-
#
|
306
|
-
#
|
307
|
-
#
|
308
|
-
#
|
309
|
-
#
|
310
|
-
#
|
311
|
-
#
|
312
|
-
|
313
|
-
# sensible and respect RUBY Class name convention
|
314
|
-
def initialize(the_config = nil, the_process_class = nil,
|
315
|
-
controller_class = nil)
|
291
|
+
# * *Args*:
|
292
|
+
# - +Processes+: Array of processes with controller
|
293
|
+
# This array, contains a list of process to load and optionnaly a
|
294
|
+
# controller.
|
295
|
+
#
|
296
|
+
# You can define your own process or a process module.
|
297
|
+
# The array is structured as follow:
|
298
|
+
# - each element contains a Hash with:
|
299
|
+
# If you are using a process module, set the following:
|
300
|
+
# - :process_module : Name of the process module to load
|
301
|
+
#
|
302
|
+
# If you are not using a Process module, you need to set the following:
|
303
|
+
# - :process_path : Path to a local process code.
|
304
|
+
# This path must contains at least 'process' subdir. And if needed
|
305
|
+
# a 'controllers' path
|
306
|
+
# - :process_name : Name of the local process
|
307
|
+
#
|
308
|
+
# Optionnally, you can set a controller name to use with the process.
|
309
|
+
# - :controller_name: Name of the controller to use.
|
310
|
+
# - :controller_path: Path to the controller file.
|
311
|
+
#
|
312
|
+
def initialize(the_config = nil, processes = nil, controller_class = nil)
|
316
313
|
# Loading ProcessClass
|
317
314
|
# Create Process derived from respectively BaseProcess
|
318
315
|
PrcLib.core_level = 0 if PrcLib.core_level.nil?
|
@@ -323,65 +320,114 @@ module Lorj
|
|
323
320
|
|
324
321
|
model = initialize_model
|
325
322
|
|
323
|
+
# Compatibility with old 'new syntax'
|
324
|
+
# `processes` will get an Array of string/symbol or simply a string/symbol
|
325
|
+
# `controller_class` is used to define the controller to load.
|
326
|
+
# string/symbol
|
327
|
+
processes = adapt_core_parameters(processes, controller_class)
|
328
|
+
|
326
329
|
# Load Application processes
|
327
|
-
init_processes(model,
|
330
|
+
init_processes(model, processes)
|
328
331
|
|
329
332
|
PrcLib.runtime_fail 'Lorj::Core: No valid process loaded. '\
|
330
333
|
'Aborting.' if model[:process_class].nil?
|
331
334
|
|
332
|
-
# Load Controller and Controller processes.
|
333
|
-
init_controller(model, controller_class) if controller_class
|
334
|
-
|
335
335
|
# Create Core object with the application model loaded
|
336
336
|
# (processes & controller)
|
337
337
|
initialize_core_object(model)
|
338
338
|
PrcLib.model.clear_heap
|
339
339
|
end
|
340
|
-
end
|
341
340
|
|
342
|
-
|
343
|
-
class CloudCore < Core
|
344
|
-
def initialize(oConfig, sAccount = nil, aProcesses = [])
|
345
|
-
config_account = init_config(oConfig, sAccount)
|
341
|
+
private
|
346
342
|
|
347
|
-
|
343
|
+
# This function is used to keep compatibility with old way to load
|
344
|
+
# processes and controllers
|
345
|
+
# If processes is a Array of Hash => new way
|
346
|
+
# otherwise we need to create it.
|
347
|
+
def adapt_core_parameters(processes, controller)
|
348
|
+
return [] unless processes.is_a?(Array)
|
348
349
|
|
349
|
-
|
350
|
+
return [] if processes.length == 0
|
351
|
+
return processes if processes[0].is_a?(Hash)
|
350
352
|
|
351
|
-
|
353
|
+
PrcLib.warning('lorj initialization with Process & controller parameters'\
|
354
|
+
' is obsolete. Read Lorj::Core.new to update it and '\
|
355
|
+
'eliminate this warning')
|
352
356
|
|
353
|
-
|
354
|
-
|
357
|
+
# Declare processes
|
358
|
+
processes = processes_as_array(processes)
|
355
359
|
|
356
|
-
|
360
|
+
processes_built = []
|
357
361
|
|
358
|
-
|
359
|
-
|
362
|
+
processes.each do |process|
|
363
|
+
process = process.to_s if process.is_a?(Symbol)
|
364
|
+
a_process = {}
|
360
365
|
|
361
|
-
|
366
|
+
if process.include?('/')
|
367
|
+
a_process[:process_path] = process
|
368
|
+
a_process[:process_name] = File.basename(process)
|
369
|
+
else
|
370
|
+
a_process[:process_module] = process
|
371
|
+
end
|
372
|
+
processes_built << a_process
|
373
|
+
end
|
362
374
|
|
363
|
-
|
364
|
-
if oConfig.is_a?(Lorj::Account)
|
365
|
-
config_account = oConfig
|
366
|
-
else
|
367
|
-
config_account = Lorj::Account.new(oConfig)
|
375
|
+
_adapt_with_controller(processes_built, controller)
|
368
376
|
|
369
|
-
|
370
|
-
end
|
371
|
-
config_account
|
377
|
+
processes_built
|
372
378
|
end
|
373
379
|
|
374
|
-
def
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
process_list << controller_process_mod
|
380
|
+
def _adapt_with_controller(processes_built, controller)
|
381
|
+
return if controller.nil?
|
382
|
+
|
383
|
+
if controller.include?('/')
|
384
|
+
processes_built[-1][:controller_path] = controller
|
385
|
+
processes_built[-1][:controller_name] = File.basename(controller)
|
381
386
|
else
|
382
|
-
|
383
|
-
'found.', controller_process_mod))
|
387
|
+
processes_built[-1][:controller_name] = controller
|
384
388
|
end
|
385
389
|
end
|
386
390
|
end
|
391
|
+
|
392
|
+
module_function
|
393
|
+
|
394
|
+
# Any Lorj process module will need to declare itself to Lorj
|
395
|
+
# with this function.
|
396
|
+
#
|
397
|
+
# * *args* :
|
398
|
+
# - +process_name+: name of the process declared to Lorj. This name must be
|
399
|
+
# unique. Otherwise the declaration won't happen.
|
400
|
+
#
|
401
|
+
# - +path+ : Path where process dir structure are located.
|
402
|
+
# at least, it expects to find the process/<name>.rb
|
403
|
+
# Each controllers found will be added as well.
|
404
|
+
# It must be controllers/<controller_name>/<controller_name>.rb
|
405
|
+
# You can change 'controllers' by any name, with :controllers_dir
|
406
|
+
#
|
407
|
+
# - +properties : Optional.
|
408
|
+
# - :controllers_dir : Name of the controllers directory.
|
409
|
+
# By default 'controllers'
|
410
|
+
#
|
411
|
+
# The process will be added in Lorj.processes Hash
|
412
|
+
#
|
413
|
+
def declare_process(process_name, path, properties = {})
|
414
|
+
process_data = Lorj::ProcessResource.new(process_name, path, properties)
|
415
|
+
|
416
|
+
return nil if process_data.nil?
|
417
|
+
|
418
|
+
@processes = {} if @processes.nil?
|
419
|
+
|
420
|
+
return nil if process_data.process.nil?
|
421
|
+
|
422
|
+
process_name = process_data.name
|
423
|
+
|
424
|
+
@processes[process_name] = process_data unless @processes.key?(process_name)
|
425
|
+
|
426
|
+
process_data
|
427
|
+
end
|
428
|
+
|
429
|
+
# Define module data for lorj library configuration
|
430
|
+
class << self
|
431
|
+
attr_reader :processes
|
432
|
+
end
|
387
433
|
end
|