Module: Dapp::Helper::Trivia
- Included in:
- CLI, Dapp, Dapp, Dimg::Build::Stage::Base, Dimg::Dimg, Dimg::GitArtifact, Dimg::GitRepo::Base
- Defined in:
- lib/dapp/helper/trivia.rb
Class Method Summary collapse
Instance Method Summary collapse
- #check_path?(path, format) ⇒ Boolean
- #check_subpath?(path, format) ⇒ Boolean
- #class_to_lowercase(class_name = self.class) ⇒ Object
- #delete_file(path) ⇒ Object
- #kwargs(args) ⇒ Object
- #make_path(base, *path) ⇒ Object
- #path_checker(path) ⇒ Object
- #search_file_upward(filename) ⇒ Object
Class Method Details
.class_to_lowercase(class_name = self) ⇒ Object
50 51 52 |
# File 'lib/dapp/helper/trivia.rb', line 50 def self.class_to_lowercase(class_name = self) class_name.to_s.split('::').last.split(/(?=[[:upper:]]|[0-9])/).join('_').downcase.to_s end |
Instance Method Details
#check_path?(path, format) ⇒ Boolean
31 32 33 |
# File 'lib/dapp/helper/trivia.rb', line 31 def check_path?(path, format) path_checker(path) { |checking_path| File.fnmatch(format, checking_path, File::FNM_PATHNAME|File::FNM_DOTMATCH) } end |
#check_subpath?(path, format) ⇒ Boolean
35 36 37 |
# File 'lib/dapp/helper/trivia.rb', line 35 def check_subpath?(path, format) path_checker(format) { |checking_path| File.fnmatch(checking_path, path, File::FNM_PATHNAME|File::FNM_DOTMATCH) } end |
#class_to_lowercase(class_name = self.class) ⇒ Object
8 9 10 |
# File 'lib/dapp/helper/trivia.rb', line 8 def class_to_lowercase(class_name = self.class) Trivia.class_to_lowercase(class_name) end |
#delete_file(path) ⇒ Object
12 13 14 15 |
# File 'lib/dapp/helper/trivia.rb', line 12 def delete_file(path) path = Pathname(path) path.delete if path.exist? end |
#kwargs(args) ⇒ Object
4 5 6 |
# File 'lib/dapp/helper/trivia.rb', line 4 def kwargs(args) args.last.is_a?(Hash) ? args.pop : {} end |
#make_path(base, *path) ⇒ Object
27 28 29 |
# File 'lib/dapp/helper/trivia.rb', line 27 def make_path(base, *path) Pathname.new(File.join(base.to_s, *path.compact.map(&:to_s))) end |
#path_checker(path) ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/dapp/helper/trivia.rb', line 39 def path_checker(path) path_parts = path.split('/') checking_path = nil until path_parts.empty? checking_path = [checking_path, path_parts.shift].compact.join('/') return true if yield checking_path end false end |
#search_file_upward(filename) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/dapp/helper/trivia.rb', line 17 def search_file_upward(filename) cdir = Pathname(work_dir) loop do if (path = cdir.join(filename)).exist? return path.to_s end break if (cdir = cdir.parent).root? end end |