Class: TRMNLP::Paths
- Inherits:
-
Object
- Object
- TRMNLP::Paths
- Defined in:
- lib/trmnlp/paths.rb
Constant Summary collapse
- TRANSFORM_EXTENSIONS =
File extension → transform language identifier.
{ '.py' => 'python', '.rb' => 'ruby', '.php' => 'php', '.js' => 'node' }.freeze
Instance Attribute Summary collapse
-
#root_dir ⇒ Object
readonly
Returns the value of attribute root_dir.
Instance Method Summary collapse
- #app_config ⇒ Object
- #app_config_dir ⇒ Object
- #build_dir ⇒ Object
- #cache_dir ⇒ Object
- #create_build_dir ⇒ Object
- #create_cache_dir ⇒ Object
-
#expand(path) ⇒ Object
— utilities —.
-
#gem_dir ⇒ Object
— trmnlp library —.
-
#initialize(root_dir) ⇒ Paths
constructor
A new instance of Paths.
- #plugin_config ⇒ Object
- #render_template ⇒ Object
- #shared_template ⇒ Object
-
#src_dir ⇒ Object
— directories —.
- #src_files ⇒ Object
- #template(view) ⇒ Object
- #templates_dir ⇒ Object
-
#transform_file ⇒ Object
Locate src/transform.py,rb,php,js.
-
#trmnlp_config ⇒ Object
— files —.
- #user_data ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(root_dir) ⇒ Paths
Returns a new instance of Paths.
9 10 11 12 |
# File 'lib/trmnlp/paths.rb', line 9 def initialize(root_dir) @root_dir = Pathname.new(root_dir) @xdg = XDG.new end |
Instance Attribute Details
#root_dir ⇒ Object (readonly)
Returns the value of attribute root_dir.
7 8 9 |
# File 'lib/trmnlp/paths.rb', line 7 def root_dir @root_dir end |
Instance Method Details
#app_config ⇒ Object
44 |
# File 'lib/trmnlp/paths.rb', line 44 def app_config = app_config_dir.join('config.yml') |
#app_config_dir ⇒ Object
27 |
# File 'lib/trmnlp/paths.rb', line 27 def app_config_dir = xdg.config_home.join('trmnlp') |
#build_dir ⇒ Object
24 |
# File 'lib/trmnlp/paths.rb', line 24 def build_dir = root_dir.join('_build') |
#cache_dir ⇒ Object
29 |
# File 'lib/trmnlp/paths.rb', line 29 def cache_dir = xdg.cache_home.join('trmnl') |
#create_build_dir ⇒ Object
25 |
# File 'lib/trmnlp/paths.rb', line 25 def create_build_dir = build_dir.mkpath |
#create_cache_dir ⇒ Object
30 |
# File 'lib/trmnlp/paths.rb', line 30 def create_cache_dir = cache_dir.mkpath |
#expand(path) ⇒ Object
— utilities —
72 |
# File 'lib/trmnlp/paths.rb', line 72 def (path) = Pathname.new(path).(root_dir) |
#gem_dir ⇒ Object
— trmnlp library —
16 |
# File 'lib/trmnlp/paths.rb', line 16 def gem_dir = Pathname.new(__dir__).join('..', '..'). |
#plugin_config ⇒ Object
38 |
# File 'lib/trmnlp/paths.rb', line 38 def plugin_config = src_dir.join('settings.yml') |
#render_template ⇒ Object
48 |
# File 'lib/trmnlp/paths.rb', line 48 def render_template = Pathname.new(__dir__).join('..', '..', 'web', 'views', 'render_html.erb') |
#shared_template ⇒ Object
42 |
# File 'lib/trmnlp/paths.rb', line 42 def shared_template = template('shared') |
#src_dir ⇒ Object
— directories —
22 |
# File 'lib/trmnlp/paths.rb', line 22 def src_dir = root_dir.join('src') |
#src_files ⇒ Object
50 |
# File 'lib/trmnlp/paths.rb', line 50 def src_files = src_dir.glob('*').select(&:file?) |
#template(view) ⇒ Object
40 |
# File 'lib/trmnlp/paths.rb', line 40 def template(view) = src_dir.join("#{view}.liquid") |
#templates_dir ⇒ Object
18 |
# File 'lib/trmnlp/paths.rb', line 18 def templates_dir = gem_dir.join('templates') |
#transform_file ⇒ Object
Locate src/transform.py,rb,php,js. Returns [Pathname, language] or [nil, nil] if no transform file exists.
62 63 64 65 66 67 68 |
# File 'lib/trmnlp/paths.rb', line 62 def transform_file TRANSFORM_EXTENSIONS.each do |ext, language| candidate = src_dir.join("transform#{ext}") return [candidate, language] if candidate.exist? end [nil, nil] end |
#trmnlp_config ⇒ Object
— files —
36 |
# File 'lib/trmnlp/paths.rb', line 36 def trmnlp_config = root_dir.join('.trmnlp.yml') |
#user_data ⇒ Object
46 |
# File 'lib/trmnlp/paths.rb', line 46 def user_data = cache_dir.join('data.json') |
#valid? ⇒ Boolean
32 |
# File 'lib/trmnlp/paths.rb', line 32 def valid? = trmnlp_config.exist? |