class DitzStr::HtmlView

Constants

SUPPORT_FILES

Public Class Methods

new(project, config, dir) click to toggle source
# File lib/ditzstr/views.rb, line 60
def initialize project, config, dir
  @project = project
  @config = config
  @dir = dir
  @template_dir = File.dirname DitzStr::find_ditz_file("index.rhtml")
end

Public Instance Methods

generate_component_html_str(links, c, brickargs={}) click to toggle source
# File lib/ditzstr/views.rb, line 104
def generate_component_html_str links, c, brickargs={}
      ErbHtml.new(@template_dir, links, :component => c, :brickargs=>brickargs,
        :issues => @project.issues_for_component(c), :project => @project).
        render_template("component")
end
generate_index_html_str(links, brickargs={}) click to toggle source
# File lib/ditzstr/views.rb, line 90
def generate_index_html_str links, brickargs={}
      past_rels, upcoming_rels = @project.releases.partition { |r| r.released? }
      ErbHtml.new(@template_dir, links, :project => @project,
        :past_releases => past_rels, :upcoming_releases => upcoming_rels,
        :components => @project.components, :brickargs=>brickargs).
        render_template("index")
end
generate_issue_html_str(links, issue, brickargs={}) click to toggle source
# File lib/ditzstr/views.rb, line 67
def generate_issue_html_str links, issue, brickargs={}
    
    extra_summary = self.class.view_additions_for(:issue_summary).map { |b| b[issue, @config] }.compact
    extra_details = self.class.view_additions_for(:issue_details).map { |b| b[issue, @config] }.compact

    erb = ErbHtml.new(@template_dir, links, :issue => issue,
      :release => (issue.release ? @project.release_for(issue.release) : nil),
      :component => @project.component_for(issue.component),
      :project => @project,:commands=>{},:brickargs=>brickargs)

    extra_summary_html = extra_summary.map { |string, extra_binding| erb.render_string string, extra_binding }.join
    extra_details_html = extra_details.map { |string, extra_binding| erb.render_string string, extra_binding }.join

    erb.render_template("issue", { :extra_summary_html => extra_summary_html, :extra_details_html => extra_details_html })

end
generate_release_html_str(links, r, brickargs={}) click to toggle source
# File lib/ditzstr/views.rb, line 84
def generate_release_html_str links, r, brickargs={}
      ErbHtml.new(@template_dir, links, :release => r,
        :issues => @project.issues_for_release(r), :project => @project, :brickargs=>brickargs).
        render_template("release")
end
generate_unassigned_html_str(links, brickargs={}) click to toggle source
# File lib/ditzstr/views.rb, line 98
def generate_unassigned_html_str links, brickargs={}
      ErbHtml.new(@template_dir, links, :brickargs=>brickargs,
               :issues => @project.unassigned_issues, :project => @project).
               render_template("unassigned")
end
render_all() click to toggle source
# File lib/ditzstr/views.rb, line 123
def render_all
  Dir.mkdir @dir unless File.exists? @dir
  SUPPORT_FILES.each { |f| FileUtils.cp File.join(@template_dir, f), @dir }

  links = generate_links
 
  @project.issues.each do |issue|
    fn = File.join @dir, links[issue]
    File.open(fn, "w") { |f| f.puts generate_issue_html_str links, issue}
  end

  @project.releases.each do |r|
    fn = File.join @dir, links[r]
    File.open(fn, "w") { |f| f.puts generate_release_html_str links, r}
  end

  @project.components.each do |c|
    fn = File.join @dir, links[c]
    File.open(fn, "w") { |f| f.puts generate_component_html_str links, c}
  end

  fn = File.join @dir, links["unassigned"]
  File.open(fn, "w") do |f|
    f.puts generate_unassigned_html_str links
  end

  fn = File.join @dir, links["index"]
  File.open(fn, "w") do |f|
    f.puts generate_index_html_str links
  end
  puts "Local generated URL: file://#{File.expand_path(fn)}"
end