Skip to content

Commit 2fb9f44

Browse files
author
Tom Copeland
committed
Added downloads member to files resource
1 parent 3de1e15 commit 2fb9f44

File tree

5 files changed

+23
-2
lines changed

5 files changed

+23
-2
lines changed

app/controllers/files_controller.rb

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ def index
88
end
99
end
1010

11+
def downloads
12+
render :json => FrsFile.find(params[:id]).frs_dlstats_filetotal_agg.downloads
13+
end
14+
1115
def create
1216
group.verify_existence_of_gforge_file_directory!
1317
contents = params.delete(:contents)
+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class FrsDlstatsFiletotalAgg < ActiveRecord::Base
2+
3+
set_table_name "frs_dlstats_filetotal_agg"
4+
belongs_to :frs_file, :foreign_key => :file_id
5+
6+
end

app/models/frs_file.rb

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ class FrsFile < ActiveRecord::Base
2121
belongs_to :file_type, :foreign_key => 'type_id'
2222
belongs_to :processor
2323
belongs_to :release
24+
25+
has_one :frs_dlstats_filetotal_agg, :dependent => :destroy, :foreign_key => :file_id
2426

2527
before_validation_on_create :set_defaults
2628

config/routes.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
end
1414

1515
map.resources :releases, :except => parent_actions do |release|
16-
release.resources :files
16+
release.resources :files, :member => 'downloads'
1717
end
1818

1919
map.resources :news_bytes, :except => parent_actions

public/index.html

+10-1
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,29 @@ <h3>Resources available</h3>
1212
<pre>
1313
ActionController::Routing::Routes.draw do |map|
1414
map.resources :mirrors
15+
1516
parent_actions = [:create, :new, :index]
17+
1618
map.resources :groups do |group|
1719
group.resource :news_bytes, :only => parent_actions
1820
group.resources :packages, :only => parent_actions
1921
end
22+
2023
map.resources :packages, :except => parent_actions do |package|
2124
package.resources :releases, :only => parent_actions
2225
end
26+
2327
map.resources :releases, :except => parent_actions do |release|
24-
release.resources :files
28+
release.resources :files, :member => 'downloads'
2529
end
30+
2631
map.resources :news_bytes, :except => parent_actions
32+
2733
map.resources :users, :member => [:groups]
34+
2835
map.resources :processors
36+
37+
map.status '/status', :controller => 'status', :action => 'status'
2938
end
3039
</pre>
3140
<p>I'd appreciate <a href="http://rubyforge.org/forum/forum.php?forum_id=32738">suggestions</a> on good ways to generate documentation.</p>

0 commit comments

Comments
 (0)