Module: Amalgalite::Paths
- Defined in:
- lib/amalgalite/paths.rb
Overview
Paths contains helpful methods to determine paths of files inside the Amalgalite library
Class Method Summary collapse
-
.config_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
config
directory below root_dir.
-
.data_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
data
directory below root_dir.
-
.ext_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
ext
directory below root_dir.
-
.lib_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
lib
directory below root_dir.
-
.root_dir ⇒ Object
The root directory of the project is considered to be the parent directory of the ‘lib’ directory.
-
.spec_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
spec
directory below root_dir.
- .sub_path(sub, *args) ⇒ Object
Class Method Details
.config_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
config
directory
below root_dir. All parameters passed in are joined onto the result. Trailing File::SEPARATOR is guaranteed if args are not present.
33 34 35 |
# File 'lib/amalgalite/paths.rb', line 33 def self.config_path(*args) self.sub_path("config", *args) end |
.data_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
data
directory below
root_dir. All parameters passed in are joined onto the result. Trailing File::SEPARATOR is guaranteed if _*args_ are not present.
42 43 44 |
# File 'lib/amalgalite/paths.rb', line 42 def self.data_path(*args) self.sub_path("data", *args) end |
.ext_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
ext
directory below
root_dir. All parameters passed in are joined onto the result. Trailing File::SEPARATOR is guaranteed if _*args_ are not present.
60 61 62 |
# File 'lib/amalgalite/paths.rb', line 60 def self.ext_path(*args) self.sub_path("ext", *args) end |
.lib_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
lib
directory below
root_dir. All parameters passed in are joined onto the result. Trailing File::SEPARATOR is guaranteed if _*args_ are not present.
51 52 53 |
# File 'lib/amalgalite/paths.rb', line 51 def self.lib_path(*args) self.sub_path("lib", *args) end |
.root_dir ⇒ Object
The root directory of the project is considered to be the parent directory of the ‘lib’ directory.
- returns
- String
-
The full expanded path of the parent directory of ‘lib’
going up the path from the current file. Trailing File::SEPARATOR is guaranteed.
19 20 21 22 23 24 25 26 |
# File 'lib/amalgalite/paths.rb', line 19 def self.root_dir @root_dir ||= ( path_parts = ::File.(__FILE__).split(::File::SEPARATOR) lib_index = path_parts.rindex("lib") path_parts[0...lib_index].join(::File::SEPARATOR) + ::File::SEPARATOR ) return @root_dir end |
.spec_path(*args) ⇒ Object
- returns
- String
-
The full expanded path of the
spec
directory below
root_dir. All parameters passed in are joined onto the result. Trailing File::SEPARATOR is guaranteed if _*args_ are not present.
69 70 71 |
# File 'lib/amalgalite/paths.rb', line 69 def self.spec_path(*args) self.sub_path("spec", *args) end |
.sub_path(sub, *args) ⇒ Object
74 75 76 77 |
# File 'lib/amalgalite/paths.rb', line 74 def self.sub_path(sub,*args) sp = ::File.join(root_dir, sub) + File::SEPARATOR sp = ::File.join(sp, *args) if args end |