Class: RailsTracker::IssuesController
Instance Method Summary
collapse
#redirect_to_back_if_valid
Instance Method Details
#currently_tracking ⇒ Object
43
44
45
|
# File 'app/controllers/rails_tracker/issues_controller.rb', line 43
def currently_tracking
@currently_tracked = UsersIssues.where(:user_id => current_user.id)
end
|
#index ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'app/controllers/rails_tracker/issues_controller.rb', line 9
def index
@store = ActiveSupport::Cache::MemoryStore.new
@github = Github::Issues.new do |config|
config.stack.insert_before Github::Response::Jsonize, Faraday::HttpCache, @store
end
@issues = @github.all(:user => RailsTracker.config.user,
:repo => RailsTracker.config.repo,
:state => "open",
:labels => RailsTracker.config.labels)
end
|
#listen ⇒ Object
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'app/controllers/rails_tracker/issues_controller.rb', line 62
def listen
if params["issue"].present? && params["issue"]["state"] == "closed"
issue_id = params["issue"]["id"]
issues = UsersIssues.where(:issue_id => issue_id)
issues.each do |issue|
usr = User.find(issue.user_id)
IssueMailer.delay.resolved_alert(usr,issue)
issue.active = false
issue.save
end
end
render :nothing => true
end
|
#resolved ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'app/controllers/rails_tracker/issues_controller.rb', line 47
def resolved
@store = ActiveSupport::Cache::MemoryStore.new
@github = Github::Issues.new do |config|
config.stack.insert_before Github::Response::Jsonize, Faraday::HttpCache, @store
end
@issues = @github.all(:user => RailsTracker.config.user,
:repo => RailsTracker.config.repo,
:state => "closed",
:labels => RailsTracker.config.labels)
end
|
#track_issue ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
|
# File 'app/controllers/rails_tracker/issues_controller.rb', line 24
def track_issue
issue_id = params[:id]
issue_title = params[:title]
issue_body = params[:body]
UsersIssues.find_or_create_by_user_id_and_issue_id(:user_id => current_user.id,
:issue_id => issue_id,
:title => issue_title,
:body => issue_body)
redirect_to_back_if_valid
end
|
#un_track ⇒ Object
36
37
38
39
40
41
|
# File 'app/controllers/rails_tracker/issues_controller.rb', line 36
def un_track
@issue = UsersIssues.where(:user_id => current_user.id, :issue_id => params[:id])
@issue[0].delete if @issue[0].present?
redirect_to_back_if_valid
end
|