Module: NameFileFinder
- Defined in:
- lib/teuton/utils/name_file_finder.rb
Overview
NameFileFinder module Methods: find_filenames_for, verbose, verboseln
Class Method Summary collapse
-
.find_configfilename_from_directory(folder_path) ⇒ Object
Find project config filename from input folder path rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength rubocop:disable Style/IfUnlessModifier.
-
.find_configfilenames_from_rb(script_path) ⇒ Object
rubocop:disable Metrics/MethodLength rubocop:disable Metrics/AbcSize rubocop:disable Style/IfUnlessModifier.
-
.find_filenames_for(relprojectpath) ⇒ Object
Find project filenames from input project relative path.
-
.find_filenames_from_directory(folder_path) ⇒ Object
Find project filenames from input folder path rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength.
-
.find_filenames_from_rb(script_path) ⇒ Object
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength.
- .verbose(text) ⇒ Object
-
.verboseln(text) ⇒ Object
Trim string text when is too long def self.trim(input) return input unless input.to_s.start_with? Dir.pwd.to_s.
Class Method Details
.find_configfilename_from_directory(folder_path) ⇒ Object
Find project config filename from input folder path rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength rubocop:disable Style/IfUnlessModifier
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/teuton/utils/name_file_finder.rb', line 60 def self.find_configfilename_from_directory(folder_path) # COMPLEX MODE: We use config.yaml by default app = Application.instance config_path = '' if app.['cpath'].nil? config_name = 'config' # Config name file is introduced by cname arg option from teuton command config_name = app.['cname'] unless app.['cname'].nil? config_path = File.join(folder_path, "#{config_name}.json") unless File.exist? config_path config_path = File.join(folder_path, "#{config_name}.yaml") end else # Config path file is introduced by cpath arg option from teuton command config_path = app.['cpath'] end app.config_path = config_path end |
.find_configfilenames_from_rb(script_path) ⇒ Object
rubocop:disable Metrics/MethodLength rubocop:disable Metrics/AbcSize rubocop:disable Style/IfUnlessModifier
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/teuton/utils/name_file_finder.rb', line 108 def self.find_configfilenames_from_rb(script_path) # SIMPLE MODE: We use script_path as main RB file # This must be fullpath to DSL script file app = Application.instance config_path = '' if app.['cpath'].nil? config_name = File.basename(script_path, '.rb') # Config name file is introduced by cname arg option from teuton command config_name = app.['cname'] unless app.['cname'].nil? config_path = File.join(app.project_path, config_name + '.json') unless File.exist? config_path config_path = File.join(app.project_path, config_name + '.yaml') end else # Config path file is introduced by cpath arg option from teuton command config_path = app.['cpath'] end app.config_path = config_path end |
.find_filenames_for(relprojectpath) ⇒ Object
Find project filenames from input project relative path
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/teuton/utils/name_file_finder.rb', line 13 def self.find_filenames_for(relprojectpath) projectpath = File.absolute_path(relprojectpath) # Define: # script_path, must contain fullpath to DSL script file # config_path, must contain fullpath to YAML config file if File.directory?(projectpath) # COMPLEX MODE: We use start.rb as main RB file find_filenames_from_directory(projectpath) else # SIMPLE MODE: We use pathtofile as main RB file find_filenames_from_rb(projectpath) end true end |
.find_filenames_from_directory(folder_path) ⇒ Object
Find project filenames from input folder path rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/teuton/utils/name_file_finder.rb', line 34 def self.find_filenames_from_directory(folder_path) # COMPLEX MODE: We use start.rb as main RB file script_path = File.join(folder_path, 'start.rb') unless File.exist? script_path print Rainbow('[ERROR] File ').red print Rainbow(script_path).bright.red puts Rainbow(' not found!').red exit 1 end app = Application.instance app.project_path = folder_path app.script_path = script_path app.test_name = folder_path.split(File::SEPARATOR)[-1] find_configfilename_from_directory(folder_path) end |
.find_filenames_from_rb(script_path) ⇒ Object
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/teuton/utils/name_file_finder.rb', line 85 def self.find_filenames_from_rb(script_path) # SIMPLE MODE: We use script_path as main RB file # This must be fullpath to DSL script file if File.extname(script_path) != '.rb' print Rainbow('[ERROR] Script ').red print Rainbow(script_path).bright.red puts Rainbow(' must have rb extension').red exit 1 end app = Application.instance app.project_path = File.dirname(script_path) app.script_path = script_path app.test_name = File.basename(script_path, '.rb') find_configfilenames_from_rb(script_path) end |
.verbose(text) ⇒ Object
161 162 163 164 165 166 |
# File 'lib/teuton/utils/name_file_finder.rb', line 161 def self.verbose(text) return unless Application.instance.verbose return if Application.instance.['quiet'] print text end |
.verboseln(text) ⇒ Object
Trim string text when is too long
def self.trim(input)
return input unless input.to_s.start_with? Dir.pwd.to_s
output = input.to_s
offset = (Dir.pwd).length + 1
output = "#{input[offset, input.size]}"
output.to_s
end
157 158 159 |
# File 'lib/teuton/utils/name_file_finder.rb', line 157 def self.verboseln(text) verbose(text + "\n") end |