Module: Ore::Paths
Overview
A mixin for Project which provides methods for working with paths.
Instance Method Summary collapse
-
#bin_dir ⇒ Pathname
The
bin/
directory of the project. -
#directory?(path) ⇒ Boolean
Determines if a directory exists within the project.
-
#each_path(paths) {|path| ... } ⇒ Object
Iterates over the paths.
-
#file?(path) ⇒ Boolean
Determines if a file exists within the project.
-
#glob(pattern) {|path| ... } ⇒ Object
Finds paths within the project that match a glob pattern.
-
#lib_dir ⇒ Pathname
The
lib/
directory of the project. -
#lib_directory?(path) ⇒ Boolean
Determines if a directory exists within the
lib/
directory of the project. -
#lib_file?(path) ⇒ Boolean
Determines if a file exists within the
lib/
directory of the project. -
#lib_path(*names) ⇒ Pathname
Builds a path relative to the
lib/
directory. -
#path(*names) ⇒ Pathname
Builds a path relative to the project.
-
#pkg_dir ⇒ Pathname
The
pkg/
directory of the project. -
#pkg_file ⇒ String
Builds a relative path into the
pkg/
directory for the.gem
file.
Methods included from Naming
#module_of, #modules_of, #names_in, #namespace_dirs_of, #namespace_of, #namespace_path_of, #underscore
Instance Method Details
#bin_dir ⇒ Pathname
The bin/
directory of the project.
29 30 31 |
# File 'lib/ore/paths.rb', line 29 def bin_dir @root.join(@@lib_dir) end |
#directory?(path) ⇒ Boolean
Determines if a directory exists within the project.
85 86 87 |
# File 'lib/ore/paths.rb', line 85 def directory?(path) @root.join(path).directory? end |
#each_path(paths) {|path| ... } ⇒ Object
Iterates over the paths.
@ since 0.1.3
160 161 162 163 164 165 166 167 |
# File 'lib/ore/paths.rb', line 160 def each_path(paths,&block) case paths when Array paths.each(&block) else glob(paths,&block) end end |
#file?(path) ⇒ Boolean
Determines if a file exists within the project.
98 99 100 |
# File 'lib/ore/paths.rb', line 98 def file?(path) @project_files.include?(path) end |
#glob(pattern) {|path| ... } ⇒ Object
Finds paths within the project that match a glob pattern.
136 137 138 139 140 141 142 143 144 |
# File 'lib/ore/paths.rb', line 136 def glob(pattern) within do Dir.glob(pattern) do |path| if (@project_files.include?(path) || File.directory?(path)) yield path end end end end |
#lib_dir ⇒ Pathname
The lib/
directory of the project.
39 40 41 |
# File 'lib/ore/paths.rb', line 39 def lib_dir @root.join(@@lib_dir) end |
#lib_directory?(path) ⇒ Boolean
Determines if a directory exists within the lib/
directory of the
project.
109 110 111 |
# File 'lib/ore/paths.rb', line 109 def lib_directory?(path) directory?(File.join(@@lib_dir,path)) end |
#lib_file?(path) ⇒ Boolean
Determines if a file exists within the lib/
directory of the
project.
120 121 122 |
# File 'lib/ore/paths.rb', line 120 def lib_file?(path) file?(File.join(@@lib_dir,path)) end |
#lib_path(*names) ⇒ Pathname
Builds a path relative to the lib/
directory.
62 63 64 |
# File 'lib/ore/paths.rb', line 62 def lib_path(*names) path(@@lib_dir,*names) end |
#path(*names) ⇒ Pathname
Builds a path relative to the project.
19 20 21 |
# File 'lib/ore/paths.rb', line 19 def path(*names) @root.join(*names) end |
#pkg_dir ⇒ Pathname
The pkg/
directory of the project.
49 50 51 |
# File 'lib/ore/paths.rb', line 49 def pkg_dir @root.join(@@pkg_dir) end |
#pkg_file ⇒ String
Builds a relative path into the pkg/
directory for the .gem
file.
72 73 74 |
# File 'lib/ore/paths.rb', line 72 def pkg_file File.join(@@pkg_dir,"#{@name}-#{@version}.gem") end |