class Muwu::DestinationBuilder

Attributes

destination[RW]
project[RW]

Public Class Methods

build() { |builder| ... } click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 14
def self.build
  builder = new
  yield(builder)
  builder.destination
end
new() click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 21
def initialize
  @destination = Destination.new
end

Public Instance Methods

build_css(project) click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 26
def build_css(project)
  depends_on_project(project)
  set_output_class
  set_output_filename_css
  set_output_working_directory
end
build_html(project, index) click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 34
def build_html(project, index)
  depends_on_project(project)
  set_output_class
  set_output_filename_html(index)
  set_output_working_directory
end
build_js(project) click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 42
def build_js(project)
  depends_on_project(project)
  set_output_class
  set_output_filename_js
  set_output_working_directory
end
depends_on_project(project) click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 50
def depends_on_project(project)
  @project = project
end
set_output_class() click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 55
def set_output_class
  @destination.output_class = @project.output_destination
end
set_output_filename_css() click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 60
def set_output_filename_css
  if @destination.output_class == 'file'
    @destination.output_filename = determine_output_filename_css
  end
end
set_output_filename_html(index) click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 67
def set_output_filename_html(index)
  if @destination.output_class == 'file'
    @destination.output_filename = determine_output_filename_html(index)
  end
end
set_output_filename_js() click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 74
def set_output_filename_js
  if @destination.output_class == 'file'
    @destination.output_filename = determine_output_filename_js
  end
end
set_output_working_directory() click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 81
def set_output_working_directory
  if @destination.output_class == 'file'
    @destination.output_working_directory = @project.path_compiled
  end
end

Private Instance Methods

determine_output_filename_css() click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 92
def determine_output_filename_css
  filename = ''
  filename.concat @project.css_basename
  filename.concat ".css"
  filename
end
determine_output_filename_html(index) click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 100
def determine_output_filename_html(index)
  filename = ''
  filename.concat @project.html_basename
  if index_is_integer_greater_than_zero(index)
    filename.concat "_#{index}"
  end
  filename.concat ".html"
  filename
end
determine_output_filename_js() click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 111
def determine_output_filename_js
  filename = ''
  filename.concat @project.js_basename
  filename.concat ".js"
  filename
end
index_is_integer_greater_than_zero(index) click to toggle source
# File lib/muwu/destination_builder/destination_builder.rb, line 119
def index_is_integer_greater_than_zero(index)
  (Integer === index) && (index >= 1)
end