Class: Chisel::Wrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/chisel/wrapper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site_dir) ⇒ Wrapper

Returns a new instance of Wrapper.



17
18
19
20
# File 'lib/chisel/wrapper.rb', line 17

def initialize(site_dir)
	@site_dir = SiteDirectory.new(site_dir)
	require_rb(@site_dir.resource_dir)
end

Instance Attribute Details

#site_dirObject

Returns the value of attribute site_dir.



15
16
17
# File 'lib/chisel/wrapper.rb', line 15

def site_dir
  @site_dir
end

Instance Method Details

#run(dir = @site_dir) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/chisel/wrapper.rb', line 22

def run(dir = @site_dir)
	@site_dir.clear_output_dir

	# Get all views in the root site directory as well
	# as any subdirectories (recursive). Don't include
	# any files or folders beginning with an underscore.
	view_paths = Pathname.glob(@site_dir.join('[^_]*.*'))
	view_paths += Pathname.glob(@site_dir.join('[^_]**/**/*.*'))

	view_paths.each do |view_path|
		if view_path.extname == '.erb'
			view = View.fetch(:path => view_path, :site_dir => @site_dir)
			view.run
		else
			output_path = @site_dir.output_dir.join(view_path)
			output_path.dirname.mkpath
			FileUtils.cp(view_path, output_path)
		end
	end
end