Class: Rndr::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/rndr/cli.rb

Overview

Parent CLI controls for Rndr.

Author:

Instance Method Summary collapse

Instance Method Details

#checkObject



28
29
30
31
32
33
34
35
36
37
# File 'lib/rndr/cli.rb', line 28

def check
  results = Rndr.matches(path: options[:template], ext: options[:extension],
                         ignore_path: options[:ignore])
  template_vars = Rndr.read_vars(path: options[:vars], merge: options[:merge],
                                 merge_opts: options[:merge_opts])
  results.each do |path|
    template = Template.new(path: path, vars: template_vars)
    print_check_result(path: path, result: template.render?)
  end
end

#listObject



49
50
51
52
53
54
55
56
57
# File 'lib/rndr/cli.rb', line 49

def list
  results = Rndr.matches(path: options[:template], ext: options[:extension],
                         ignore_path: options[:ignore])
  if results.empty?
    puts 'No matching results.'
  else
    puts results
  end
end

#renderObject

rubocop:disable Metrics/AbcSize



78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/rndr/cli.rb', line 78

def render # rubocop:disable Metrics/AbcSize
  results = Rndr.matches(path: options[:template], ext: options[:extension],
                         ignore_path: options[:ignore])
  template_vars = Rndr.read_vars(path: options[:vars], merge: options[:merge],
                                 merge_opts: options[:merge_opts])
  results.each do |path|
    template = Template.new(path: path, vars: template_vars)
    render_path = path.gsub(/.#{options[:extension]}$/, '')
    template.render(render_path) if template.render?
    print_check_result(path: render_path, result: template.render?)
  end
end

#varsObject



104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/rndr/cli.rb', line 104

def vars
  result = Rndr.read_vars(path: options[:vars], merge: options[:merge],
                          merge_opts: options[:merge_opts])
  case options[:format].downcase
  when 'json'
    puts result.to_json
  when 'yaml'
    puts result.to_yaml
  else
    puts 'Invalid Format.'
  end
end

#versionObject



119
120
121
# File 'lib/rndr/cli.rb', line 119

def version
  puts "Rndr Version: #{Rndr::VERSION}"
end