Class: DitzStr::BrickView

Inherits:
HtmlView show all
Defined in:
lib/ditzstr/brick.rb

Constant Summary

Constants inherited from HtmlView

HtmlView::SUPPORT_FILES

Instance Method Summary collapse

Methods inherited from HtmlView

#generate_component_html_str, #generate_index_html_str, #generate_issue_html_str, #generate_links, #generate_release_html_str, #generate_unassigned_html_str, #render_all

Methods inherited from View

add_to_view, view_additions_for

Constructor Details

#initialize(project, config, dir) ⇒ BrickView

Returns a new instance of BrickView.



9
10
11
# File 'lib/ditzstr/brick.rb', line 9

def initialize project, config, dir
  super project, config, dir
end

Instance Method Details

#comment_on_issue(issuename, comment) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/ditzstr/brick.rb', line 27

def comment_on_issue issuename, comment

  issue_res = get_issue_by_name issuename

  if issue_res[0]
    iss = issue_res[1]
    iss.log "commented", @config.user, comment
    return "<html><head><meta HTTP-EQUIV=\"REFRESH\" content=\"0; url=/issue-#{issuename}.html\"></head><body>Redirecting...</body></html>"
  else
    return issue_res[1]
  end
end

#edit_issue(issuename, changes) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/ditzstr/brick.rb', line 18

def edit_issue issuename, changes
  if changes[:description] != nil
  end
  if changes[:reporter] != nil
  end
  if changes[:title] != nil
  end
end

#generate_close_issue(issue_id, disposition) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/ditzstr/brick.rb', line 43

def generate_close_issue issue_id, disposition

  issue_res = get_issue_by_name issue_id

  if issue_res[0]
    issue = issue_res[1]
    erb = ERB.new IO.read(File.join(@template_dir, "close.rhtml"))
    return erb.result binding()
  else
    return issue_res[1]
  end
end

#generate_component(comp_name) ⇒ Object



87
88
89
90
91
92
93
94
95
# File 'lib/ditzstr/brick.rb', line 87

def generate_component comp_name

  #TODO Actions
  issue_link = "/new_issue.html?component=#{comp_name}"

  links = generate_links
  c = @project.component_for comp_name
  generate_component_html_str links, c, {:brick=>true}
end

#generate_edit_issue(issue_id) ⇒ Object



40
41
# File 'lib/ditzstr/brick.rb', line 40

def generate_edit_issue issue_id
end

#generate_indexObject



72
73
74
75
# File 'lib/ditzstr/brick.rb', line 72

def generate_index 
  links = generate_links
  generate_index_html_str links, {:brick=>true}
end

#generate_issue(issuename) ⇒ Object



97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/ditzstr/brick.rb', line 97

def generate_issue issuename

  links = generate_links

  issue_res = get_issue_by_name issuename

  if issue_res[0]
    return generate_issue_html_str links, issue_res[1], {:brick=>true}
  else
    return issue_res[1]
  end
end

#generate_new_componentObject



62
63
64
65
# File 'lib/ditzstr/brick.rb', line 62

def generate_new_component
  erb = ERB.new IO.read(File.join(@template_dir, "new_component.rhtml"))
  return erb.result binding()
end

#generate_new_issue(options) ⇒ Object



56
57
58
59
60
# File 'lib/ditzstr/brick.rb', line 56

def generate_new_issue options
      past_rels, upcoming_rels = @project.releases.partition { |r| r.released? }
  erb = ERB.new IO.read(File.join(@template_dir, "new_issue.rhtml"))
  return erb.result binding()
end

#generate_new_releaseObject



67
68
69
70
# File 'lib/ditzstr/brick.rb', line 67

def generate_new_release
  erb = ERB.new IO.read(File.join(@template_dir,"new_release.rhtml"))
  return erb.result binding()
end

#generate_release(relname) ⇒ Object



77
78
79
80
81
82
83
84
85
# File 'lib/ditzstr/brick.rb', line 77

def generate_release relname

  issue_link = "/new_issue.html?release=#{relname}"
  #TODO Actions

  links = generate_links
  r = @project.release_for relname
  generate_release_html_str links, r, {:brick=>true}
end

#get_issue_by_name(issuename) ⇒ Object



110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/ditzstr/brick.rb', line 110

def get_issue_by_name issuename
  issues_vec = @project.issues_for issuename

  case issues_vec.size
  when 0;
    return [false,"<html><body>No such issue found...</body></html>"];
  when 1;
    return [true,issues_vec.first]
  else
    return [false,"<html><body>Multiple issues found...</body></html>"];
  end
end


13
14
15
16
# File 'lib/ditzstr/brick.rb', line 13

def link_to name, text
  links = generate_links
  return "<a href=\"#{links[name]}\">#{text}</a>"
end