Class: TRMNLP::Paths

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_dirObject (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_configObject



44
# File 'lib/trmnlp/paths.rb', line 44

def app_config = app_config_dir.join('config.yml')

#app_config_dirObject



27
# File 'lib/trmnlp/paths.rb', line 27

def app_config_dir = xdg.config_home.join('trmnlp')

#build_dirObject



24
# File 'lib/trmnlp/paths.rb', line 24

def build_dir = root_dir.join('_build')

#cache_dirObject



29
# File 'lib/trmnlp/paths.rb', line 29

def cache_dir = xdg.cache_home.join('trmnl')

#create_build_dirObject



25
# File 'lib/trmnlp/paths.rb', line 25

def create_build_dir = build_dir.mkpath

#create_cache_dirObject



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 expand(path) = Pathname.new(path).expand_path(root_dir)

#gem_dirObject

— trmnlp library —



16
# File 'lib/trmnlp/paths.rb', line 16

def gem_dir = Pathname.new(__dir__).join('..', '..').expand_path

#plugin_configObject



38
# File 'lib/trmnlp/paths.rb', line 38

def plugin_config = src_dir.join('settings.yml')

#render_templateObject



48
# File 'lib/trmnlp/paths.rb', line 48

def render_template = Pathname.new(__dir__).join('..', '..', 'web', 'views', 'render_html.erb')

#shared_templateObject



42
# File 'lib/trmnlp/paths.rb', line 42

def shared_template = template('shared')

#src_dirObject

— directories —



22
# File 'lib/trmnlp/paths.rb', line 22

def src_dir = root_dir.join('src')

#src_filesObject



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_dirObject



18
# File 'lib/trmnlp/paths.rb', line 18

def templates_dir = gem_dir.join('templates')

#transform_fileObject

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_configObject

— files —



36
# File 'lib/trmnlp/paths.rb', line 36

def trmnlp_config = root_dir.join('.trmnlp.yml')

#user_dataObject



46
# File 'lib/trmnlp/paths.rb', line 46

def user_data = cache_dir.join('data.json')

#valid?Boolean

Returns:

  • (Boolean)


32
# File 'lib/trmnlp/paths.rb', line 32

def valid? = trmnlp_config.exist?