Commit 8ed077f7cb50c07c59073a9c47aacc4aaa638034
Committed by
Rodrigo Souto
1 parent
50d4c07f
Exists in
api_tasks
and in
4 other branches
refactoring of find conditions
Showing
3 changed files
with
20 additions
and
14 deletions
Show diff stats
lib/api/helpers.rb
... | ... | @@ -46,6 +46,19 @@ module API |
46 | 46 | end |
47 | 47 | end |
48 | 48 | |
49 | + | |
50 | + def make_conditions_with_parameter(params = {}) | |
51 | + conditions = {} | |
52 | + from_date = DateTime.parse(params[:from]) if params[:from] | |
53 | + until_date = DateTime.parse(params[:until]) if params[:until] | |
54 | + | |
55 | + conditions[:type] = parse_content_type(params[:content_type]) unless params[:content_type].nil? | |
56 | + | |
57 | + conditions[:created_at] = period(from_date, until_date) | |
58 | + | |
59 | + conditions | |
60 | + end | |
61 | + | |
49 | 62 | #FIXME see if its needed |
50 | 63 | # def paginate(relation) |
51 | 64 | # per_page = params[:per_page].to_i | ... | ... |
lib/api/v1/articles.rb
... | ... | @@ -19,16 +19,13 @@ module API |
19 | 19 | # :params => API::Entities::Article.documentation |
20 | 20 | # } |
21 | 21 | get do |
22 | - from_date = DateTime.parse(params[:from]) if params[:from] | |
23 | - until_date = DateTime.parse(params[:until]) if params[:until] | |
24 | 22 | |
25 | - | |
26 | - conditions = {} | |
27 | 23 | #FIXME remove this line when hub be implemented |
28 | - params[:content_type] = 'Folder' if params[:content_type].downcase == 'hub' | |
24 | + params[:content_type] = 'Folder' if ((params[:content_type].nil? ? '' : params[:content_type].downcase) == 'hub') | |
25 | + params[:content_type] = 'Folder' if ((params[:content_type].nil? ? '' : params[:content_type]) == 'CommunityHubPlugin::Hub') | |
26 | + | |
27 | + conditions = make_conditions_with_parameter(params) | |
29 | 28 | |
30 | - conditions[:type] = parse_content_type(params[:content_type]) | |
31 | - conditions[:created_at] = period(from_date, until_date) | |
32 | 29 | if params[:reference_id] |
33 | 30 | articles = environment.articles.send("#{params.key?(:oldest) ? 'older_than' : 'newer_than'}", params[:reference_id]).find(:all, :conditions => conditions, :limit => limit, :order => "created_at DESC") |
34 | 31 | else |
... | ... | @@ -46,9 +43,7 @@ module API |
46 | 43 | from_date = DateTime.parse(params[:from]) if params[:from] |
47 | 44 | until_date = DateTime.parse(params[:until]) if params[:until] |
48 | 45 | |
49 | - conditions = {} | |
50 | - conditions[:type] = parse_content_type(params[:content_type]) | |
51 | - conditions[:created_at] = period(from_date, until_date) | |
46 | + conditions = make_conditions_with_parameter(params) | |
52 | 47 | if params[:reference_id] |
53 | 48 | articles = environment.articles.find(params[:id]).children.send("#{params.key?(:oldest) ? 'older_than' : 'newer_than'}", params[:reference_id]).find(:all, :conditions => conditions, :limit => limit, :order => "created_at DESC") |
54 | 49 | else | ... | ... |
lib/api/v1/comments.rb
... | ... | @@ -16,11 +16,9 @@ module API |
16 | 16 | # Example Request: |
17 | 17 | # GET /articles/12/comments?oldest&limit=10&reference_id=23 |
18 | 18 | get ":id/comments" do |
19 | - from_date = DateTime.parse(params[:from]) if params[:from] | |
20 | - until_date = DateTime.parse(params[:until]) if params[:until] | |
21 | 19 | |
22 | - conditions = {} | |
23 | - conditions[:created_at] = period(from_date, until_date) | |
20 | + conditions = make_conditions_with_parameter(params) | |
21 | + | |
24 | 22 | if params[:reference_id] |
25 | 23 | comments = environment.articles.find(params[:id]).comments.send("#{params.key?(:oldest) ? 'older_than' : 'newer_than'}", params[:reference_id]).find(:all, :conditions => conditions, :limit => limit, :order => "created_at DESC") |
26 | 24 | else | ... | ... |