class Bashly::RenderSource

Attributes

selector[R]

Public Class Methods

internal() click to toggle source
# File lib/bashly/render_source.rb, line 8
def internal
  @internal ||= internal_dirs.to_h do |dir|
    selector = File.basename(dir).to_sym
    [selector, new(selector)]
  end
end
internal_dirs() click to toggle source
# File lib/bashly/render_source.rb, line 15
def internal_dirs
  @internal_dirs ||= Dir["#{internal_root}/*"].select { |x| File.directory? x }
end
internal_root() click to toggle source
# File lib/bashly/render_source.rb, line 19
def internal_root
  asset('libraries/render')
end
new(selector) click to toggle source
# File lib/bashly/render_source.rb, line 24
def initialize(selector)
  @selector = selector
end

Public Instance Methods

exist?() click to toggle source
# File lib/bashly/render_source.rb, line 41
def exist?
  Dir.exist? path
end
internal?() click to toggle source
# File lib/bashly/render_source.rb, line 33
def internal?
  selector.is_a? Symbol
end
path() click to toggle source
# File lib/bashly/render_source.rb, line 37
def path
  internal? ? "#{internal_root}/#{selector}" : selector
end
readme() click to toggle source
# File lib/bashly/render_source.rb, line 49
def readme
  File.read readme_file if File.exist? readme_file
end
render(target, show: nil) click to toggle source
# File lib/bashly/render_source.rb, line 28
def render(target, show: nil)
  context = RenderContext.new source: path, target: target, show: show
  context.instance_eval render_script
end
summary() click to toggle source
# File lib/bashly/render_source.rb, line 45
def summary
  File.readlines(summary_file)[0].chomp
end

Private Instance Methods

internal_root() click to toggle source
# File lib/bashly/render_source.rb, line 59
def internal_root
  self.class.internal_root
end
readme_file() click to toggle source
# File lib/bashly/render_source.rb, line 67
def readme_file
  "#{path}/README.md"
end
render_script() click to toggle source
# File lib/bashly/render_source.rb, line 55
def render_script
  @render_script ||= File.read "#{path}/render.rb"
end
summary_file() click to toggle source
# File lib/bashly/render_source.rb, line 63
def summary_file
  "#{path}/summary.txt"
end