Commit 8ed077f7cb50c07c59073a9c47aacc4aaa638034
Committed by
Rodrigo Souto
1 parent
50d4c07f
Exists in
staging
and in
41 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 | ... | ... |