fedux_org-stdlib 0.7.21 → 0.7.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +23 -19
- data/Rakefile +16 -0
- data/config/rubocop/exclude.yml +44 -0
- data/config/rubocop/include.yml +0 -0
- data/fedux_org-stdlib.gemspec +9 -9
- data/fixtures/plugin-load-app/fedux_org_stdlib-fixtures-plugin_manager-plugin-load.gemspec +11 -11
- data/fixtures/plugin-no_load-app/fedux_org_stdlib-fixtures-plugin_manager-plugin-no_load.gemspec +11 -11
- data/lib/fedux_org_stdlib.rb +2 -1
- data/lib/fedux_org_stdlib/app_config.rb +22 -21
- data/lib/fedux_org_stdlib/colors/html_color.rb +8 -2
- data/lib/fedux_org_stdlib/command.rb +1 -0
- data/lib/fedux_org_stdlib/command/command_result.rb +1 -0
- data/lib/fedux_org_stdlib/command/run_command.rb +6 -5
- data/lib/fedux_org_stdlib/command/which.rb +17 -17
- data/lib/fedux_org_stdlib/core_ext/array/list.rb +6 -1
- data/lib/fedux_org_stdlib/core_ext/hash/list.rb +6 -1
- data/lib/fedux_org_stdlib/core_ext/hash/options.rb +1 -0
- data/lib/fedux_org_stdlib/core_ext/shellwords/clean.rb +8 -0
- data/lib/fedux_org_stdlib/core_ext/string/underline.rb +9 -1
- data/lib/fedux_org_stdlib/environment.rb +6 -4
- data/lib/fedux_org_stdlib/file_template.rb +8 -10
- data/lib/fedux_org_stdlib/filesystem.rb +30 -29
- data/lib/fedux_org_stdlib/filesystem/exceptions.rb +1 -1
- data/lib/fedux_org_stdlib/gem_plugins/exceptions.rb +1 -0
- data/lib/fedux_org_stdlib/gem_plugins/no_plugin.rb +1 -2
- data/lib/fedux_org_stdlib/gem_plugins/plugin.rb +6 -6
- data/lib/fedux_org_stdlib/gem_plugins/plugin_manager.rb +6 -7
- data/lib/fedux_org_stdlib/list.rb +24 -2
- data/lib/fedux_org_stdlib/logging.rb +3 -2
- data/lib/fedux_org_stdlib/logging/logger.rb +7 -7
- data/lib/fedux_org_stdlib/logging/severity.rb +3 -0
- data/lib/fedux_org_stdlib/logic_converters.rb +1 -0
- data/lib/fedux_org_stdlib/logic_converters/exceptions.rb +2 -2
- data/lib/fedux_org_stdlib/logic_converters/logic_converter.rb +9 -8
- data/lib/fedux_org_stdlib/logic_converters/on_off_converter.rb +5 -4
- data/lib/fedux_org_stdlib/logic_converters/true_false_converter.rb +3 -3
- data/lib/fedux_org_stdlib/logic_converters/y_n_converter.rb +3 -3
- data/lib/fedux_org_stdlib/logic_converters/yes_no_converter.rb +4 -3
- data/lib/fedux_org_stdlib/models/base_model.rb +24 -25
- data/lib/fedux_org_stdlib/models/class_based_model.rb +15 -14
- data/lib/fedux_org_stdlib/models/exceptions.rb +14 -15
- data/lib/fedux_org_stdlib/models/filesystem_based_model.rb +12 -15
- data/lib/fedux_org_stdlib/process_environment.rb +11 -1
- data/lib/fedux_org_stdlib/project.rb +0 -1
- data/lib/fedux_org_stdlib/project/generators/taskjuggler.rb +11 -10
- data/lib/fedux_org_stdlib/project/logger.rb +1 -0
- data/lib/fedux_org_stdlib/project/plan.rb +1 -1
- data/lib/fedux_org_stdlib/project/report.rb +8 -9
- data/lib/fedux_org_stdlib/rake/project.rb +4 -4
- data/lib/fedux_org_stdlib/rake/project_task.rb +2 -3
- data/lib/fedux_org_stdlib/rake/shell_task.rb +7 -7
- data/lib/fedux_org_stdlib/rake/sub_task.rb +2 -2
- data/lib/fedux_org_stdlib/rake/task.rb +7 -6
- data/lib/fedux_org_stdlib/rake/version_bump_task.rb +6 -7
- data/lib/fedux_org_stdlib/rake_tasks/console.rb +0 -1
- data/lib/fedux_org_stdlib/rake_tasks/documentation/yard.rb +2 -2
- data/lib/fedux_org_stdlib/rake_tasks/gems/bundler.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/gems/package.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/project/report/generate.rb +1 -2
- data/lib/fedux_org_stdlib/rake_tasks/project/report/open.rb +1 -2
- data/lib/fedux_org_stdlib/rake_tasks/project/report/open_shortcut.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/qa/rubocop.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/qa/travis.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/software_version/bump.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/software_version/restore.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/software_version/show.rb +2 -3
- data/lib/fedux_org_stdlib/rake_tasks/software_version/show_shortcut.rb +1 -1
- data/lib/fedux_org_stdlib/rake_tasks/tests/cucumber.rb +0 -1
- data/lib/fedux_org_stdlib/rake_tasks/tests/travis.rb +1 -1
- data/lib/fedux_org_stdlib/require_files.rb +5 -4
- data/lib/fedux_org_stdlib/roles/typable.rb +2 -3
- data/lib/fedux_org_stdlib/roles/versionable.rb +3 -2
- data/lib/fedux_org_stdlib/shell_language_detector.rb +21 -2
- data/lib/fedux_org_stdlib/shell_language_detector/language.rb +9 -1
- data/lib/fedux_org_stdlib/support_information.rb +60 -55
- data/lib/fedux_org_stdlib/template_directory.rb +8 -11
- data/lib/fedux_org_stdlib/version.rb +1 -1
- data/lib/fedux_org_stdlib/version_management/library_builder.rb +3 -2
- data/lib/fedux_org_stdlib/version_management/ruby_library.rb +2 -2
- data/lib/fedux_org_stdlib/version_management/rubygem_version_file.rb +3 -3
- data/lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb +5 -5
- data/lib/fedux_org_stdlib/version_management/software_version.rb +4 -3
- data/lib/fedux_org_stdlib/version_management/version_builder.rb +1 -0
- data/rakefiles/default.rake +16 -0
- data/script/terminal +5 -5
- data/spec/app_config_spec.rb +6 -6
- data/spec/colors/html_color_spec.rb +1 -1
- data/spec/core_ext/array/list_spec.rb +8 -8
- data/spec/core_ext/hash/options_spec.rb +17 -17
- data/spec/core_ext/shellwords/clean_spec.rb +1 -1
- data/spec/environment_spec.rb +7 -5
- data/spec/examples/models/class_based/invalid_2.rb +1 -1
- data/spec/examples/models/class_based/valid_2.rb +1 -0
- data/spec/gem_plugins/plugin_manager_spec.rb +1 -1
- data/spec/logger/logger_spec.rb +1 -1
- data/spec/models/base_model_spec.rb +22 -22
- data/spec/models/class_based_model_spec.rb +66 -66
- data/spec/models/filesystem_based_model_spec.rb +28 -28
- data/spec/project/plan_spec.rb +1 -1
- data/spec/project/report_spec.rb +2 -2
- data/spec/project/taskjuggler_spec.rb +4 -4
- data/spec/spec_helper.rb +1 -3
- data/spec/support/rspec.rb +1 -1
- data/spec/version_management/library_builder_spec.rb +2 -2
- data/spec/version_management/ruby_library_spec.rb +2 -2
- data/spec/version_management/rubygem_version_file_parser_spec.rb +8 -8
- data/spec/version_management/rubygem_version_file_spec.rb +8 -8
- data/spec/version_management/software_version_spec.rb +1 -1
- metadata +5 -2
@@ -12,7 +12,7 @@ RSpec.describe GemPlugins::PluginManager do
|
|
12
12
|
expect('FeduxOrgStdlib::Fixtures::PluginManager::Plugin::Load').to be_defined
|
13
13
|
end
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
context '#disable' do
|
17
17
|
it 'disable plugin' do
|
18
18
|
manager = GemPlugins::PluginManager.new prefix: 'fedux_org_stdlib-fixtures-plugin_manager-'
|
data/spec/logger/logger_spec.rb
CHANGED
@@ -18,7 +18,7 @@ RSpec.describe FeduxOrgStdlib::Logging::Logger do
|
|
18
18
|
logger = FeduxOrgStdlib::Logging::Logger.new(log1)
|
19
19
|
expect(logger.instance_variable_get(:@logger)).to be_kind_of ::RSpec::Mocks::Double
|
20
20
|
logger.reset
|
21
|
-
expect(logger.instance_variable_get(:@logger)).to be_kind_of ::Logger
|
21
|
+
expect(logger.instance_variable_get(:@logger)).to be_kind_of ::Logger
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -4,17 +4,17 @@ require 'fedux_org_stdlib/models'
|
|
4
4
|
|
5
5
|
RSpec.describe Models::BaseModel do
|
6
6
|
|
7
|
-
before(:each)
|
7
|
+
before(:each) do
|
8
8
|
Models::BaseModel.clear
|
9
|
-
|
9
|
+
end
|
10
10
|
|
11
|
-
it
|
11
|
+
it 'is possible to register a message' do
|
12
12
|
m1 = Models::BaseModel.new('name')
|
13
13
|
Models::BaseModel.register m1
|
14
14
|
end
|
15
15
|
|
16
|
-
context
|
17
|
-
it
|
16
|
+
context '#find' do
|
17
|
+
it 'is possible to find an object' do
|
18
18
|
m1 = Models::BaseModel.new('name')
|
19
19
|
Models::BaseModel.register m1
|
20
20
|
|
@@ -23,60 +23,60 @@ RSpec.describe Models::BaseModel do
|
|
23
23
|
expect(m1).to eq(m_found)
|
24
24
|
end
|
25
25
|
|
26
|
-
it
|
26
|
+
it 'returns nil if no instance is available' do
|
27
27
|
m_found = Models::BaseModel.find('name')
|
28
28
|
|
29
29
|
expect(m_found).to eq(nil)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
context
|
34
|
-
it
|
33
|
+
context '#enable' do
|
34
|
+
it 'enables instances' do
|
35
35
|
m = Models::BaseModel.create(:name1)
|
36
36
|
Models::BaseModel.enable :name1
|
37
37
|
|
38
38
|
expect(Models::BaseModel.all.first).to eq(m)
|
39
39
|
end
|
40
40
|
|
41
|
-
it
|
42
|
-
expect
|
41
|
+
it 'raises an error if instance given by name is not available' do
|
42
|
+
expect do
|
43
43
|
Models::BaseModel.enable :name1
|
44
|
-
|
44
|
+
end.to raise_error FeduxOrgStdlib::Models::Exceptions::InvalidSearchCriteria
|
45
45
|
end
|
46
46
|
|
47
47
|
end
|
48
48
|
|
49
|
-
it
|
49
|
+
it 'returns a string of all active instances' do
|
50
50
|
Models::BaseModel.create(:name1)
|
51
51
|
Models::BaseModel.create(:name2)
|
52
52
|
Models::BaseModel.enable :name1
|
53
53
|
Models::BaseModel.enable :name2
|
54
54
|
|
55
|
-
result = Models::BaseModel.all_names_as_string(
|
56
|
-
expect(result).to eq(
|
55
|
+
result = Models::BaseModel.all_names_as_string(', ')
|
56
|
+
expect(result).to eq('name1, name2')
|
57
57
|
|
58
|
-
result = Models::BaseModel.all_names_as_string(
|
59
|
-
expect(result).to eq(
|
58
|
+
result = Models::BaseModel.all_names_as_string(': ')
|
59
|
+
expect(result).to eq('name1: name2')
|
60
60
|
|
61
61
|
result = Models::BaseModel.all_names_as_string
|
62
|
-
expect(result).to eq(
|
62
|
+
expect(result).to eq('name1, name2')
|
63
63
|
end
|
64
64
|
|
65
|
-
it
|
65
|
+
it 'is possible to create and register in one step' do
|
66
66
|
m1 = Models::BaseModel.create('name')
|
67
67
|
m_found = Models::BaseModel.find('name')
|
68
68
|
|
69
69
|
expect(m1).to eq(m_found)
|
70
70
|
end
|
71
71
|
|
72
|
-
it
|
72
|
+
it 'is possible to delete an object' do
|
73
73
|
m1 = Models::BaseModel.create('name')
|
74
74
|
m2 = Models::BaseModel.delete('name')
|
75
75
|
|
76
76
|
expect(m1).to eq(m2)
|
77
77
|
end
|
78
78
|
|
79
|
-
it
|
79
|
+
it 'is possible to delete all objects' do
|
80
80
|
Models::BaseModel.create('name1')
|
81
81
|
Models::BaseModel.create('name2')
|
82
82
|
Models::BaseModel.create('name3')
|
@@ -85,7 +85,7 @@ RSpec.describe Models::BaseModel do
|
|
85
85
|
expect(Models::BaseModel.all).to eq([])
|
86
86
|
end
|
87
87
|
|
88
|
-
it
|
88
|
+
it 'return first object' do
|
89
89
|
expected_result = Models::BaseModel.create('name1')
|
90
90
|
Models::BaseModel.create('name2')
|
91
91
|
Models::BaseModel.create('name3')
|
@@ -94,7 +94,7 @@ RSpec.describe Models::BaseModel do
|
|
94
94
|
expect(result).to eq(expected_result)
|
95
95
|
end
|
96
96
|
|
97
|
-
it
|
97
|
+
it 'return last object' do
|
98
98
|
Models::BaseModel.create('name1')
|
99
99
|
Models::BaseModel.create('name2')
|
100
100
|
expected_result = Models::BaseModel.create('name3')
|
@@ -9,30 +9,30 @@ RSpec.describe Models::ClassBasedModel do
|
|
9
9
|
class InvalidTestClass < Exception; end
|
10
10
|
end
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
module Test123
|
14
14
|
module Models
|
15
15
|
class TestClassForFilesystem < FeduxOrgStdlib::Models::BaseModel
|
16
16
|
include FeduxOrgStdlib::Models::FilesystemBasedModel
|
17
17
|
include FeduxOrgStdlib::Models::ClassBasedModel
|
18
18
|
def self.model_path
|
19
|
-
File.join(
|
19
|
+
File.join(examples_directory, 'models', 'class_based.rb')
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
module Test123
|
26
26
|
module Models
|
27
27
|
class TestClassForFilesystem2 < FeduxOrgStdlib::Models::BaseModel
|
28
28
|
include FeduxOrgStdlib::Models::FilesystemBasedModel
|
29
29
|
include FeduxOrgStdlib::Models::ClassBasedModel
|
30
30
|
def self.model_path
|
31
|
-
File.join(
|
31
|
+
File.join(examples_directory, 'models', 'forbidden.rb')
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.forbidden_keywords
|
35
|
-
[
|
35
|
+
[:forbidden]
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -40,10 +40,10 @@ RSpec.describe Models::ClassBasedModel do
|
|
40
40
|
|
41
41
|
end
|
42
42
|
|
43
|
-
it
|
43
|
+
it 'loads all available instances from the file system and make the classes available.' do
|
44
44
|
# all loaded instances need be defined like that
|
45
45
|
#
|
46
|
-
# model:
|
46
|
+
# model:
|
47
47
|
# ------
|
48
48
|
# class Testmodel
|
49
49
|
# end
|
@@ -84,11 +84,11 @@ RSpec.describe Models::ClassBasedModel do
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def self.path_to_instances
|
87
|
-
File.join(
|
87
|
+
File.join(examples_directory, 'models', 'class_based', 'valid_1.rb')
|
88
88
|
end
|
89
89
|
|
90
|
-
def self.require_path(
|
91
|
-
File.join(
|
90
|
+
def self.require_path(_name)
|
91
|
+
File.join(examples_directory, 'models', 'class_based', 'valid_1')
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -96,7 +96,7 @@ RSpec.describe Models::ClassBasedModel do
|
|
96
96
|
expect(test_class.all.first.name).to eq(:valid_1)
|
97
97
|
end
|
98
98
|
|
99
|
-
it
|
99
|
+
it 'raises an error if an instance is invalid: name error' do
|
100
100
|
test_class = Class.new(Models::BaseModel) do
|
101
101
|
include Models::FilesystemBasedModel
|
102
102
|
include Models::ClassBasedModel
|
@@ -108,7 +108,7 @@ RSpec.describe Models::ClassBasedModel do
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def self.model_name
|
111
|
-
|
111
|
+
'TestClass'
|
112
112
|
end
|
113
113
|
|
114
114
|
def self.library_name
|
@@ -120,20 +120,20 @@ RSpec.describe Models::ClassBasedModel do
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def self.path_to_instances
|
123
|
-
File.join(
|
123
|
+
File.join(examples_directory, 'models', 'class_based', 'invalid_1.rb')
|
124
124
|
end
|
125
125
|
|
126
|
-
def self.require_path(
|
127
|
-
File.join(
|
126
|
+
def self.require_path(_name)
|
127
|
+
File.join(examples_directory, 'models', 'class_based', 'invalid_1')
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
131
|
-
expect
|
131
|
+
expect do
|
132
132
|
test_class.init
|
133
|
-
|
133
|
+
end.to raise_error
|
134
134
|
end
|
135
135
|
|
136
|
-
it
|
136
|
+
it 'an import filter uses a forbidden keywords as name' do
|
137
137
|
test_class = Class.new(Models::BaseModel) do
|
138
138
|
include Models::FilesystemBasedModel
|
139
139
|
include Models::ClassBasedModel
|
@@ -145,7 +145,7 @@ RSpec.describe Models::ClassBasedModel do
|
|
145
145
|
end
|
146
146
|
|
147
147
|
def self.model_name
|
148
|
-
|
148
|
+
'TestClass'
|
149
149
|
end
|
150
150
|
|
151
151
|
def self.library_name
|
@@ -153,25 +153,25 @@ RSpec.describe Models::ClassBasedModel do
|
|
153
153
|
end
|
154
154
|
|
155
155
|
def self.path_to_instances
|
156
|
-
File.join(
|
156
|
+
File.join(examples_directory, 'models', 'class_based', 'forbidden_keyword.rb')
|
157
157
|
end
|
158
158
|
|
159
|
-
def self.require_path(
|
160
|
-
File.join(
|
159
|
+
def self.require_path(_name)
|
160
|
+
File.join(examples_directory, 'models', 'class_based', 'forbidden_keyword')
|
161
161
|
end
|
162
162
|
|
163
163
|
def self.forbidden_keywords
|
164
|
-
[
|
164
|
+
[:forbidden_keyword]
|
165
165
|
end
|
166
166
|
end
|
167
167
|
|
168
|
-
expect
|
168
|
+
expect do
|
169
169
|
test_class.init
|
170
|
-
|
170
|
+
end.to raise_error FeduxOrgStdlib::Models::Exceptions::UnauthorizedUseOfKeyword
|
171
171
|
end
|
172
172
|
|
173
|
-
context
|
174
|
-
it
|
173
|
+
context '#check_method' do
|
174
|
+
it 'raises an error if an import filter is invalid: missing method' do
|
175
175
|
test_class = Class.new(Models::BaseModel) do
|
176
176
|
include Models::FilesystemBasedModel
|
177
177
|
include Models::ClassBasedModel
|
@@ -183,7 +183,7 @@ RSpec.describe Models::ClassBasedModel do
|
|
183
183
|
end
|
184
184
|
|
185
185
|
def self.model_name
|
186
|
-
|
186
|
+
'TestClass'
|
187
187
|
end
|
188
188
|
|
189
189
|
def self.library_name
|
@@ -191,11 +191,11 @@ RSpec.describe Models::ClassBasedModel do
|
|
191
191
|
end
|
192
192
|
|
193
193
|
def self.path_to_instances
|
194
|
-
File.join(
|
194
|
+
File.join(examples_directory, 'models', 'class_based', 'invalid_2.rb')
|
195
195
|
end
|
196
196
|
|
197
|
-
def self.require_path(
|
198
|
-
File.join(
|
197
|
+
def self.require_path(_name)
|
198
|
+
File.join(examples_directory, 'models', 'class_based', 'invalid_2')
|
199
199
|
end
|
200
200
|
|
201
201
|
def self.check_method
|
@@ -203,12 +203,12 @@ RSpec.describe Models::ClassBasedModel do
|
|
203
203
|
end
|
204
204
|
end
|
205
205
|
|
206
|
-
expect
|
206
|
+
expect do
|
207
207
|
test_class.init
|
208
|
-
|
208
|
+
end.to raise_error TestIt::Exceptions::InvalidTestClass
|
209
209
|
end
|
210
210
|
|
211
|
-
it
|
211
|
+
it 'supports multiple methods to check for invalid instance and succeeds if both are avaiable.' do
|
212
212
|
test_class = Class.new(Models::BaseModel) do
|
213
213
|
include Models::FilesystemBasedModel
|
214
214
|
include Models::ClassBasedModel
|
@@ -220,7 +220,7 @@ RSpec.describe Models::ClassBasedModel do
|
|
220
220
|
end
|
221
221
|
|
222
222
|
def self.model_name
|
223
|
-
|
223
|
+
'TestClass'
|
224
224
|
end
|
225
225
|
|
226
226
|
def self.library_name
|
@@ -228,24 +228,24 @@ RSpec.describe Models::ClassBasedModel do
|
|
228
228
|
end
|
229
229
|
|
230
230
|
def self.path_to_instances
|
231
|
-
File.join(
|
231
|
+
File.join(examples_directory, 'models', 'class_based', 'valid_2.rb')
|
232
232
|
end
|
233
233
|
|
234
|
-
def self.require_path(
|
235
|
-
File.join(
|
234
|
+
def self.require_path(_name)
|
235
|
+
File.join(examples_directory, 'models', 'class_based', 'valid_2')
|
236
236
|
end
|
237
237
|
|
238
238
|
def self.check_method
|
239
|
-
[
|
239
|
+
[:req_method1, :req_method2]
|
240
240
|
end
|
241
241
|
end
|
242
242
|
|
243
|
-
expect
|
243
|
+
expect do
|
244
244
|
test_class.init
|
245
|
-
|
245
|
+
end.not_to raise_error
|
246
246
|
end
|
247
247
|
|
248
|
-
it
|
248
|
+
it 'supports multiple methods to check for invalid instance and fails if one is missing.' do
|
249
249
|
test_class = Class.new(Models::BaseModel) do
|
250
250
|
include Models::FilesystemBasedModel
|
251
251
|
include Models::ClassBasedModel
|
@@ -257,7 +257,7 @@ RSpec.describe Models::ClassBasedModel do
|
|
257
257
|
end
|
258
258
|
|
259
259
|
def self.model_name
|
260
|
-
|
260
|
+
'TestClass'
|
261
261
|
end
|
262
262
|
|
263
263
|
def self.library_name
|
@@ -265,50 +265,50 @@ RSpec.describe Models::ClassBasedModel do
|
|
265
265
|
end
|
266
266
|
|
267
267
|
def self.path_to_instances
|
268
|
-
File.join(
|
268
|
+
File.join(examples_directory, 'models', 'class_based', 'invalid_3.rb')
|
269
269
|
end
|
270
270
|
|
271
|
-
def self.require_path(
|
272
|
-
File.join(
|
271
|
+
def self.require_path(_name)
|
272
|
+
File.join(examples_directory, 'models', 'class_based', 'invalid_3')
|
273
273
|
end
|
274
274
|
|
275
275
|
def self.check_method
|
276
|
-
[
|
276
|
+
[:req_method1, :req_method2]
|
277
277
|
end
|
278
278
|
end
|
279
279
|
|
280
|
-
expect
|
280
|
+
expect do
|
281
281
|
test_class.init
|
282
|
-
|
282
|
+
end.to raise_error TestIt::Exceptions::InvalidTestClass
|
283
283
|
end
|
284
284
|
end
|
285
285
|
|
286
|
-
it
|
286
|
+
it 'returns the require path' do
|
287
287
|
model = Class.new(Models::BaseModel) do
|
288
288
|
include Models::FilesystemBasedModel
|
289
289
|
|
290
|
-
def self.require_path(
|
291
|
-
File.join(
|
290
|
+
def self.require_path(_name)
|
291
|
+
File.join(examples_directory, 'models', 'class_based', 'invalid_2')
|
292
292
|
end
|
293
293
|
|
294
294
|
end
|
295
|
-
expect_result = File.join(
|
295
|
+
expect_result = File.join(examples_directory, 'models', 'class_based', 'invalid_2')
|
296
296
|
result = model.send(:require_path, :name)
|
297
297
|
|
298
298
|
expect(result).to eq(expect_result)
|
299
299
|
end
|
300
300
|
|
301
|
-
it
|
301
|
+
it 'returns the name for the instance based on the path to the ruby file' do
|
302
302
|
expect(Test123::Models::TestClassForFilesystem.send(:name, Test123::Models::TestClassForFilesystem.send(:model_path))).to eq(:class_based)
|
303
303
|
end
|
304
304
|
|
305
|
-
it
|
306
|
-
expect
|
307
|
-
Test123::Models::TestClassForFilesystem2.send(:name, Test123::Models::TestClassForFilesystem2.send(:model_path))
|
308
|
-
|
305
|
+
it 'check if the name for the instances is forbidden' do
|
306
|
+
expect do
|
307
|
+
Test123::Models::TestClassForFilesystem2.send(:name, Test123::Models::TestClassForFilesystem2.send(:model_path))
|
308
|
+
end.to raise_error FeduxOrgStdlib::Models::Exceptions::UnauthorizedUseOfKeyword
|
309
309
|
end
|
310
310
|
|
311
|
-
it
|
311
|
+
it 'raises an exception if no valid algorithms could be found for model' do
|
312
312
|
klass = Class.new(FeduxOrgStdlib::Models::BaseModel) do
|
313
313
|
include FeduxOrgStdlib::Models::FilesystemBasedModel
|
314
314
|
include FeduxOrgStdlib::Models::ClassBasedModel
|
@@ -325,12 +325,12 @@ RSpec.describe Models::ClassBasedModel do
|
|
325
325
|
'asdfasf'
|
326
326
|
end
|
327
327
|
end
|
328
|
-
expect
|
328
|
+
expect do
|
329
329
|
klass.send(:load_from_filesystem)
|
330
|
-
|
330
|
+
end.to raise_error FeduxOrgStdlib::Models::Exceptions::NoImplementationsForModelFound
|
331
331
|
end
|
332
332
|
|
333
|
-
it
|
333
|
+
it '#ignore' do
|
334
334
|
test_class = Class.new(Models::BaseModel) do
|
335
335
|
include Models::FilesystemBasedModel
|
336
336
|
include Models::ClassBasedModel
|
@@ -342,7 +342,7 @@ RSpec.describe Models::ClassBasedModel do
|
|
342
342
|
end
|
343
343
|
|
344
344
|
def self.model_name
|
345
|
-
|
345
|
+
'TestClass'
|
346
346
|
end
|
347
347
|
|
348
348
|
def self.library_name
|
@@ -350,11 +350,11 @@ RSpec.describe Models::ClassBasedModel do
|
|
350
350
|
end
|
351
351
|
|
352
352
|
def self.path_to_instances
|
353
|
-
File.join(
|
353
|
+
File.join(examples_directory, 'models', 'class_based', 'ignore')
|
354
354
|
end
|
355
355
|
|
356
|
-
def self.require_path(
|
357
|
-
File.join(
|
356
|
+
def self.require_path(_name)
|
357
|
+
File.join(examples_directory, 'models', 'class_based', 'ignore', 'valid_1.rb')
|
358
358
|
end
|
359
359
|
|
360
360
|
def self.check_method
|