Commit a1dad6bab9a848feb20898bf3026a8a00e8ff14f
1 parent
816d1df6
Exists in
master
and in
20 other branches
rails4: replace :conditions by where
:conditions will replace previous scopes in rails4
Showing
91 changed files
with
392 additions
and
409 deletions
Show diff stats
app/controllers/admin/admin_panel_controller.rb
... | ... | @@ -54,7 +54,7 @@ class AdminPanelController < AdminController |
54 | 54 | |
55 | 55 | if request.post? |
56 | 56 | env = environment |
57 | - folders = params[:folders].map{|fid| Folder.find(:first, :conditions => {:profile_id => env.portal_community, :id => fid})} if params[:folders] | |
57 | + folders = Folder.where :profile_id => env.portal_community, :id => params[:folders] if params[:folders] | |
58 | 58 | env.portal_folders = folders |
59 | 59 | if env.save |
60 | 60 | session[:notice] = _('Saved the portal folders') | ... | ... |
app/controllers/admin/categories_controller.rb
1 | 1 | class CategoriesController < AdminController |
2 | 2 | |
3 | 3 | protect 'manage_environment_categories', :environment |
4 | - | |
4 | + | |
5 | 5 | helper :categories |
6 | 6 | |
7 | 7 | def index |
8 | - @categories = environment.categories.find(:all, :conditions => "parent_id is null AND type is null") | |
9 | - @regions = environment.regions.find(:all, :conditions => {:parent_id => nil}) | |
10 | - @product_categories = environment.product_categories.find(:all, :conditions => {:parent_id => nil}) | |
8 | + @categories = environment.categories.where("parent_id is null AND type is null") | |
9 | + @regions = environment.regions.where(:parent_id => nil) | |
10 | + @product_categories = environment.product_categories.where(:parent_id => nil) | |
11 | 11 | end |
12 | 12 | |
13 | 13 | def get_children | ... | ... |
app/controllers/admin/environment_role_manager_controller.rb
... | ... | @@ -2,7 +2,7 @@ class EnvironmentRoleManagerController < AdminController |
2 | 2 | protect 'manage_environment_roles', :environment |
3 | 3 | |
4 | 4 | def index |
5 | - @admins = Person.find(:all, :conditions => ['role_assignments.resource_type = ?', 'Environment'], :include => :role_assignments ) | |
5 | + @admins = Person.where('role_assignments.resource_type = ?', 'Environment').includes(:role_assignments) | |
6 | 6 | end |
7 | 7 | |
8 | 8 | def change_roles | ... | ... |
app/controllers/admin/features_controller.rb
1 | 1 | class FeaturesController < AdminController |
2 | 2 | protect 'edit_environment_features', :environment |
3 | - | |
3 | + | |
4 | 4 | def index |
5 | 5 | @features = Environment.available_features.sort_by{|k,v|v} |
6 | 6 | end |
... | ... | @@ -53,7 +53,7 @@ class FeaturesController < AdminController |
53 | 53 | |
54 | 54 | def search_members |
55 | 55 | arg = params[:q].downcase |
56 | - result = environment.people.find(:all, :conditions => ['LOWER(name) LIKE ? OR identifier LIKE ?', "%#{arg}%", "%#{arg}%"]) | |
56 | + result = environment.people.where('LOWER(name) LIKE ? OR identifier LIKE ?', "%#{arg}%", "%#{arg}%") | |
57 | 57 | render :text => prepare_to_token_input(result).to_json |
58 | 58 | end |
59 | 59 | ... | ... |
app/controllers/admin/users_controller.rb
... | ... | @@ -63,7 +63,7 @@ class UsersController < AdminController |
63 | 63 | respond_to do |format| |
64 | 64 | format.html |
65 | 65 | format.xml do |
66 | - users = User.find(:all, :conditions => {:environment_id => environment.id}, :include => [:person]) | |
66 | + users = User.where(:environment_id => environment.id).includes(:person) | |
67 | 67 | send_data users.to_xml( |
68 | 68 | :skip_types => true, |
69 | 69 | :only => %w[email login created_at updated_at], | ... | ... |
app/controllers/box_organizer_controller.rb
... | ... | @@ -84,9 +84,9 @@ class BoxOrganizerController < ApplicationController |
84 | 84 | if request.xhr? and params[:query] |
85 | 85 | search = params[:query] |
86 | 86 | path_list = if boxes_holder.is_a?(Environment) && boxes_holder.enabled?('use_portal_community') && boxes_holder.portal_community |
87 | - boxes_holder.portal_community.articles.find(:all, :conditions=>"name ILIKE '%#{search}%' or path ILIKE '%#{search}%'", :limit=>20).map { |content| "/{portal}/"+content.path } | |
87 | + boxes_holder.portal_community.articles.where("name ILIKE ? OR path ILIKE ?", "%#{search}%", "%#{search}%").limit(20).map { |content| "/{portal}/"+content.path } | |
88 | 88 | elsif boxes_holder.is_a?(Profile) |
89 | - boxes_holder.articles.find(:all, :conditions=>"name ILIKE '%#{search}%' or path ILIKE '%#{search}%'", :limit=>20).map { |content| "/{profile}/"+content.path } | |
89 | + boxes_holder.articles.where("name ILIKE ? OR path ILIKE ?", "%#{search}%", "%#{search}%").limit(20).map { |content| "/{profile}/"+content.path } | |
90 | 90 | else |
91 | 91 | [] |
92 | 92 | end | ... | ... |
app/controllers/my_profile/cms_controller.rb
... | ... | @@ -57,16 +57,9 @@ class CmsController < MyProfileController |
57 | 57 | |
58 | 58 | def view |
59 | 59 | @article = profile.articles.find(params[:id]) |
60 | - conditions = [] | |
61 | - if @article.has_posts? | |
62 | - conditions = ['type != ?', 'RssFeed'] | |
63 | - end | |
64 | - | |
65 | - @articles = @article.children.reorder("case when type = 'Folder' then 0 when type ='Blog' then 1 else 2 end, updated_at DESC, name").paginate( | |
66 | - :conditions => conditions, | |
67 | - :per_page => per_page, | |
68 | - :page => params[:npage] | |
69 | - ) | |
60 | + @articles = @article.children.reorder("case when type = 'Folder' then 0 when type ='Blog' then 1 else 2 end, updated_at DESC, name") | |
61 | + @articles = @articles.where type: 'RssFeed' if @article.has_posts? | |
62 | + @articles = @articles.paginate per_page: per_page, page: params[:npage] | |
70 | 63 | end |
71 | 64 | |
72 | 65 | def index |
... | ... | @@ -390,7 +383,7 @@ class CmsController < MyProfileController |
390 | 383 | |
391 | 384 | def search_article_privacy_exceptions |
392 | 385 | arg = params[:q].downcase |
393 | - result = profile.members.find(:all, :conditions => ['LOWER(name) LIKE ?', "%#{arg}%"]) | |
386 | + result = profile.members.where('LOWER(name) LIKE ?', "%#{arg}%") | |
394 | 387 | render :text => prepare_to_token_input(result).to_json |
395 | 388 | end |
396 | 389 | ... | ... |
app/controllers/my_profile/profile_members_controller.rb
... | ... | @@ -47,7 +47,7 @@ class ProfileMembersController < MyProfileController |
47 | 47 | end |
48 | 48 | |
49 | 49 | def remove_role |
50 | - @association = RoleAssignment.find(:all, :conditions => {:id => params[:id], :target_id => profile.id}) | |
50 | + @association = RoleAssignment.where(:id => params[:id], :target_id => profile.id) | |
51 | 51 | if @association.destroy |
52 | 52 | session[:notice] = 'Member succefully unassociated' |
53 | 53 | else |
... | ... | @@ -120,7 +120,7 @@ class ProfileMembersController < MyProfileController |
120 | 120 | |
121 | 121 | def search_user |
122 | 122 | role = Role.find(params[:role]) |
123 | - render :text => environment.people.find(:all, :conditions => ['LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?', "%#{params['q_'+role.key]}%", "%#{params['q_'+role.key]}%"]). | |
123 | + render :text => environment.people.where('LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?', "%#{params['q_'+role.key]}%", "%#{params['q_'+role.key]}%"). | |
124 | 124 | select { |person| !profile.members_by_role(role).include?(person) }. |
125 | 125 | map {|person| {:id => person.id, :name => person.name} }. |
126 | 126 | to_json | ... | ... |
app/controllers/my_profile/tasks_controller.rb
... | ... | @@ -86,7 +86,7 @@ class TasksController < MyProfileController |
86 | 86 | end |
87 | 87 | |
88 | 88 | def ticket_details |
89 | - @ticket = Ticket.find(:first, :conditions => ['(requestor_id = ? or target_id = ?) and id = ?', profile.id, profile.id, params[:id]]) | |
89 | + @ticket = Ticket.where('(requestor_id = ? or target_id = ?) and id = ?', profile.id, profile.id, params[:id]).first | |
90 | 90 | end |
91 | 91 | |
92 | 92 | end | ... | ... |
app/controllers/public/profile_controller.rb
... | ... | @@ -36,7 +36,7 @@ class ProfileController < PublicController |
36 | 36 | |
37 | 37 | def tag_feed |
38 | 38 | @tag = params[:id] |
39 | - tagged = profile.articles.paginate(:per_page => 20, :page => 1, :order => 'published_at DESC', :include => :tags, :conditions => ['tags.name LIKE ?', @tag]) | |
39 | + tagged = profile.articles.paginate(:per_page => 20, :page => 1).order('published_at DESC').includes(:tags).where('tags.name LIKE ?', @tag) | |
40 | 40 | feed_writer = FeedWriter.new |
41 | 41 | data = feed_writer.write( |
42 | 42 | tagged, |
... | ... | @@ -201,7 +201,7 @@ class ProfileController < PublicController |
201 | 201 | |
202 | 202 | def more_comments |
203 | 203 | profile_filter = @profile.person? ? {:user_id => @profile} : {:target_id => @profile} |
204 | - activity = ActionTracker::Record.find(:first, :conditions => {:id => params[:activity]}.merge(profile_filter)) | |
204 | + activity = ActionTracker::Record.where({:id => params[:activity]}.merge profile_filter).first | |
205 | 205 | comments_count = activity.comments.count |
206 | 206 | comment_page = (params[:comment_page] || 1).to_i |
207 | 207 | comments_per_page = 5 |
... | ... | @@ -221,7 +221,7 @@ class ProfileController < PublicController |
221 | 221 | end |
222 | 222 | |
223 | 223 | def more_replies |
224 | - activity = Scrap.find(:first, :conditions => {:id => params[:activity], :receiver_id => @profile, :scrap_id => nil}) | |
224 | + activity = Scrap.where(:id => params[:activity], :receiver_id => @profile, :scrap_id => nil).first | |
225 | 225 | comments_count = activity.replies.count |
226 | 226 | comment_page = (params[:comment_page] || 1).to_i |
227 | 227 | comments_per_page = 5 |
... | ... | @@ -268,7 +268,7 @@ class ProfileController < PublicController |
268 | 268 | def remove_notification |
269 | 269 | begin |
270 | 270 | raise if !can_edit_profile |
271 | - notification = ActionTrackerNotification.find(:first, :conditions => {:profile_id => profile.id, :action_tracker_id => params[:activity_id]}) | |
271 | + notification = ActionTrackerNotification.where(profile_id: profile.id, action_tracker_id: params[:activity_id]).first | |
272 | 272 | notification.destroy |
273 | 273 | render :text => _('Notification successfully removed.') |
274 | 274 | rescue | ... | ... |
app/mailers/environment_mailing.rb
1 | 1 | class EnvironmentMailing < Mailing |
2 | 2 | |
3 | 3 | def recipients(offset=0, limit=100) |
4 | - source.people.all(:order => :id, :offset => offset, :limit => limit, :joins => "LEFT OUTER JOIN mailing_sents m ON (m.mailing_id = #{id} AND m.person_id = profiles.id)", :conditions => { "m.person_id" => nil }) | |
4 | + source.people.order(:id).offset(offset).limit(limit) | |
5 | + .joins("LEFT OUTER JOIN mailing_sents m ON (m.mailing_id = #{id} AND m.person_id = profiles.id)") | |
6 | + .where("m.person_id" => nil) | |
5 | 7 | end |
6 | 8 | |
7 | 9 | def each_recipient | ... | ... |
app/mailers/organization_mailing.rb
... | ... | @@ -5,7 +5,9 @@ class OrganizationMailing < Mailing |
5 | 5 | end |
6 | 6 | |
7 | 7 | def recipients(offset=0, limit=100) |
8 | - source.members.all(:order => :id, :offset => offset, :limit => limit, :joins => "LEFT OUTER JOIN mailing_sents m ON (m.mailing_id = #{id} AND m.person_id = profiles.id)", :conditions => { "m.person_id" => nil }) | |
8 | + source.members.order(:id).offset(offset).limit(limit) | |
9 | + .joins("LEFT OUTER JOIN mailing_sents m ON (m.mailing_id = #{id} AND m.person_id = profiles.id)") | |
10 | + .where("m.person_id" => nil) | |
9 | 11 | end |
10 | 12 | |
11 | 13 | def each_recipient | ... | ... |
app/models/article.rb
... | ... | @@ -73,7 +73,7 @@ class Article < ActiveRecord::Base |
73 | 73 | |
74 | 74 | has_many :comments, :class_name => 'Comment', :foreign_key => 'source_id', :dependent => :destroy, :order => 'created_at asc' |
75 | 75 | |
76 | - has_many :article_categorizations, :conditions => [ 'articles_categories.virtual = ?', false ] | |
76 | + has_many :article_categorizations, -> { where 'articles_categories.virtual = ?', false } | |
77 | 77 | has_many :categories, :through => :article_categorizations |
78 | 78 | |
79 | 79 | has_many :article_categorizations_including_virtual, :class_name => 'ArticleCategorization' |
... | ... | @@ -125,15 +125,13 @@ class Article < ActiveRecord::Base |
125 | 125 | |
126 | 126 | xss_terminate :only => [ :name ], :on => 'validation', :with => 'white_list' |
127 | 127 | |
128 | - scope :in_category, lambda { |category| | |
129 | - {:include => 'categories_including_virtual', :conditions => { 'categories.id' => category.id }} | |
128 | + scope :in_category, -> (category) { | |
129 | + includes('categories_including_virtual').where('categories.id' => category.id) | |
130 | 130 | } |
131 | 131 | |
132 | - scope :by_range, lambda { |range| { | |
133 | - :conditions => [ | |
134 | - 'articles.published_at BETWEEN :start_date AND :end_date', { :start_date => range.first, :end_date => range.last } | |
135 | - ] | |
136 | - }} | |
132 | + scope :by_range, -> (range) { | |
133 | + where 'articles.published_at BETWEEN :start_date AND :end_date', { start_date: range.first, end_date: range.last } | |
134 | + } | |
137 | 135 | |
138 | 136 | URL_FORMAT = /\A(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?\Z/ix |
139 | 137 | |
... | ... | @@ -255,20 +253,21 @@ class Article < ActiveRecord::Base |
255 | 253 | |
256 | 254 | # retrieves all articles belonging to the given +profile+ that are not |
257 | 255 | # sub-articles of any other article. |
258 | - scope :top_level_for, lambda { |profile| | |
259 | - {:conditions => [ 'parent_id is null and profile_id = ?', profile.id ]} | |
256 | + scope :top_level_for, -> { | |
257 | + where 'parent_id is null and profile_id = ?', profile.id | |
260 | 258 | } |
261 | 259 | |
262 | - # :public is reserved on rails 4.1, use is_public instead | |
263 | - scope :is_public, | |
264 | - :conditions => [ "advertise = ? AND published = ? AND profiles.visible = ? AND profiles.public_profile = ?", true, true, true, true ], :joins => [:profile] | |
260 | + scope :is_public, -> { | |
261 | + joins(:profile). | |
262 | + where("advertise = ? AND published = ? AND profiles.visible = ? AND profiles.public_profile = ?", true, true, true, true) | |
263 | + } | |
265 | 264 | |
266 | - scope :more_recent, | |
267 | - :conditions => [ "advertise = ? AND published = ? AND profiles.visible = ? AND profiles.public_profile = ? AND | |
268 | - ((articles.type != ?) OR articles.type is NULL)", | |
269 | - true, true, true, true, 'RssFeed' | |
270 | - ], | |
271 | - :order => 'articles.published_at desc, articles.id desc' | |
265 | + scope :more_recent, -> { | |
266 | + order('articles.published_at desc, articles.id desc') | |
267 | + .where("advertise = ? AND published = ? AND profiles.visible = ? AND profiles.public_profile = ? AND | |
268 | + ((articles.type != ?) OR articles.type is NULL)", | |
269 | + true, true, true, true, 'RssFeed') | |
270 | + } | |
272 | 271 | |
273 | 272 | # retrives the most commented articles, sorted by the comment count (largest |
274 | 273 | # first) |
... | ... | @@ -276,8 +275,10 @@ class Article < ActiveRecord::Base |
276 | 275 | paginate(:order => 'comments_count DESC', :page => 1, :per_page => limit) |
277 | 276 | end |
278 | 277 | |
279 | - scope :more_popular, :order => 'hits DESC' | |
280 | - scope :relevant_as_recent, :conditions => ["(articles.type != 'UploadedFile' and articles.type != 'RssFeed' and articles.type != 'Blog') OR articles.type is NULL"] | |
278 | + scope :more_popular, -> { order 'hits DESC' } | |
279 | + scope :relevant_as_recent, -> { | |
280 | + where "(articles.type != 'UploadedFile' and articles.type != 'RssFeed' and articles.type != 'Blog') OR articles.type is NULL" | |
281 | + } | |
281 | 282 | |
282 | 283 | def self.recent(limit = nil, extra_conditions = {}, pagination = true) |
283 | 284 | result = scoped({:conditions => extra_conditions}). |
... | ... | @@ -406,7 +407,7 @@ class Article < ActiveRecord::Base |
406 | 407 | self.translations.map(&:language) |
407 | 408 | end |
408 | 409 | |
409 | - scope :native_translations, :conditions => { :translation_of_id => nil } | |
410 | + scope :native_translations, -> { where :translation_of_id => nil } | |
410 | 411 | |
411 | 412 | def translatable? |
412 | 413 | false |
... | ... | @@ -461,7 +462,7 @@ class Article < ActiveRecord::Base |
461 | 462 | elsif self.native_translation.language == locale |
462 | 463 | self.native_translation |
463 | 464 | else |
464 | - self.native_translation.translations.first(:conditions => { :language => locale }) | |
465 | + self.native_translation.translations.where(:language => locale).first | |
465 | 466 | end |
466 | 467 | end |
467 | 468 | |
... | ... | @@ -485,19 +486,19 @@ class Article < ActiveRecord::Base |
485 | 486 | ['TextArticle', 'TextileArticle', 'TinyMceArticle'] |
486 | 487 | end |
487 | 488 | |
488 | - scope :published, :conditions => ['articles.published = ?', true] | |
489 | - scope :folders, lambda {|profile|{:conditions => ['articles.type IN (?)', profile.folder_types] }} | |
490 | - scope :no_folders, lambda {|profile|{:conditions => ['articles.type NOT IN (?)', profile.folder_types]}} | |
491 | - scope :galleries, :conditions => [ "articles.type IN ('Gallery')" ] | |
492 | - scope :images, :conditions => { :is_image => true } | |
493 | - scope :no_images, :conditions => { :is_image => false } | |
494 | - scope :text_articles, :conditions => [ 'articles.type IN (?)', text_article_types ] | |
495 | - scope :files, :conditions => { :type => 'UploadedFile' } | |
496 | - scope :with_types, lambda { |types| { :conditions => [ 'articles.type IN (?)', types ] } } | |
489 | + scope :published, -> { where 'articles.published = ?', true } | |
490 | + scope :folders, -> (profile) { where 'articles.type IN (?)', profile.folder_types } | |
491 | + scope :no_folders, -> (profile) { where 'articles.type NOT IN (?)', profile.folder_types } | |
492 | + scope :galleries, -> { where "articles.type IN ('Gallery')" } | |
493 | + scope :images, -> { where :is_image => true } | |
494 | + scope :no_images, -> { where :is_image => false } | |
495 | + scope :text_articles, -> { where 'articles.type IN (?)', text_article_types } | |
496 | + scope :files, -> { where :type => 'UploadedFile' } | |
497 | + scope :with_types, -> (types) { where 'articles.type IN (?)', types } | |
497 | 498 | |
498 | - scope :more_popular, :order => 'hits DESC' | |
499 | - scope :more_comments, :order => "comments_count DESC" | |
500 | - scope :more_recent, :order => "created_at DESC" | |
499 | + scope :more_popular, -> { order 'hits DESC' } | |
500 | + scope :more_comments, -> { order "comments_count DESC" } | |
501 | + scope :more_recent, -> { order "created_at DESC" } | |
501 | 502 | |
502 | 503 | scope :display_filter, lambda {|user, profile| |
503 | 504 | return published if (user.nil? && profile && profile.public?) |
... | ... | @@ -619,7 +620,7 @@ class Article < ActiveRecord::Base |
619 | 620 | ] |
620 | 621 | |
621 | 622 | def self.find_by_old_path(old_path) |
622 | - find(:first, :include => :versions, :conditions => ['article_versions.path = ?', old_path], :order => 'article_versions.id desc') | |
623 | + self.includes(:versions).where( 'article_versions.path = ?', old_path).order('article_versions.id DESC') | |
623 | 624 | end |
624 | 625 | |
625 | 626 | def hit | ... | ... |
app/models/block.rb
... | ... | @@ -20,7 +20,7 @@ class Block < ActiveRecord::Base |
20 | 20 | |
21 | 21 | acts_as_having_settings |
22 | 22 | |
23 | - scope :enabled, :conditions => { :enabled => true } | |
23 | + scope :enabled, -> { where :enabled => true } | |
24 | 24 | |
25 | 25 | after_save do |block| |
26 | 26 | if block.owner.kind_of?(Profile) && block.owner.is_template? && block.mirror? | ... | ... |
app/models/blog_archives_block.rb
... | ... | @@ -35,7 +35,7 @@ class BlogArchivesBlock < Block |
35 | 35 | posts.except(:order).count(:all, :group => 'EXTRACT(YEAR FROM published_at)').sort_by {|year, count| -year.to_i}.each do |year, count| |
36 | 36 | results << content_tag('li', content_tag('strong', "#{year} (#{count})")) |
37 | 37 | results << "<ul class='#{year}-archive'>" |
38 | - posts.except(:order).count(:all, :conditions => ['EXTRACT(YEAR FROM published_at)=?', year], :group => 'EXTRACT(MONTH FROM published_at)').sort_by {|month, count| -month.to_i}.each do |month, count| | |
38 | + posts.except(:order).where('EXTRACT(YEAR FROM published_at)=?', year).group('EXTRACT(MONTH FROM published_at)').count.sort_by {|month, count| -month.to_i}.each do |month, count| | |
39 | 39 | results << content_tag('li', link_to("#{month_name(month.to_i)} (#{count})", owner_blog.url.merge(:year => year, :month => month))) |
40 | 40 | end |
41 | 41 | results << "</ul>" | ... | ... |
app/models/box.rb
... | ... | @@ -7,7 +7,7 @@ class Box < ActiveRecord::Base |
7 | 7 | |
8 | 8 | include Noosfero::Plugin::HotSpot |
9 | 9 | |
10 | - scope :with_position, :conditions => ['boxes.position > 0'] | |
10 | + scope :with_position, -> { where 'boxes.position > 0' } | |
11 | 11 | |
12 | 12 | def environment |
13 | 13 | owner ? (owner.kind_of?(Environment) ? owner : owner.environment) : nil | ... | ... |
app/models/categorization.rb
1 | 1 | module Categorization |
2 | 2 | |
3 | 3 | def add_category_to_object(category, object) |
4 | - if !find(:first, :conditions => {object_id_column => object, :category_id => category} ) | |
4 | + if !self.where(object_id_column => object, :category_id => category).first | |
5 | 5 | connection.execute("insert into #{table_name} (category_id, #{object_id_column}) values(#{category.id}, #{object.id})") |
6 | 6 | |
7 | 7 | c = category.parent |
8 | - while !c.nil? && !self.find(:first, :conditions => {object_id_column => object, :category_id => c}) | |
8 | + while !c.nil? && !self.where(object_id_column => object, :category_id => c).first | |
9 | 9 | connection.execute("insert into #{table_name} (category_id, #{object_id_column}, virtual) values(#{c.id}, #{object.id}, 1>0)") |
10 | 10 | c = c.parent |
11 | 11 | end | ... | ... |
app/models/category.rb
... | ... | @@ -14,12 +14,12 @@ class Category < ActiveRecord::Base |
14 | 14 | validates_uniqueness_of :slug,:scope => [ :environment_id, :parent_id ], :message => N_('{fn} is already being used by another category.').fix_i18n |
15 | 15 | belongs_to :environment |
16 | 16 | |
17 | - # Finds all top level categories for a given environment. | |
18 | - scope :top_level_for, lambda { |environment| | |
19 | - {:conditions => ['parent_id is null and environment_id = ?', environment.id ]} | |
17 | + # Finds all top level categories for a given environment. | |
18 | + scope :top_level_for, -> (environment) { | |
19 | + where 'parent_id is null and environment_id = ?', environment.id | |
20 | 20 | } |
21 | 21 | |
22 | - scope :on_level, lambda { |parent| {:conditions => {:parent_id => parent}} } | |
22 | + scope :on_level, -> (parent) { where :parent_id => parent } | |
23 | 23 | |
24 | 24 | acts_as_filesystem |
25 | 25 | |
... | ... | @@ -46,10 +46,10 @@ class Category < ActiveRecord::Base |
46 | 46 | display_color = nil if display_color.blank? |
47 | 47 | end |
48 | 48 | |
49 | - scope :from_types, lambda { |types| | |
50 | - types.select{ |t| t.blank? }.empty? ? | |
51 | - { :conditions => { :type => types } } : | |
52 | - { :conditions => [ "type IN (?) OR type IS NULL", types.reject{ |t| t.blank? } ] } | |
49 | + scope :from_types, -> (types) { | |
50 | + if types.select{ |t| t.blank? }.empty? then | |
51 | + where(type: types) else | |
52 | + where("type IN (?) OR type IS NULL", types.reject{ |t| t.blank? }) end | |
53 | 53 | } |
54 | 54 | |
55 | 55 | def recent_people(limit = 10) |
... | ... | @@ -81,7 +81,7 @@ class Category < ActiveRecord::Base |
81 | 81 | end |
82 | 82 | |
83 | 83 | def upcoming_events(limit = 10) |
84 | - self.events.paginate(:conditions => [ 'start_date >= ?', Date.today ], :order => 'start_date', :page => 1, :per_page => limit) | |
84 | + self.events.where('start_date >= ?', Date.today).order('start_date').paginate(:page => 1, :per_page => limit) | |
85 | 85 | end |
86 | 86 | |
87 | 87 | def display_in_menu? |
... | ... | @@ -90,11 +90,11 @@ class Category < ActiveRecord::Base |
90 | 90 | |
91 | 91 | def children_for_menu |
92 | 92 | results = [] |
93 | - pending = children.find(:all, :conditions => { :display_in_menu => true}) | |
93 | + pending = children.where :display_in_menu => true | |
94 | 94 | while !pending.empty? |
95 | 95 | cat = pending.shift |
96 | 96 | results << cat |
97 | - pending += cat.children.find(:all, :conditions => { :display_in_menu => true} ) | |
97 | + pending += cat.children.where :display_in_menu => true | |
98 | 98 | end |
99 | 99 | |
100 | 100 | results |
... | ... | @@ -102,7 +102,7 @@ class Category < ActiveRecord::Base |
102 | 102 | |
103 | 103 | def is_leaf_displayable_in_menu? |
104 | 104 | return false if self.display_in_menu == false |
105 | - self.children.find(:all, :conditions => {:display_in_menu => true}).empty? | |
105 | + self.children.where(:display_in_menu => true).empty? | |
106 | 106 | end |
107 | 107 | |
108 | 108 | def with_color | ... | ... |
app/models/comment.rb
... | ... | @@ -18,7 +18,7 @@ class Comment < ActiveRecord::Base |
18 | 18 | has_many :children, :class_name => 'Comment', :foreign_key => 'reply_of_id', :dependent => :destroy |
19 | 19 | belongs_to :reply_of, :class_name => 'Comment', :foreign_key => 'reply_of_id' |
20 | 20 | |
21 | - scope :without_reply, :conditions => ['reply_of_id IS NULL'] | |
21 | + scope :without_reply, -> { where 'reply_of_id IS NULL' } | |
22 | 22 | |
23 | 23 | # unauthenticated authors: |
24 | 24 | validates_presence_of :name, :if => (lambda { |record| !record.email.blank? }) | ... | ... |
app/models/domain.rb
... | ... | @@ -37,7 +37,7 @@ class Domain < ActiveRecord::Base |
37 | 37 | # "www.", but it will be removed before searching. So searching for |
38 | 38 | # 'www.example.net' is exactly the same as searching for just 'example.net' |
39 | 39 | def self.find_by_name(name) |
40 | - self.find(:first, :conditions => [ 'name = ?', self.extract_domain_name(name) ]) | |
40 | + self.where('name = ?', self.extract_domain_name(name)).first | |
41 | 41 | end |
42 | 42 | |
43 | 43 | # turns the argument (expected to be a String) into a domain name that is | ... | ... |
app/models/enterprise.rb
... | ... | @@ -68,7 +68,7 @@ class Enterprise < Organization |
68 | 68 | end |
69 | 69 | |
70 | 70 | def highlighted_products_with_image(options = {}) |
71 | - Product.find(:all, {:conditions => {:highlighted => true}, :joins => :image}.merge(options)) | |
71 | + Product.where(:highlighted => true).joins(:image) | |
72 | 72 | end |
73 | 73 | |
74 | 74 | def required_fields | ... | ... |
app/models/environment.rb
... | ... | @@ -111,7 +111,7 @@ class Environment < ActiveRecord::Base |
111 | 111 | def admins |
112 | 112 | admin_role = Environment::Roles.admin(self) |
113 | 113 | return [] if admin_role.blank? |
114 | - Person.members_of(self).all(:conditions => ['role_assignments.role_id = ?', admin_role.id]) | |
114 | + Person.members_of(self).where 'role_assignments.role_id = ?', admin_role.id | |
115 | 115 | end |
116 | 116 | |
117 | 117 | # returns the available features for a Environment, in the form of a |
... | ... | @@ -222,9 +222,11 @@ class Environment < ActiveRecord::Base |
222 | 222 | has_many :licenses |
223 | 223 | |
224 | 224 | has_many :categories |
225 | - has_many :display_categories, :class_name => 'Category', :conditions => 'display_color is not null and parent_id is null', :order => 'display_color' | |
225 | + has_many :display_categories, -> { | |
226 | + order('display_color').where('display_color is not null and parent_id is null') | |
227 | + }, class_name: 'Category' | |
226 | 228 | |
227 | - has_many :product_categories, :conditions => { :type => 'ProductCategory'} | |
229 | + has_many :product_categories, -> { where type: 'ProductCategory'} | |
228 | 230 | has_many :regions |
229 | 231 | has_many :states |
230 | 232 | has_many :cities |
... | ... | @@ -672,7 +674,7 @@ class Environment < ActiveRecord::Base |
672 | 674 | |
673 | 675 | # the default Environment. |
674 | 676 | def self.default |
675 | - self.find(:first, :conditions => [ 'is_default = ?', true ] ) | |
677 | + self.where('is_default = ?', true).first | |
676 | 678 | end |
677 | 679 | |
678 | 680 | # returns an array with the top level categories for this environment. |
... | ... | @@ -853,7 +855,7 @@ class Environment < ActiveRecord::Base |
853 | 855 | end |
854 | 856 | |
855 | 857 | def portal_folders |
856 | - (settings[:portal_folders] || []).map{|fid| portal_community.articles.find(:first, :conditions => { :id => fid }) }.compact | |
858 | + (settings[:portal_folders] || []).map{|fid| portal_community.articles.where(id: fid).first }.compact | |
857 | 859 | end |
858 | 860 | |
859 | 861 | def portal_folders=(folders) |
... | ... | @@ -940,7 +942,7 @@ class Environment < ActiveRecord::Base |
940 | 942 | end |
941 | 943 | |
942 | 944 | def highlighted_products_with_image(options = {}) |
943 | - Product.find(:all, {:conditions => {:highlighted => true, :profile_id => self.enterprises.find(:all, :select => :id) }, :joins => :image}.merge(options)) | |
945 | + Product.where(highlighted: true, profile_id: self.enterprises.where(select: :id)).joins(:image) | |
944 | 946 | end |
945 | 947 | |
946 | 948 | settings_items :home_cache_in_minutes, :type => :integer, :default => 5 | ... | ... |
app/models/event.rb
... | ... | @@ -34,23 +34,20 @@ class Event < Article |
34 | 34 | end |
35 | 35 | end |
36 | 36 | |
37 | - scope :by_day, lambda { |date| | |
38 | - { :conditions => ['start_date = :date AND end_date IS NULL OR (start_date <= :date AND end_date >= :date)', {:date => date}], | |
39 | - :order => 'start_date ASC' | |
40 | - } | |
37 | + scope :by_day, -> (date) { | |
38 | + order('start_date ASC') | |
39 | + .where('start_date = :date AND end_date IS NULL OR (start_date <= :date AND end_date >= :date)', {:date => date}) | |
41 | 40 | } |
42 | 41 | |
43 | - scope :next_events_from_month, lambda { |date| | |
42 | + scope :next_events_from_month, -> (date) { | |
44 | 43 | date_temp = date.strftime("%Y-%m-%d") |
45 | - { :conditions => ["start_date >= ?","#{date_temp}"], | |
46 | - :order => 'start_date ASC' | |
47 | - } | |
44 | + order('start_date ASC') | |
45 | + .where("start_date >= ?","#{date_temp}") | |
48 | 46 | } |
49 | 47 | |
50 | - scope :by_month, lambda { |date| | |
51 | - { :conditions => ["EXTRACT(YEAR FROM start_date) = ? AND EXTRACT(MONTH FROM start_date) = ?",date.year,date.month], | |
52 | - :order => 'start_date ASC' | |
53 | - } | |
48 | + scope :by_month, -> (date) { | |
49 | + order('start_date ASC') | |
50 | + .where("EXTRACT(YEAR FROM start_date) = ? AND EXTRACT(MONTH FROM start_date) = ?", date.year, date.month) | |
54 | 51 | } |
55 | 52 | |
56 | 53 | include WhiteListFilter |
... | ... | @@ -71,12 +68,10 @@ class Event < Article |
71 | 68 | 'event' |
72 | 69 | end |
73 | 70 | |
74 | - scope :by_range, lambda { |range| { | |
75 | - :conditions => [ | |
76 | - 'start_date BETWEEN :start_day AND :end_day OR end_date BETWEEN :start_day AND :end_day', | |
77 | - { :start_day => range.first, :end_day => range.last } | |
78 | - ] | |
79 | - }} | |
71 | + scope :by_range, -> (range) { | |
72 | + where('start_date BETWEEN :start_day AND :end_day OR end_date BETWEEN :start_day AND :end_day', | |
73 | + {:start_day => range.first, :end_day => range.last}) | |
74 | + } | |
80 | 75 | |
81 | 76 | def self.date_range(year, month) |
82 | 77 | if year.nil? || month.nil? | ... | ... |
app/models/external_feed.rb
... | ... | @@ -5,9 +5,9 @@ class ExternalFeed < ActiveRecord::Base |
5 | 5 | validates_presence_of :address, :if => lambda {|efeed| efeed.enabled} |
6 | 6 | validates_uniqueness_of :blog_id |
7 | 7 | |
8 | - scope :enabled, :conditions => { :enabled => true } | |
9 | - scope :expired, lambda { | |
10 | - { :conditions => ['(fetched_at is NULL) OR (fetched_at < ?)', Time.now - FeedUpdater.update_interval] } | |
8 | + scope :enabled, -> { where enabled: true } | |
9 | + scope :expired, -> { | |
10 | + where '(fetched_at is NULL) OR (fetched_at < ?)', Time.now - FeedUpdater.update_interval | |
11 | 11 | } |
12 | 12 | |
13 | 13 | attr_accessible :address, :enabled, :only_once | ... | ... |
app/models/feed_reader_block.rb
... | ... | @@ -27,8 +27,8 @@ class FeedReaderBlock < Block |
27 | 27 | settings_items :update_errors, :type => :integer, :default => 0 |
28 | 28 | settings_items :error_message, :type => :string |
29 | 29 | |
30 | - scope :expired, lambda { | |
31 | - { :conditions => [ '(fetched_at is NULL) OR (fetched_at < ?)', Time.now - FeedUpdater.update_interval] } | |
30 | + scope :expired, -> { | |
31 | + where '(fetched_at is NULL) OR (fetched_at < ?)', Time.now - FeedUpdater.update_interval | |
32 | 32 | } |
33 | 33 | |
34 | 34 | before_create do |block| | ... | ... |
app/models/folder.rb
... | ... | @@ -56,10 +56,11 @@ class Folder < Article |
56 | 56 | profile.recent_documents(limit, ["articles.type != ? AND articles.highlighted = ? AND articles.parent_id = ?", 'Folder', highlight, id]) |
57 | 57 | end |
58 | 58 | |
59 | - has_many :images, :class_name => 'Article', | |
60 | - :foreign_key => 'parent_id', | |
61 | - :order => 'articles.type, articles.name', | |
62 | - :conditions => ["articles.type = 'UploadedFile' and articles.content_type in (?) or articles.type in ('Folder','Gallery')", UploadedFile.content_types] | |
59 | + has_many :images, -> { | |
60 | + order('articles.type, articles.name'). | |
61 | + where("articles.type = 'UploadedFile' and articles.content_type in (?) or articles.type in ('Folder','Gallery')", UploadedFile.content_types) | |
62 | + }, class_name: 'Article', foreign_key: 'parent_id' | |
63 | + | |
63 | 64 | |
64 | 65 | def accept_uploads? |
65 | 66 | !self.has_posts? || self.gallery? | ... | ... |
app/models/input.rb
app/models/invite_friend.rb
... | ... | @@ -45,7 +45,7 @@ class InviteFriend < Invitation |
45 | 45 | private |
46 | 46 | def check_for_invitation_existence |
47 | 47 | if friend |
48 | - friend.tasks.pending.of("InviteFriend").find(:all, :conditions => {:requestor_id => person.id, :target_id => friend.id}).blank? | |
48 | + friend.tasks.pending.of("InviteFriend").where(requestor_id: person.id, target_id: friend.id).blank? | |
49 | 49 | end |
50 | 50 | end |
51 | 51 | ... | ... |
app/models/invite_member.rb
... | ... | @@ -65,7 +65,7 @@ class InviteMember < Invitation |
65 | 65 | private |
66 | 66 | def check_for_invitation_existence |
67 | 67 | if friend |
68 | - friend.tasks.pending.of("InviteMember").find(:all, :conditions => {:requestor_id => person.id}).select { |t| t.data[:community_id] == community_id }.blank? | |
68 | + friend.tasks.pending.of("InviteMember").where(requestor_id: person.id).select{ |t| t.data[:community_id] == community_id }.blank? | |
69 | 69 | end |
70 | 70 | end |
71 | 71 | ... | ... |
app/models/organization.rb
... | ... | @@ -56,7 +56,7 @@ class Organization < Profile |
56 | 56 | end |
57 | 57 | |
58 | 58 | def find_pending_validation(code) |
59 | - validations.pending.find(:first, :conditions => {:code => code}) | |
59 | + validations.pending.where(code: code).first | |
60 | 60 | end |
61 | 61 | |
62 | 62 | def processed_validations |
... | ... | @@ -64,7 +64,7 @@ class Organization < Profile |
64 | 64 | end |
65 | 65 | |
66 | 66 | def find_processed_validation(code) |
67 | - validations.finished.find(:first, :conditions => {:code => code}) | |
67 | + validations.finished.where(code: code).first | |
68 | 68 | end |
69 | 69 | |
70 | 70 | def is_validation_entity? |
... | ... | @@ -162,7 +162,7 @@ class Organization < Profile |
162 | 162 | end |
163 | 163 | |
164 | 164 | def already_request_membership?(person) |
165 | - self.tasks.pending.find_by_requestor_id(person.id, :conditions => { :type => 'AddMember' }) | |
165 | + self.tasks.pending.where(type: 'AddMember', requestor_id: person.id).first | |
166 | 166 | end |
167 | 167 | |
168 | 168 | def jid(options = {}) | ... | ... |
app/models/person.rb
... | ... | @@ -16,27 +16,26 @@ class Person < Profile |
16 | 16 | acts_as_trackable :after_add => Proc.new {|p,t| notify_activity(t)} |
17 | 17 | acts_as_accessor |
18 | 18 | |
19 | - scope :members_of, lambda { |resources| | |
19 | + scope :members_of, -> (resources) { | |
20 | 20 | resources = [resources] if !resources.kind_of?(Array) |
21 | 21 | conditions = resources.map {|resource| "role_assignments.resource_type = '#{resource.class.base_class.name}' AND role_assignments.resource_id = #{resource.id || -1}"}.join(' OR ') |
22 | - { :select => 'DISTINCT profiles.*', :joins => :role_assignments, :conditions => [conditions] } | |
22 | + select('DISTINCT profiles.*').joins(:role_assignments).where([conditions]) | |
23 | 23 | } |
24 | 24 | |
25 | - scope :not_members_of, lambda { |resources| | |
25 | + scope :not_members_of, -> (resources) { | |
26 | 26 | resources = [resources] if !resources.kind_of?(Array) |
27 | 27 | conditions = resources.map {|resource| "role_assignments.resource_type = '#{resource.class.base_class.name}' AND role_assignments.resource_id = #{resource.id || -1}"}.join(' OR ') |
28 | - { :select => 'DISTINCT profiles.*', :conditions => ['"profiles"."id" NOT IN (SELECT DISTINCT profiles.id FROM "profiles" INNER JOIN "role_assignments" ON "role_assignments"."accessor_id" = "profiles"."id" AND "role_assignments"."accessor_type" = (\'Profile\') WHERE "profiles"."type" IN (\'Person\') AND (%s))' % conditions] } | |
28 | + select('DISTINCT profiles.*').where('"profiles"."id" NOT IN (SELECT DISTINCT profiles.id FROM "profiles" INNER JOIN "role_assignments" ON "role_assignments"."accessor_id" = "profiles"."id" AND "role_assignments"."accessor_type" = (\'Profile\') WHERE "profiles"."type" IN (\'Person\') AND (%s))' % conditions) | |
29 | 29 | } |
30 | 30 | |
31 | - scope :by_role, lambda { |roles| | |
31 | + scope :by_role, -> (roles) { | |
32 | 32 | roles = [roles] unless roles.kind_of?(Array) |
33 | - { :select => 'DISTINCT profiles.*', :joins => :role_assignments, :conditions => ['role_assignments.role_id IN (?)', | |
34 | -roles] } | |
33 | + select('DISTINCT profiles.*').joins(:role_assignments).where('role_assignments.role_id IN (?)', roles) | |
35 | 34 | } |
36 | 35 | |
37 | - scope :not_friends_of, lambda { |resources| | |
36 | + scope :not_friends_of, -> (resources) { | |
38 | 37 | resources = Array(resources) |
39 | - { :select => 'DISTINCT profiles.*', :conditions => ['"profiles"."id" NOT IN (SELECT DISTINCT profiles.id FROM "profiles" INNER JOIN "friendships" ON "friendships"."person_id" = "profiles"."id" WHERE "friendships"."friend_id" IN (%s))' % resources.map(&:id)] } | |
38 | + select('DISTINCT profiles.*').where('"profiles"."id" NOT IN (SELECT DISTINCT profiles.id FROM "profiles" INNER JOIN "friendships" ON "friendships"."person_id" = "profiles"."id" WHERE "friendships"."friend_id" IN (%s))' % resources.map(&:id)) | |
40 | 39 | } |
41 | 40 | |
42 | 41 | def has_permission_with_admin?(permission, resource) |
... | ... | @@ -71,7 +70,9 @@ roles] } |
71 | 70 | has_many :friendships, :dependent => :destroy |
72 | 71 | has_many :friends, :class_name => 'Person', :through => :friendships |
73 | 72 | |
74 | - scope :online, lambda { { :include => :user, :conditions => ["users.chat_status != '' AND users.chat_status_at >= ?", DateTime.now - User.expires_chat_status_every.minutes] } } | |
73 | + scope :online, -> { | |
74 | + includes(:user).where("users.chat_status != '' AND users.chat_status_at >= ?", DateTime.now - User.expires_chat_status_every.minutes) | |
75 | + } | |
75 | 76 | |
76 | 77 | has_many :requested_tasks, :class_name => 'Task', :foreign_key => :requestor_id, :dependent => :destroy |
77 | 78 | |
... | ... | @@ -84,21 +85,31 @@ roles] } |
84 | 85 | has_and_belongs_to_many :acepted_forums, :class_name => 'Forum', :join_table => 'terms_forum_people' |
85 | 86 | has_and_belongs_to_many :articles_with_access, :class_name => 'Article', :join_table => 'article_privacy_exceptions' |
86 | 87 | |
87 | - has_many :suggested_profiles, :class_name => 'ProfileSuggestion', :foreign_key => :person_id, :order => 'score DESC', :dependent => :destroy | |
88 | - has_many :suggested_people, :through => :suggested_profiles, :source => :suggestion, :conditions => ['profile_suggestions.suggestion_type = ? AND profile_suggestions.enabled = ?', 'Person', true] | |
89 | - has_many :suggested_communities, :through => :suggested_profiles, :source => :suggestion, :conditions => ['profile_suggestions.suggestion_type = ? AND profile_suggestions.enabled = ?', 'Community', true] | |
88 | + has_many :suggested_profiles, class_name: 'ProfileSuggestion', foreign_key: :person_id, order: 'score DESC', dependent: :destroy | |
89 | + has_many :suggested_people, -> { | |
90 | + where 'profile_suggestions.suggestion_type = ? AND profile_suggestions.enabled = ?', 'Person', true | |
91 | + }, through: :suggested_profiles, source: :suggestion | |
92 | + has_many :suggested_communities, -> { | |
93 | + where 'profile_suggestions.suggestion_type = ? AND profile_suggestions.enabled = ?', 'Community', true | |
94 | + }, through: :suggested_profiles, source: :suggestion | |
90 | 95 | |
91 | - scope :more_popular, :order => 'friends_count DESC' | |
96 | + scope :more_popular, -> { order 'friends_count DESC' } | |
92 | 97 | |
93 | - scope :abusers, :joins => :abuse_complaints, :conditions => ['tasks.status = 3'], :select => 'DISTINCT profiles.*' | |
94 | - scope :non_abusers, :joins => "LEFT JOIN tasks ON profiles.id = tasks.requestor_id AND tasks.type='AbuseComplaint'", :conditions => ["tasks.status != 3 OR tasks.id is NULL"], :select => "DISTINCT profiles.*" | |
98 | + scope :abusers, -> { | |
99 | + joins(:abuse_complaints).where('tasks.status = 3').select('DISTINCT profiles.*') | |
100 | + } | |
101 | + scope :non_abusers, -> { | |
102 | + select("DISTINCT profiles.*"). | |
103 | + joins("LEFT JOIN tasks ON profiles.id = tasks.requestor_id AND tasks.type='AbuseComplaint'"). | |
104 | + where("tasks.status != 3 OR tasks.id is NULL") | |
105 | + } | |
95 | 106 | |
96 | - scope :admins, :joins => [:role_assignments => :role], :conditions => ['roles.key = ?', 'environment_administrator' ] | |
97 | - scope :activated, :joins => :user, :conditions => ['users.activation_code IS NULL AND users.activated_at IS NOT NULL'] | |
98 | - scope :deactivated, :joins => :user, :conditions => ['NOT (users.activation_code IS NULL AND users.activated_at IS NOT NULL)'] | |
107 | + scope :admins, -> { joins(:role_assignments => :role).where('roles.key = ?', 'environment_administrator') } | |
108 | + scope :activated, -> { joins(:user).where('users.activation_code IS NULL AND users.activated_at IS NOT NULL') } | |
109 | + scope :deactivated, -> { joins(:user).where('NOT (users.activation_code IS NULL AND users.activated_at IS NOT NULL)') } | |
99 | 110 | |
100 | 111 | after_destroy do |person| |
101 | - Friendship.find(:all, :conditions => { :friend_id => person.id}).each { |friendship| friendship.destroy } | |
112 | + Friendship.where(friend_id: person.id).each{ |friendship| friendship.destroy } | |
102 | 113 | end |
103 | 114 | |
104 | 115 | belongs_to :user, :dependent => :delete |
... | ... | @@ -156,7 +167,7 @@ roles] } |
156 | 167 | end |
157 | 168 | |
158 | 169 | def remove_friend(friend) |
159 | - Friendship.find(:first, :conditions => {:friend_id => friend, :person_id => id}).destroy | |
170 | + Friendship.where(friend_id: friend, person_id: id).first.destroy | |
160 | 171 | end |
161 | 172 | |
162 | 173 | FIELDS = %w[ |
... | ... | @@ -267,7 +278,7 @@ roles] } |
267 | 278 | end |
268 | 279 | |
269 | 280 | validates_each :email, :on => :update do |record,attr,value| |
270 | - if User.find(:first, :conditions => ['email = ? and id != ? and environment_id = ?', value, record.user.id, record.environment.id]) | |
281 | + if User.where('email = ? and id != ? and environment_id = ?', value, record.user.id, record.environment.id).first | |
271 | 282 | record.errors.add(attr, _('{fn} is already used by other user').fix_i18n) |
272 | 283 | end |
273 | 284 | end |
... | ... | @@ -379,7 +390,7 @@ roles] } |
379 | 390 | def ask_to_join?(community) |
380 | 391 | return false if !community.visible? |
381 | 392 | return false if memberships.include?(community) |
382 | - return false if AddMember.find(:first, :conditions => {:requestor_id => self.id, :target_id => community.id}) | |
393 | + return false if AddMember.where(requestor_id: self.id, target_id: community.id).first | |
383 | 394 | !refused_communities.include?(community) |
384 | 395 | end |
385 | 396 | ... | ... |
app/models/person_notifier.rb
... | ... | @@ -28,7 +28,7 @@ class PersonNotifier |
28 | 28 | |
29 | 29 | def notify |
30 | 30 | if @person.notification_time && @person.notification_time > 0 |
31 | - notifications = @person.tracked_notifications.find(:all, :conditions => ["created_at > ?", notify_from]) | |
31 | + notifications = @person.tracked_notifications.where("created_at > ?", notify_from) | |
32 | 32 | tasks = Task.to(@person).without_spam.pending.where("created_at > ?", notify_from).order_by('created_at', 'asc') |
33 | 33 | |
34 | 34 | Noosfero.with_locale @person.environment.default_language do | ... | ... |
app/models/product.rb
... | ... | @@ -47,8 +47,8 @@ class Product < ActiveRecord::Base |
47 | 47 | |
48 | 48 | scope :more_recent, :order => "created_at DESC" |
49 | 49 | |
50 | - scope :from_category, lambda { |category| | |
51 | - {:joins => :product_category, :conditions => ['categories.path LIKE ?', "%#{category.slug}%"]} if category | |
50 | + scope :from_category, -> (category) { | |
51 | + joins(:product_category).where('categories.path LIKE ?', "%#{category.slug}%") if category | |
52 | 52 | } |
53 | 53 | |
54 | 54 | after_update :save_image | ... | ... |
app/models/product_category.rb
... | ... | @@ -6,19 +6,19 @@ class ProductCategory < Category |
6 | 6 | attr_accessible :name, :parent, :environment |
7 | 7 | |
8 | 8 | scope :unique, :select => 'DISTINCT ON (path) categories.*' |
9 | - scope :by_enterprise, lambda { |enterprise| { | |
10 | - :joins => :products, | |
11 | - :conditions => ['products.profile_id = ?', enterprise.id] | |
12 | - }} | |
13 | - scope :by_environment, lambda { |environment| { | |
14 | - :conditions => ['environment_id = ?', environment.id] | |
15 | - }} | |
16 | - scope :unique_by_level, lambda { |level| { | |
17 | - :select => "DISTINCT ON (filtered_category) split_part(path, '/', #{level}) AS filtered_category, categories.*" | |
18 | - }} | |
9 | + scope :by_enterprise, -> (enterprise) { | |
10 | + joins(:products). | |
11 | + where('products.profile_id = ?', enterprise.id) | |
12 | + } | |
13 | + scope :by_environment, -> (environment) { | |
14 | + where 'environment_id = ?', environment.id | |
15 | + } | |
16 | + scope :unique_by_level, -> (level) { | |
17 | + select "DISTINCT ON (filtered_category) split_part(path, '/', #{level}) AS filtered_category, categories.*" | |
18 | + } | |
19 | 19 | |
20 | 20 | def all_products |
21 | - Product.find(:all, :conditions => { :product_category_id => (all_children << self).map(&:id) }) | |
21 | + Product.where(product_category_id: (all_children << self).map(&:id)) | |
22 | 22 | end |
23 | 23 | |
24 | 24 | def self.menu_categories(top_category, env) | ... | ... |
app/models/profile.rb
... | ... | @@ -48,7 +48,7 @@ class Profile < ActiveRecord::Base |
48 | 48 | all_roles(env_id).select{ |r| r.key.match(/^profile_/) unless r.key.blank? || !r.profile_id.nil?} |
49 | 49 | end |
50 | 50 | def self.all_roles(env_id) |
51 | - Role.all :conditions => { :environment_id => env_id } | |
51 | + Role.where(environment_id: env_id) | |
52 | 52 | end |
53 | 53 | def self.method_missing(m, *args, &block) |
54 | 54 | role = find_role(m, args[0]) |
... | ... | @@ -85,20 +85,26 @@ class Profile < ActiveRecord::Base |
85 | 85 | |
86 | 86 | include Noosfero::Plugin::HotSpot |
87 | 87 | |
88 | - scope :memberships_of, lambda { |person| { :select => 'DISTINCT profiles.*', :joins => :role_assignments, :conditions => ['role_assignments.accessor_type = ? AND role_assignments.accessor_id = ?', person.class.base_class.name, person.id ] } } | |
88 | + scope :memberships_of, -> (person) { | |
89 | + select('DISTINCT profiles.*'). | |
90 | + joins(:role_assignments). | |
91 | + where('role_assignments.accessor_type = ? AND role_assignments.accessor_id = ?', person.class.base_class.name, person.id) | |
92 | + } | |
89 | 93 | #FIXME: these will work only if the subclass is already loaded |
90 | - scope :enterprises, lambda { {:conditions => (Enterprise.send(:subclasses).map(&:name) << 'Enterprise').map { |klass| "profiles.type = '#{klass}'"}.join(" OR ")} } | |
91 | - scope :communities, lambda { {:conditions => (Community.send(:subclasses).map(&:name) << 'Community').map { |klass| "profiles.type = '#{klass}'"}.join(" OR ")} } | |
92 | - scope :templates, lambda { |template_id = nil| | |
93 | - conditions = {:conditions => {:is_template => true}} | |
94 | - conditions[:conditions].merge!({:id => template_id}) unless template_id.nil? | |
95 | - conditions | |
94 | + scope :enterprises, -> { | |
95 | + where((Enterprise.send(:subclasses).map(&:name) << 'Enterprise').map { |klass| "profiles.type = '#{klass}'"}.join(" OR ")) | |
96 | + } | |
97 | + scope :communities, -> { | |
98 | + where((Community.send(:subclasses).map(&:name) << 'Community').map { |klass| "profiles.type = '#{klass}'"}.join(" OR ")) | |
99 | + } | |
100 | + scope :templates, -> (template_id = nil) { | |
101 | + if template_id then where id: template_id else where is_template: true end | |
96 | 102 | } |
97 | 103 | |
98 | - scope :with_templates, lambda { |templates| | |
99 | - {:conditions => {:template_id => templates}} | |
104 | + scope :with_templates, -> (templates) { | |
105 | + where template_id: templates | |
100 | 106 | } |
101 | - scope :no_templates, {:conditions => {:is_template => false}} | |
107 | + scope :no_templates, -> { where is_template: false } | |
102 | 108 | |
103 | 109 | def members |
104 | 110 | scopes = plugins.dispatch_scopes(:organization_members, self) |
... | ... | @@ -131,10 +137,10 @@ class Profile < ActiveRecord::Base |
131 | 137 | Profile.column_names.map{|n| [Profile.table_name, n].join('.')}.join(',') |
132 | 138 | end |
133 | 139 | |
134 | - scope :visible, :conditions => { :visible => true, :secret => false } | |
135 | - scope :disabled, :conditions => { :visible => false } | |
136 | - scope :is_public, :conditions => { :visible => true, :public_profile => true, :secret => false } | |
137 | - scope :enabled, :conditions => { :enabled => true } | |
140 | + scope :visible, -> { where visible: true, secret: false } | |
141 | + scope :disabled, -> { where visible: false } | |
142 | + scope :is_public, -> { where visible: true, public_profile: true, secret: false } | |
143 | + scope :enabled, -> { where enabled: true } | |
138 | 144 | |
139 | 145 | # Subclasses must override this method |
140 | 146 | scope :more_popular |
... | ... | @@ -234,7 +240,7 @@ class Profile < ActiveRecord::Base |
234 | 240 | end |
235 | 241 | end |
236 | 242 | |
237 | - has_many :profile_categorizations, :conditions => [ 'categories_profiles.virtual = ?', false ] | |
243 | + has_many :profile_categorizations, -> { where 'categories_profiles.virtual = ?', false } | |
238 | 244 | has_many :categories, :through => :profile_categorizations |
239 | 245 | |
240 | 246 | has_many :profile_categorizations_including_virtual, :class_name => 'ProfileCategorization' |
... | ... | @@ -461,14 +467,13 @@ class Profile < ActiveRecord::Base |
461 | 467 | self.articles.recent(limit, options, pagination) |
462 | 468 | end |
463 | 469 | |
464 | - def last_articles(limit = 10, options = {}) | |
465 | - options = { :limit => limit, | |
466 | - :conditions => ["advertise = ? AND published = ? AND | |
467 | - ((articles.type != ? and articles.type != ? and articles.type != ?) OR | |
468 | - articles.type is NULL)", | |
469 | - true, true, 'UploadedFile', 'RssFeed', 'Blog'], | |
470 | - :order => 'articles.published_at desc, articles.id desc' }.merge(options) | |
471 | - self.articles.find(:all, options) | |
470 | + def last_articles limit = 10 | |
471 | + self.articles.limit(limit).where( | |
472 | + "advertise = ? AND published = ? AND | |
473 | + ((articles.type != ? and articles.type != ? and articles.type != ?) OR | |
474 | + articles.type is NULL)", | |
475 | + true, true, 'UploadedFile', 'RssFeed', 'Blog' | |
476 | + ).order('articles.published_at desc, articles.id desc') | |
472 | 477 | end |
473 | 478 | |
474 | 479 | class << self | ... | ... |
app/models/profile_categorization.rb
... | ... | @@ -13,7 +13,7 @@ class ProfileCategorization < ActiveRecord::Base |
13 | 13 | end |
14 | 14 | |
15 | 15 | def self.remove_region(profile) |
16 | - region = profile.categories.find(:first, :conditions => { :type => [Region, State, City].map(&:name) }) | |
16 | + region = profile.categories.where(type: [Region, State, City].map(&:name)).first | |
17 | 17 | if region |
18 | 18 | ids = region.hierarchy.map(&:id) |
19 | 19 | self.delete_all(:profile_id => profile.id, :category_id => ids) | ... | ... |
app/models/profile_suggestion.rb
... | ... | @@ -26,9 +26,9 @@ class ProfileSuggestion < ActiveRecord::Base |
26 | 26 | end |
27 | 27 | |
28 | 28 | validates_uniqueness_of :suggestion_id, :scope => [ :person_id ] |
29 | - scope :of_person, :conditions => { :suggestion_type => 'Person' } | |
30 | - scope :of_community, :conditions => { :suggestion_type => 'Community' } | |
31 | - scope :enabled, :conditions => { :enabled => true } | |
29 | + scope :of_person, -> { where suggestion_type: 'Person' } | |
30 | + scope :of_community, -> { where suggestion_type: 'Community' } | |
31 | + scope :enabled, -> { where enabled: true } | |
32 | 32 | |
33 | 33 | # {:category_type => ['category-icon', 'category-label']} |
34 | 34 | CATEGORIES = { | ... | ... |
app/models/rss_feed.rb
... | ... | @@ -69,7 +69,7 @@ class RssFeed < Article |
69 | 69 | def fetch_articles |
70 | 70 | if parent && parent.has_posts? |
71 | 71 | language = self.language.blank? ? {} : { :language => self.language } |
72 | - return parent.posts.find(:all, :conditions => { :published => true }.merge(language), :limit => self.limit, :order => 'id desc') | |
72 | + return parent.posts.where({published: true}.merge language).limit(self.limit).order('id desc') | |
73 | 73 | end |
74 | 74 | |
75 | 75 | articles = | ... | ... |
app/models/scrap.rb
... | ... | @@ -13,9 +13,9 @@ class Scrap < ActiveRecord::Base |
13 | 13 | has_many :replies, :class_name => 'Scrap', :foreign_key => 'scrap_id', :dependent => :destroy |
14 | 14 | belongs_to :root, :class_name => 'Scrap', :foreign_key => 'scrap_id' |
15 | 15 | |
16 | - scope :all_scraps, lambda {|profile| {:conditions => ["receiver_id = ? OR sender_id = ?", profile, profile], :limit => 30}} | |
16 | + scope :all_scraps, -> (profile) { limit(30).where("receiver_id = ? OR sender_id = ?", profile, profile) } | |
17 | 17 | |
18 | - scope :not_replies, :conditions => {:scrap_id => nil} | |
18 | + scope :not_replies, -> { where scrap_id: nil } | |
19 | 19 | |
20 | 20 | track_actions :leave_scrap, :after_create, :keep_params => ['sender.name', 'content', 'receiver.name', 'receiver.url'], :if => Proc.new{|s| s.sender != s.receiver && s.sender != s.top_root.receiver}, :custom_target => :action_tracker_target |
21 | 21 | ... | ... |
app/models/search_term_occurrence.rb
1 | 1 | class SearchTermOccurrence < ActiveRecord::Base |
2 | + | |
2 | 3 | belongs_to :search_term |
3 | 4 | validates_presence_of :search_term |
4 | 5 | attr_accessible :search_term, :created_at, :total, :indexed |
5 | 6 | |
6 | 7 | EXPIRATION_TIME = 1.year |
7 | 8 | |
8 | - scope :valid, :conditions => ["search_term_occurrences.created_at > ?", DateTime.now - EXPIRATION_TIME] | |
9 | + scope :valid, -> { where "search_term_occurrences.created_at > ?", DateTime.now - EXPIRATION_TIME } | |
10 | + | |
9 | 11 | end | ... | ... |
app/models/slideshow_block.rb
... | ... | @@ -13,7 +13,7 @@ class SlideshowBlock < Block |
13 | 13 | end |
14 | 14 | |
15 | 15 | def gallery |
16 | - gallery_id ? Gallery.find(:first, :conditions => { :id => gallery_id }) : nil | |
16 | + if gallery_id then Gallery.where(id: gallery_id).first else nil end | |
17 | 17 | end |
18 | 18 | |
19 | 19 | def public_filename_for(image) | ... | ... |
app/models/task.rb
... | ... | @@ -236,27 +236,28 @@ class Task < ActiveRecord::Base |
236 | 236 | end |
237 | 237 | end |
238 | 238 | |
239 | - scope :pending, :conditions => { :status => Task::Status::ACTIVE } | |
240 | - scope :hidden, :conditions => { :status => Task::Status::HIDDEN } | |
241 | - scope :finished, :conditions => { :status => Task::Status::FINISHED } | |
242 | - scope :canceled, :conditions => { :status => Task::Status::CANCELLED } | |
243 | - scope :closed, :conditions => { :status => [Task::Status::CANCELLED, Task::Status::FINISHED] } | |
244 | - scope :opened, :conditions => { :status => [Task::Status::ACTIVE, Task::Status::HIDDEN] } | |
245 | - scope :of, lambda { |type| conditions = type ? "type LIKE '#{type}'" : "1=1"; {:conditions => [conditions]} } | |
246 | - scope :order_by, lambda { |attribute, ord| {:order => "#{attribute} #{ord}"} } | |
247 | - scope :like, lambda { |field, value| where("LOWER(#{field}) LIKE ?", "%#{value.downcase}%") if value} | |
248 | - scope :pending_all, lambda { |profile, filter_type, filter_text| | |
239 | + scope :pending, -> { where status: Task::Status::ACTIVE } | |
240 | + scope :hidden, -> { where status: Task::Status::HIDDEN } | |
241 | + scope :finished, -> { where status: Task::Status::FINISHED } | |
242 | + scope :canceled, -> { where status: Task::Status::CANCELLED } | |
243 | + scope :closed, -> { where status: [Task::Status::CANCELLED, Task::Status::FINISHED] } | |
244 | + scope :opened, -> { where status: [Task::Status::ACTIVE, Task::Status::HIDDEN] } | |
245 | + scope :of, -> (type) { where "type LIKE ?", type if type } | |
246 | + scope :order_by, -> (attribute, ord) { order "#{attribute} #{ord}" } | |
247 | + scope :like, -> (field, value) { where "LOWER(#{field}) LIKE ?", "%#{value.downcase}%" if value } | |
248 | + scope :pending_all, -> (profile, filter_type, filter_text) { | |
249 | 249 | self.to(profile).without_spam.pending.of(filter_type).like('data', filter_text) |
250 | 250 | } |
251 | 251 | |
252 | 252 | scope :to, lambda { |profile| |
253 | 253 | environment_condition = nil |
254 | 254 | if profile.person? |
255 | - envs_ids = Environment.find(:all).select{ |env| profile.is_admin?(env) }.map { |env| "target_id = #{env.id}"}.join(' OR ') | |
255 | + envs_ids = Environment.all.select{ |env| profile.is_admin?(env) }.map{ |env| "target_id = #{env.id}"}.join(' OR ') | |
256 | 256 | environment_condition = envs_ids.blank? ? nil : "(target_type = 'Environment' AND (#{envs_ids}))" |
257 | 257 | end |
258 | 258 | profile_condition = "(target_type = 'Profile' AND target_id = #{profile.id})" |
259 | - { :conditions => [environment_condition, profile_condition].compact.join(' OR ') } | |
259 | + | |
260 | + where [environment_condition, profile_condition].compact.join(' OR ') | |
260 | 261 | } |
261 | 262 | |
262 | 263 | def self.pending_types_for(profile) |
... | ... | @@ -319,7 +320,7 @@ class Task < ActiveRecord::Base |
319 | 320 | # |
320 | 321 | # Can be used in subclasses to find only their instances. |
321 | 322 | def find_by_code(code) |
322 | - self.find(:first, :conditions => { :code => code, :status => Task::Status::ACTIVE }) | |
323 | + self.where(code: code, status: Task::Status::ACTIVE) | |
323 | 324 | end |
324 | 325 | |
325 | 326 | def per_page | ... | ... |
app/models/user.rb
... | ... | @@ -111,8 +111,8 @@ class User < ActiveRecord::Base |
111 | 111 | # Authenticates a user by their login name or email and unencrypted password. Returns the user or nil. |
112 | 112 | def self.authenticate(login, password, environment = nil) |
113 | 113 | environment ||= Environment.default |
114 | - u = self.first :conditions => ['(login = ? OR email = ?) AND environment_id = ? AND activated_at IS NOT NULL', | |
115 | - login, login, environment.id] # need to get the salt | |
114 | + u = self.where('(login = ? OR email = ?) AND environment_id = ? AND activated_at IS NOT NULL', | |
115 | + login, login, environment.id).first # need to get the salt | |
116 | 116 | u && u.authenticated?(password) ? u : nil |
117 | 117 | end |
118 | 118 | ... | ... |
app/views/features/index.html.erb
... | ... | @@ -44,7 +44,7 @@ Check all the features you want to enable for your environment, uncheck all the |
44 | 44 | </div> |
45 | 45 | <div class="input"> |
46 | 46 | <div class="info"><%= _('Allow these people to access this environment:') %></div> |
47 | - <% tokenized_members = prepare_to_token_input(environment.people.find(:all, :conditions => {:id => environment.members_whitelist})) %> | |
47 | + <% tokenized_members = prepare_to_token_input(environment.people.where(id: environment.members_whitelist)) %> | |
48 | 48 | <%= token_input_field_tag('environment[members_whitelist]', 'search-members', {:action => 'search_members'}, {:focus => false, :hint_text => _('Type in a search term for a user'), :pre_populate => tokenized_members}) %> |
49 | 49 | </div> |
50 | 50 | <hr/> | ... | ... |
app/views/search/_full_forum.html.erb
... | ... | @@ -11,7 +11,7 @@ |
11 | 11 | <tr class="search-forum-items"> |
12 | 12 | <td class="search-field-label"><%= _("Last topics") %></td> |
13 | 13 | |
14 | - <% r = forum.children.find(:all, :order => :updated_at, :conditions => ['type != ?', 'RssFeed']).last(3) %> | |
14 | + <% r = forum.children.order(:updated_at).where('type != ?', 'RssFeed').last(3) %> | |
15 | 15 | <td class="<%= "search-field-none" if r.empty? %>"> |
16 | 16 | <% r.each do |a| %> |
17 | 17 | <%= link_to a.title, a.view_url, :class => 'search-forum-sample-item '+icon_for_article(a) %> | ... | ... |
app/views/search/_image.html.erb
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 | <% end %> |
27 | 27 | <% elsif image.is_a? Gallery %> |
28 | 28 | <div class="search-gallery-items"> |
29 | - <% r = image.children.find(:all, :order => :updated_at, :conditions => ['type = ?', 'UploadedFile']).last(3) %> | |
29 | + <% r = image.children.order(updated_at).where('type = ?', 'UploadedFile').last(3) %> | |
30 | 30 | <% if r.length > 0 %> |
31 | 31 | <% r.each_index do |i| img = r[i] %> |
32 | 32 | <%= link_to '', img.view_url, :class => "search-image-pic pic-num#{i+1}", | ... | ... |
config/initializers/activities_counter_cache.rb
1 | 1 | if Delayed::Backend::ActiveRecord::Job.table_exists? && |
2 | 2 | Delayed::Backend::ActiveRecord::Job.attribute_names.include?('queue') |
3 | - job = Delayed::Backend::ActiveRecord::Job.all :conditions => ['handler LIKE ?', "%ActivitiesCounterCacheJob%"] | |
3 | + job = Delayed::Backend::ActiveRecord::Job.where('handler LIKE ?', "%ActivitiesCounterCacheJob%") | |
4 | 4 | if job.blank? |
5 | 5 | Delayed::Backend::ActiveRecord::Job.enqueue(ActivitiesCounterCacheJob.new, {:priority => -3}) |
6 | 6 | end | ... | ... |
db/migrate/059_add_birth_date_to_person.rb
... | ... | @@ -37,7 +37,7 @@ class AddBirthDateToPerson < ActiveRecord::Migration |
37 | 37 | def self.up |
38 | 38 | add_column :profiles, :birth_date, :date |
39 | 39 | offset = 0 |
40 | - while p = Person.find(:first, :conditions => "type = 'Person'", :order => 'id', :offset => offset) | |
40 | + while p = Person.where("type = 'Person'").order(:id).offset(offset).first | |
41 | 41 | p.birth_date = ConvertDates.convert(p.data[:birth_date].to_s) |
42 | 42 | p.save |
43 | 43 | offset += 1 | ... | ... |
lib/acts_as_filesystem.rb
... | ... | @@ -34,7 +34,7 @@ module ActsAsFileSystem |
34 | 34 | |
35 | 35 | def build_ancestry(parent_id = nil, ancestry = '') |
36 | 36 | ActiveRecord::Base.transaction do |
37 | - self.base_class.all(:conditions => {:parent_id => parent_id}).each do |node| | |
37 | + self.base_class.where(parent_id: parent_id).each do |node| | |
38 | 38 | node.update_column :ancestry, ancestry |
39 | 39 | |
40 | 40 | build_ancestry node.id, (ancestry.empty? ? "#{node.formatted_ancestry_id}" : |
... | ... | @@ -42,7 +42,7 @@ module ActsAsFileSystem |
42 | 42 | end |
43 | 43 | end |
44 | 44 | |
45 | - #raise "Couldn't reach and set ancestry on every record" if self.base_class.count(:conditions => ['ancestry is null']) != 0 | |
45 | + #raise "Couldn't reach and set ancestry on every record" if self.base_class.where('ancestry is null').count != 0 | |
46 | 46 | end |
47 | 47 | |
48 | 48 | def has_path? |
... | ... | @@ -89,7 +89,7 @@ module ActsAsFileSystem |
89 | 89 | ["#{self.ancestry_column} LIKE ?", "%#{self.formatted_ancestry_id}%"] |
90 | 90 | end |
91 | 91 | def descendents |
92 | - self.class.scoped :conditions => descendents_options | |
92 | + self.class.where descendents_options | |
93 | 93 | end |
94 | 94 | |
95 | 95 | # calculates the level of the record in the records hierarchy. Top-level |
... | ... | @@ -147,7 +147,7 @@ module ActsAsFileSystem |
147 | 147 | @hierarchy = [] |
148 | 148 | |
149 | 149 | if !reload and !recalculate_path and ancestor_ids |
150 | - objects = self.class.base_class.all(:conditions => {:id => ancestor_ids}) | |
150 | + objects = self.class.base_class.where(id: ancestor_ids) | |
151 | 151 | ancestor_ids.each{ |id| @hierarchy << objects.find{ |t| t.id == id } } |
152 | 152 | @hierarchy << self |
153 | 153 | else |
... | ... | @@ -170,7 +170,7 @@ module ActsAsFileSystem |
170 | 170 | result += current_level |
171 | 171 | ids = current_level.select {|item| item.children_count > 0}.map(&:id) |
172 | 172 | break if ids.empty? |
173 | - current_level = self.class.base_class.find(:all, :conditions => { :parent_id => ids}) | |
173 | + current_level = self.class.base_class.where(parent_id: ids) | |
174 | 174 | end |
175 | 175 | block ||= (lambda { |x| x }) |
176 | 176 | result.map(&block) | ... | ... |
lib/acts_as_having_image.rb
... | ... | @@ -3,8 +3,8 @@ module ActsAsHavingImage |
3 | 3 | module ClassMethods |
4 | 4 | def acts_as_having_image |
5 | 5 | belongs_to :image, dependent: :destroy |
6 | - scope :with_image, :conditions => [ "#{table_name}.image_id IS NOT NULL" ] | |
7 | - scope :without_image, :conditions => [ "#{table_name}.image_id IS NULL" ] | |
6 | + scope :with_image, -> { where "#{table_name}.image_id IS NOT NULL" } | |
7 | + scope :without_image, -> { where "#{table_name}.image_id IS NULL" } | |
8 | 8 | self.send(:include, ActsAsHavingImage) |
9 | 9 | end |
10 | 10 | end |
... | ... | @@ -19,4 +19,4 @@ module ActsAsHavingImage |
19 | 19 | |
20 | 20 | end |
21 | 21 | |
22 | -ActiveRecord::Base.extend(ActsAsHavingImage::ClassMethods) | |
23 | 22 | \ No newline at end of file |
23 | +ActiveRecord::Base.extend(ActsAsHavingImage::ClassMethods) | ... | ... |
lib/extended_tag.rb
... | ... | @@ -4,13 +4,13 @@ class ActsAsTaggableOn::Tag |
4 | 4 | |
5 | 5 | has_many :children, :class_name => 'Tag', :foreign_key => 'parent_id', :dependent => :destroy |
6 | 6 | |
7 | - | |
8 | - @@original_find = self.method(:find) | |
9 | - # Rename the find method to find_with_pendings that includes all tags in the search regardless if its pending or not | |
7 | + | |
8 | + @@original_find = self.method(:find) | |
9 | + # Rename the find method to find_with_pendings that includes all tags in the search regardless if its pending or not | |
10 | 10 | def self.find_with_pendings(*args) |
11 | 11 | @@original_find.call(*args) |
12 | 12 | end |
13 | - | |
13 | + | |
14 | 14 | # Redefine the find method to exclude the pending tags from the search not allowing to tag something with an unapproved tag |
15 | 15 | def self.find(*args) |
16 | 16 | self.with_scope(:find => { :conditions => ['pending = ?', false] }) do |
... | ... | @@ -20,17 +20,17 @@ class ActsAsTaggableOn::Tag |
20 | 20 | |
21 | 21 | # Return all the tags that were suggested but not yet approved |
22 | 22 | def self.find_pendings |
23 | - self.find_with_pendings(:all, :conditions => ['pending = ?', true]) | |
23 | + self.find_with_pendings.where('pending = ?', true) | |
24 | 24 | end |
25 | 25 | |
26 | 26 | # All the tags that can be a new parent for this tag, that is all but itself and its descendents to avoid loops |
27 | 27 | def parent_candidates |
28 | - ActsAsTaggableOn::Tag.find(:all) - descendents - [self] | |
28 | + ActsAsTaggableOn::Tag.all - descendents - [self] | |
29 | 29 | end |
30 | - | |
30 | + | |
31 | 31 | # All tags that have this tag as its one of its ancestors |
32 | 32 | def descendents |
33 | - children.to_a.sum([], &:descendents) + children | |
33 | + children.to_a.sum([], &:descendents) + children | |
34 | 34 | end |
35 | 35 | |
36 | 36 | end | ... | ... |
lib/spammable.rb
... | ... | @@ -9,11 +9,11 @@ module Spammable |
9 | 9 | end |
10 | 10 | |
11 | 11 | module ClassMethods |
12 | - def self.extended (base) | |
12 | + def self.extended base | |
13 | 13 | if base.respond_to?(:scope) |
14 | 14 | base.class_eval do |
15 | - scope :without_spam, :conditions => ['spam IS NULL OR spam = ?', false] | |
16 | - scope :spam, :conditions => ['spam = ?', true] | |
15 | + scope :without_spam, -> { where 'spam IS NULL OR spam = ?', false } | |
16 | + scope :spam, -> { where 'spam = ?', true } | |
17 | 17 | end |
18 | 18 | end |
19 | 19 | end | ... | ... |
plugins/bsc/controllers/bsc_plugin_admin_controller.rb
... | ... | @@ -28,8 +28,9 @@ class BscPluginAdminController < AdminController |
28 | 28 | end |
29 | 29 | |
30 | 30 | def search_enterprise |
31 | - render :text => Enterprise.not_validated.find(:all, :conditions => ["type <> 'BscPlugin::Bsc' AND (name LIKE ? OR identifier LIKE ?)", "%#{params[:q]}%", "%#{params[:q]}%"]). | |
32 | - map {|enterprise| {:id => enterprise.id, :name => enterprise.name} }. | |
31 | + render :text => Enterprise.not_validated. | |
32 | + where("type <> 'BscPlugin::Bsc' AND (name LIKE ? OR identifier LIKE ?)", "%#{params[:q]}%", "%#{params[:q]}%"). | |
33 | + map{ |enterprise| {:id => enterprise.id, :name => enterprise.name} }. | |
33 | 34 | to_json |
34 | 35 | end |
35 | 36 | ... | ... |
plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb
... | ... | @@ -8,7 +8,7 @@ class BscPluginMyprofileController < MyProfileController |
8 | 8 | end |
9 | 9 | |
10 | 10 | def search_enterprise |
11 | - render :text => environment.enterprises.find(:all, :conditions => ["type <> 'BscPlugin::Bsc' AND (LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?) AND (identifier NOT LIKE ?)", "%#{params[:q]}%", "%#{params[:q]}%", "%_template"]). | |
11 | + render :text => environment.enterprises.where("type <> 'BscPlugin::Bsc' AND (LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?) AND (identifier NOT LIKE ?)", "%#{params[:q]}%", "%#{params[:q]}%", "%_template"). | |
12 | 12 | select { |enterprise| enterprise.bsc.nil? && !profile.already_requested?(enterprise)}. |
13 | 13 | map {|enterprise| {:id => enterprise.id, :name => enterprise.name} }. |
14 | 14 | to_json |
... | ... | @@ -188,7 +188,8 @@ class BscPluginMyprofileController < MyProfileController |
188 | 188 | end |
189 | 189 | |
190 | 190 | def search_contract_enterprises |
191 | - render :text => profile.enterprises.find(:all, :conditions => ["(LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?)", "%#{params[:enterprises]}%", "%#{params[:enterprises]}%"]). | |
191 | + render :text => profile.enterprises. | |
192 | + where("(LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?)", "%#{params[:enterprises]}%", "%#{params[:enterprises]}%"). | |
192 | 193 | map {|enterprise| {:id => enterprise.id, :name => enterprise.short_name(60)} }. |
193 | 194 | to_json |
194 | 195 | end |
... | ... | @@ -199,7 +200,8 @@ class BscPluginMyprofileController < MyProfileController |
199 | 200 | enterprises = enterprises.blank? ? -1 : enterprises |
200 | 201 | added_products = (params[:added_products] || []).split(',') |
201 | 202 | added_products = added_products.blank? ? -1 : added_products |
202 | - render :text => Product.find(:all, :conditions => ["LOWER(name) LIKE ? AND profile_id IN (?) AND id NOT IN (?)", "%#{query}%", enterprises, added_products]). | |
203 | + render :text => Product. | |
204 | + where("LOWER(name) LIKE ? AND profile_id IN (?) AND id NOT IN (?)", "%#{query}%", enterprises, added_products). | |
203 | 205 | map {|product| { :id => product.id, |
204 | 206 | :name => short_text(product_display_name(product), 60), |
205 | 207 | :sale_id => params[:sale_id], | ... | ... |
plugins/bsc/lib/bsc_plugin/contract.rb
... | ... | @@ -7,8 +7,8 @@ class BscPlugin::Contract < Noosfero::Plugin::ActiveRecord |
7 | 7 | |
8 | 8 | belongs_to :bsc, :class_name => 'BscPlugin::Bsc' |
9 | 9 | |
10 | - named_scope :status, lambda { |status_list| status_list.blank? ? {} : {:conditions => ['status in (?)', status_list]} } | |
11 | - named_scope :sorted_by, lambda { |sorter, direction| {:order => "#{sorter} #{direction}"} } | |
10 | + named_scope :status, -> (status_list) { where 'status in (?)', status_list if status_list.present? } | |
11 | + named_scope :sorted_by, -> (sorter, direction) { order "#{sorter} #{direction}" } | |
12 | 12 | |
13 | 13 | before_create do |contract| |
14 | 14 | contract.created_at ||= Time.now.utc | ... | ... |
plugins/bsc/lib/bsc_plugin/ext/enterprise.rb
... | ... | @@ -8,6 +8,6 @@ class Enterprise |
8 | 8 | FIELDS << 'enabled' |
9 | 9 | FIELDS << 'validated' |
10 | 10 | |
11 | - named_scope :validated, :conditions => {:validated => true} | |
12 | - named_scope :not_validated, :conditions => {:validated => false} | |
11 | + named_scope :validated, -> { where validated: true } | |
12 | + named_scope :not_validated, -> { where validated: false } | |
13 | 13 | end | ... | ... |
plugins/comment_classification/lib/comment_classification_plugin/label.rb
... | ... | @@ -4,7 +4,7 @@ class CommentClassificationPlugin::Label < Noosfero::Plugin::ActiveRecord |
4 | 4 | |
5 | 5 | validates_presence_of :name |
6 | 6 | |
7 | - scope :enabled, :conditions => { :enabled => true } | |
7 | + scope :enabled, -> { where enabled: true } | |
8 | 8 | |
9 | 9 | attr_accessible :name, :enabled, :color |
10 | 10 | ... | ... |
plugins/comment_classification/lib/comment_classification_plugin/status.rb
plugins/comment_group/lib/ext/article.rb
... | ... | @@ -2,13 +2,15 @@ require_dependency 'article' |
2 | 2 | |
3 | 3 | class Article |
4 | 4 | |
5 | - has_many :group_comments, :class_name => 'Comment', :foreign_key => 'source_id', :dependent => :destroy, :order => 'created_at asc', :conditions => [ 'group_id IS NOT NULL'] | |
5 | + has_many :group_comments, -> { | |
6 | + order('created_at asc').where('group_id IS NOT NULL') | |
7 | + }, class_name: 'Comment', foreign_key: 'source_id', dependent: :destroy | |
6 | 8 | |
7 | 9 | validate :not_empty_group_comments_removed |
8 | 10 | |
9 | 11 | def not_empty_group_comments_removed |
10 | 12 | if body && body_changed? |
11 | - groups_with_comments = Comment.find(:all, :select => 'distinct group_id', :conditions => {:source_id => self.id}).map(&:group_id).compact | |
13 | + groups_with_comments = Comment.select('DISTINCT group_id').where(source_id: self.id).map(&:group_id).compact | |
12 | 14 | groups = Nokogiri::HTML.fragment(body.to_s).css('.macro').collect{|element| element['data-macro-group_id'].to_i} |
13 | 15 | errors[:base] << (N_('Not empty group comment cannot be removed')) unless (groups_with_comments-groups).empty? |
14 | 16 | end | ... | ... |
plugins/comment_group/lib/ext/comment.rb
... | ... | @@ -2,12 +2,9 @@ require_dependency 'comment' |
2 | 2 | |
3 | 3 | class Comment |
4 | 4 | |
5 | - scope :without_group, :conditions => {:group_id => nil } | |
5 | + scope :without_group, -> { where group_id: nil } | |
6 | 6 | |
7 | - scope :in_group, proc { |group_id| { | |
8 | - :conditions => ['group_id = ?', group_id] | |
9 | - } | |
10 | - } | |
7 | + scope :in_group, -> (group_id) { where 'group_id = ?', group_id } | |
11 | 8 | |
12 | 9 | attr_accessible :group_id |
13 | 10 | ... | ... |
plugins/community_track/lib/community_track_plugin/step.rb
... | ... | @@ -32,7 +32,7 @@ class CommunityTrackPlugin::Step < Folder |
32 | 32 | self.start_date ||= Date.today |
33 | 33 | self.end_date ||= Date.today + 1.day |
34 | 34 | end |
35 | - | |
35 | + | |
36 | 36 | def set_hidden_position |
37 | 37 | if hidden |
38 | 38 | decrement_positions_on_lower_items |
... | ... | @@ -108,7 +108,7 @@ class CommunityTrackPlugin::Step < Folder |
108 | 108 | end |
109 | 109 | |
110 | 110 | def tool |
111 | - tools.find(:first, :conditions => {:type => tool_type }) | |
111 | + tools.where(type: tool_type).first | |
112 | 112 | end |
113 | 113 | |
114 | 114 | end | ... | ... |
plugins/custom_forms/lib/custom_forms_plugin/form.rb
... | ... | @@ -25,9 +25,9 @@ class CustomFormsPlugin::Form < Noosfero::Plugin::ActiveRecord |
25 | 25 | tasks.each {|task| task.cancel} |
26 | 26 | end |
27 | 27 | |
28 | - scope :from_profile, lambda {|profile| {:conditions => {:profile_id => profile.id}}} | |
29 | - scope :on_memberships, {:conditions => {:on_membership => true, :for_admission => false}} | |
30 | - scope :for_admissions, {:conditions => {:for_admission => true}} | |
28 | + scope :from_profile, -> (profile) { where profile_id: profile.id } | |
29 | + scope :on_memberships, -> { where on_membership: true, for_admission: false } | |
30 | + scope :for_admissions, -> { where for_admission: true } | |
31 | 31 | =begin |
32 | 32 | scope :accessible_to lambda do |profile| |
33 | 33 | #TODO should verify is profile is associated with the form owner | ... | ... |
plugins/custom_forms/lib/custom_forms_plugin/membership_survey.rb
... | ... | @@ -5,7 +5,7 @@ class CustomFormsPlugin::MembershipSurvey < Task |
5 | 5 | |
6 | 6 | include CustomFormsPlugin::Helper |
7 | 7 | |
8 | - scope :from_profile, lambda {|profile| {:conditions => {:requestor_id => profile.id}}} | |
8 | + scope :from_profile, -> (profile) { where requestor_id: profile.id } | |
9 | 9 | |
10 | 10 | def perform |
11 | 11 | form = CustomFormsPlugin::Form.find(form_id) | ... | ... |
plugins/display_content/lib/display_content_block.rb
... | ... | @@ -114,7 +114,7 @@ class DisplayContentBlock < Block |
114 | 114 | def articles_of_parent(parent = nil) |
115 | 115 | return [] if self.holder.nil? |
116 | 116 | types = VALID_CONTENT + plugins.dispatch(:content_types).map(&:name) |
117 | - holder.articles.find(:all, :conditions => {:type => types, :parent_id => (parent.nil? ? nil : parent)}) | |
117 | + holder.articles.where(type: types, parent_id: if parent.nil? then nil else parent end) | |
118 | 118 | end |
119 | 119 | |
120 | 120 | def content(args={}) | ... | ... |
plugins/mark_comment_as_read/lib/mark_comment_as_read_plugin/ext/comment.rb
... | ... | @@ -14,11 +14,11 @@ class Comment |
14 | 14 | end |
15 | 15 | |
16 | 16 | def marked_as_read?(person) |
17 | - person && people.find(:first, :conditions => {:id => person.id}) | |
17 | + person && people.where(id: person.id).first | |
18 | 18 | end |
19 | 19 | |
20 | 20 | def self.marked_as_read(person) |
21 | - find(:all, :joins => [:read_comments], :conditions => {:author_id => person.id}) | |
21 | + joins(:read_comments).where(author_id: person.id) | |
22 | 22 | end |
23 | 23 | |
24 | 24 | end | ... | ... |
plugins/oauth_client/lib/oauth_client_plugin/provider.rb
... | ... | @@ -13,7 +13,7 @@ class OauthClientPlugin::Provider < Noosfero::Plugin::ActiveRecord |
13 | 13 | |
14 | 14 | attr_accessible :name, :environment, :strategy, :client_id, :client_secret, :enabled, :client_options, :image_builder |
15 | 15 | |
16 | - scope :enabled, :conditions => {:enabled => true} | |
16 | + scope :enabled, -> { where enabled: true } | |
17 | 17 | |
18 | 18 | acts_as_having_image |
19 | 19 | ... | ... |
plugins/people_block/lib/ext/person.rb
... | ... | @@ -2,8 +2,9 @@ require_dependency 'person' |
2 | 2 | |
3 | 3 | class Person |
4 | 4 | |
5 | - scope :with_role, lambda { |role_id| | |
6 | - { :select => 'DISTINCT profiles.*', :joins => :role_assignments, :conditions => ["role_assignments.role_id = #{role_id}"] } | |
5 | + scope :with_role, -> (role_id) { | |
6 | + select('DISTINCT profiles.*').joins(:role_assignments). | |
7 | + where("role_assignments.role_id = #{role_id}") | |
7 | 8 | } |
8 | 9 | |
9 | 10 | end | ... | ... |
plugins/recent_content/lib/recent_content_block.rb
... | ... | @@ -18,9 +18,8 @@ class RecentContentBlock < Block |
18 | 18 | end |
19 | 19 | |
20 | 20 | def articles_of_folder(folder, limit) |
21 | - holder.articles.all(:conditions => {:type => VALID_CONTENT, :parent_id => folder.id}, | |
22 | - :order => 'created_at DESC', | |
23 | - :limit => limit ) | |
21 | + holder.articles.where(type: VALID_CONTENT, parent_id: folder.id). | |
22 | + order('created_at DESC').limit(limit) | |
24 | 23 | end |
25 | 24 | |
26 | 25 | def holder |
... | ... | @@ -34,12 +33,12 @@ class RecentContentBlock < Block |
34 | 33 | end |
35 | 34 | |
36 | 35 | def parents |
37 | - selected = self.holder.articles.all(:conditions => {:type => 'Blog'}) | |
36 | + selected = self.holder.articles.where(type: 'Blog').first | |
38 | 37 | end |
39 | 38 | |
40 | 39 | def root |
41 | 40 | unless self.selected_folder.nil? |
42 | - holder.articles.where(:id => self.selected_folder).first | |
41 | + holder.articles.where(id: self.selected_folder).first | |
43 | 42 | end |
44 | 43 | end |
45 | 44 | ... | ... |
plugins/relevant_content/lib/ext/article.rb
... | ... | @@ -2,7 +2,7 @@ require_dependency 'article' |
2 | 2 | |
3 | 3 | class Article |
4 | 4 | |
5 | - scope :relevant_content, :conditions => ["articles.published = true and (articles.type != 'UploadedFile' and articles.type != 'Blog' and articles.type != 'RssFeed') OR articles.type is NULL"] | |
5 | + scope :relevant_content, -> { where "articles.published = true and (articles.type != 'UploadedFile' and articles.type != 'Blog' and articles.type != 'RssFeed') OR articles.type is NULL" } | |
6 | 6 | |
7 | 7 | def self.articles_columns |
8 | 8 | Article.column_names.map {|c| "articles.#{c}"} .join(",") |
... | ... | @@ -10,86 +10,57 @@ class Article |
10 | 10 | |
11 | 11 | def self.most_accessed(owner, limit = nil) |
12 | 12 | conditions = owner.kind_of?(Environment) ? ["hits > 0"] : ["profile_id = ? and hits > 0", owner.id] |
13 | - result = Article.relevant_content.find( | |
14 | - :all, | |
15 | - :order => 'hits desc', | |
16 | - :limit => limit, | |
17 | - :conditions => conditions) | |
13 | + result = Article.relevant_content.order('hits desc').limit(limit).where(conditions) | |
18 | 14 | result.paginate({:page => 1, :per_page => limit}) |
19 | 15 | end |
20 | 16 | |
21 | 17 | def self.most_commented_relevant_content(owner, limit) |
22 | - conditions = owner.kind_of?(Environment) ? ["comments_count > 0"] : ["profile_id = ? and comments_count > 0", owner.id] | |
23 | - result = Article.relevant_content.find( | |
24 | - :all, | |
25 | - :order => 'comments_count desc', | |
26 | - :limit => limit, | |
27 | - :conditions => conditions) | |
28 | - result.paginate({:page => 1, :per_page => limit}) | |
18 | + conditions = owner.kind_of?(Environment) ? ["comments_count > 0"] : ["profile_id = ? and comments_count > 0", owner.id] | |
19 | + result = Article.relevant_content.all.order('comments_count desc').limit(limit).where(conditions) | |
20 | + result.paginate({:page => 1, :per_page => limit}) | |
29 | 21 | end |
30 | 22 | |
31 | 23 | def self.more_positive_votes(owner, limit = nil) |
32 | - conditions = owner.kind_of?(Environment) ? {'votes.voteable_type' => 'Article'} : ["profile_id = ? and votes.voteable_type = ? ", owner.id, 'Article'] | |
33 | - result = Article.relevant_content.find( | |
34 | - :all, | |
35 | - :order => 'sum(vote) desc', | |
36 | - :group => 'voteable_id, ' + articles_columns, | |
37 | - :limit => limit, | |
38 | - :having => ['sum(vote) > 0'], | |
39 | - :conditions => conditions, | |
40 | - :joins => 'INNER JOIN votes ON articles.id = votes.voteable_id') | |
41 | - result.paginate({:page => 1, :per_page => limit}) | |
24 | + conditions = owner.kind_of?(Environment) ? {'votes.voteable_type' => 'Article'} : ["profile_id = ? and votes.voteable_type = ? ", owner.id, 'Article'] | |
25 | + result = Article.relevant_content. | |
26 | + order('sum(vote) desc').group('voteable_id, ' + articles_columns). | |
27 | + limit(limit).having('sum(vote) > 0'). | |
28 | + where(conditions).joins('INNER JOIN votes ON articles.id = votes.voteable_id') | |
29 | + result.paginate({:page => 1, :per_page => limit}) | |
42 | 30 | end |
43 | 31 | |
44 | 32 | def self.more_negative_votes(owner, limit = nil) |
45 | - conditions = owner.kind_of?(Environment) ? {'votes.voteable_type' => 'Article'} : ["profile_id = ? and votes.voteable_type = 'Article' ", owner.id] | |
46 | - result = Article.relevant_content.find( | |
47 | - :all, | |
48 | - :order => 'sum(vote) asc', | |
49 | - :group => 'voteable_id, ' + articles_columns, | |
50 | - :limit => limit, | |
51 | - :having => ['sum(vote) < 0'], | |
52 | - :conditions => conditions, | |
53 | - :joins => 'INNER JOIN votes ON articles.id = votes.voteable_id' | |
54 | - ) | |
55 | - result.paginate({:page => 1, :per_page => limit}) | |
33 | + conditions = owner.kind_of?(Environment) ? {'votes.voteable_type' => 'Article'} : ["profile_id = ? and votes.voteable_type = 'Article' ", owner.id] | |
34 | + result = Article.relevant_content. | |
35 | + order('sum(vote) asc').group('voteable_id, ' + articles_columns). | |
36 | + limit(limit).having('sum(vote) < 0'). | |
37 | + where(conditions).joins('INNER JOIN votes ON articles.id = votes.voteable_id') | |
38 | + result.paginate({:page => 1, :per_page => limit}) | |
56 | 39 | end |
57 | 40 | |
58 | 41 | def self.most_liked(owner, limit = nil) |
59 | - conditions = owner.kind_of?(Environment) ? ["votes.voteable_type = 'Article' and vote > 0"] : ["votes.voteable_type = 'Article' and vote > 0 and profile_id = ? ", owner.id] | |
60 | - result = Article.relevant_content.find( | |
61 | - :all, | |
62 | - :select => articles_columns, | |
63 | - :order => 'count(voteable_id) desc', | |
64 | - :group => 'voteable_id, ' + articles_columns, | |
65 | - :limit => limit, | |
66 | - :conditions => conditions, | |
67 | - :joins => 'INNER JOIN votes ON articles.id = votes.voteable_id') | |
68 | - result.paginate({:page => 1, :per_page => limit}) | |
42 | + conditions = owner.kind_of?(Environment) ? ["votes.voteable_type = 'Article' and vote > 0"] : ["votes.voteable_type = 'Article' and vote > 0 and profile_id = ? ", owner.id] | |
43 | + result = Article.relevant_content. | |
44 | + select(articles_columns).order('count(voteable_id) desc'). | |
45 | + group('voteable_id, ' + articles_columns).limit(limit). | |
46 | + where(conditions).joins('INNER JOIN votes ON articles.id = votes.voteable_id') | |
47 | + result.paginate({:page => 1, :per_page => limit}) | |
69 | 48 | end |
70 | 49 | |
71 | 50 | def self.most_disliked(owner, limit = nil) |
72 | - conditions = owner.kind_of?(Environment) ? ["votes.voteable_type = 'Article' and vote < 0"] : ["votes.voteable_type = 'Article' and vote < 0 and profile_id = ? ", owner.id] | |
73 | - result = Article.relevant_content.find( | |
74 | - :all, | |
75 | - :order => 'count(voteable_id) desc', | |
76 | - :group => 'voteable_id, ' + articles_columns, | |
77 | - :limit => limit, | |
78 | - :conditions => conditions, | |
79 | - :joins => 'INNER JOIN votes ON articles.id = votes.voteable_id') | |
80 | - result.paginate({:page => 1, :per_page => limit}) | |
51 | + conditions = owner.kind_of?(Environment) ? ["votes.voteable_type = 'Article' and vote < 0"] : ["votes.voteable_type = 'Article' and vote < 0 and profile_id = ? ", owner.id] | |
52 | + result = Article.relevant_content. | |
53 | + order('count(voteable_id) desc').group('voteable_id, ' + articles_columns). | |
54 | + limit(limit).where(conditions).joins('INNER JOIN votes ON articles.id = votes.voteable_id') | |
55 | + result.paginate({:page => 1, :per_page => limit}) | |
81 | 56 | end |
82 | 57 | |
83 | 58 | def self.most_voted(owner, limit = nil) |
84 | 59 | conditions = owner.kind_of?(Environment) ? ["votes.voteable_type = 'Article'"] : ["votes.voteable_type = 'Article' and profile_id = ? ", owner.id] |
85 | - result = Article.relevant_content.find( | |
86 | - :all, | |
87 | - :select => articles_columns, | |
88 | - :order => 'count(voteable_id) desc', | |
89 | - :group => 'voteable_id, ' + articles_columns, | |
90 | - :limit => limit, | |
91 | - :conditions => conditions, | |
92 | - :joins => 'INNER JOIN votes ON articles.id = votes.voteable_id') | |
93 | - result.paginate({:page => 1, :per_page => limit}) | |
60 | + result = Article.relevant_content. | |
61 | + select(articles_columns).order('count(voteable_id) desc'). | |
62 | + group('voteable_id, ' + articles_columns).limit(limit). | |
63 | + where(conditions).joins('INNER JOIN votes ON articles.id = votes.voteable_id') | |
64 | + result.paginate({:page => 1, :per_page => limit}) | |
94 | 65 | end |
95 | 66 | end | ... | ... |
plugins/shopping_cart/controllers/shopping_cart_plugin_myprofile_controller.rb
... | ... | @@ -28,7 +28,7 @@ class ShoppingCartPluginMyprofileController < MyProfileController |
28 | 28 | end |
29 | 29 | |
30 | 30 | conditions = [condition] + condition_parameters |
31 | - @orders = profile.orders.find(:all, :conditions => conditions) | |
31 | + @orders = profile.orders.where(conditions) | |
32 | 32 | |
33 | 33 | @products = {} |
34 | 34 | @orders.each do |order| | ... | ... |
plugins/spaminator/lib/spaminator_plugin/report.rb
... | ... | @@ -7,7 +7,7 @@ class SpaminatorPlugin::Report < Noosfero::Plugin::ActiveRecord |
7 | 7 | |
8 | 8 | attr_accessible :environment |
9 | 9 | |
10 | - scope :from_environment, lambda { |environment| {:conditions => {:environment_id => environment}}} | |
10 | + scope :from_environment, -> (environment) { where :environment_id => environment } | |
11 | 11 | |
12 | 12 | after_initialize do |report| |
13 | 13 | report.failed = {:people => [], :comments => []} if report.failed.blank? | ... | ... |
plugins/statistics/lib/statistics_block.rb
... | ... | @@ -69,7 +69,7 @@ class StatisticsBlock < Block |
69 | 69 | end |
70 | 70 | |
71 | 71 | def template_counter_count(template_id) |
72 | - owner.communities.visible.count(:conditions => {:template_id => template_id}) | |
72 | + owner.communities.visible.where(template_id: template_id).count | |
73 | 73 | end |
74 | 74 | |
75 | 75 | def users | ... | ... |
plugins/stoa/lib/ext/person.rb
... | ... | @@ -20,7 +20,7 @@ class Person |
20 | 20 | end |
21 | 21 | |
22 | 22 | def invitation_task |
23 | - Task.pending.find(:first, :conditions => {:code => invitation_code.to_s}) || | |
24 | - Task.finished.find(:first, :conditions => {:code => invitation_code.to_s, :target_id => id}) | |
23 | + Task.pending.where(code: invitation_code.to_s).first or | |
24 | + Task.finished.where(code: invitation_code.to_s, target_id: id).first | |
25 | 25 | end |
26 | 26 | end | ... | ... |
plugins/stoa/lib/stoa_plugin.rb
... | ... | @@ -63,7 +63,7 @@ class StoaPlugin < Noosfero::Plugin |
63 | 63 | block = proc do |
64 | 64 | params[:profile_data] ||= {} |
65 | 65 | params[:profile_data][:invitation_code] = params[:invitation_code] |
66 | - invitation = Task.pending.find(:first, :conditions => {:code => params[:invitation_code]}) | |
66 | + invitation = Task.pending.where(code: params[:invitation_code]).first | |
67 | 67 | if request.post? |
68 | 68 | if !invitation && !StoaPlugin::UspUser.matches?(params[:profile_data][:usp_id], params[:confirmation_field], params[params[:confirmation_field]]) |
69 | 69 | # `self` below is evaluated in the context of account_controller | ... | ... |
plugins/sub_organizations/controllers/sub_organizations_plugin_myprofile_controller.rb
... | ... | @@ -32,11 +32,12 @@ class SubOrganizationsPluginMyprofileController < MyProfileController |
32 | 32 | end |
33 | 33 | |
34 | 34 | def search_organization |
35 | - render :text => prepare_to_token_input(environment.organizations.find(:all, :conditions => | |
36 | - ["(LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?) | |
35 | + render :text => prepare_to_token_input( | |
36 | + environment.organizations.where( | |
37 | + "(LOWER(name) LIKE ? OR LOWER(identifier) LIKE ?) | |
37 | 38 | AND (identifier NOT LIKE ?) AND (id != ?)", |
38 | - "%#{params[:q]}%", "%#{params[:q]}%", "%_template", profile.id]). | |
39 | - select { |organization| | |
39 | + "%#{params[:q]}%", "%#{params[:q]}%", "%_template", profile.id). | |
40 | + select{ |organization| | |
40 | 41 | Organization.children(organization).blank? && |
41 | 42 | !Organization.pending_children(profile).include?(organization) |
42 | 43 | }).to_json | ... | ... |
plugins/sub_organizations/lib/ext/organization.rb
... | ... | @@ -13,26 +13,20 @@ class Organization |
13 | 13 | |
14 | 14 | FIELDS << 'sub_organizations_plugin_parent_to_be' |
15 | 15 | |
16 | - scope :children, lambda { |parent| | |
17 | - options = { | |
18 | - :joins => "inner join sub_organizations_plugin_relations as relations on profiles.id=relations.child_id", | |
19 | - :conditions => ["relations.parent_id = ?", parent.id] | |
20 | - } | |
16 | + scope :children, -> (parent) { | |
17 | + joins("inner join sub_organizations_plugin_relations as relations on profiles.id=relations.child_id"). | |
18 | + where("relations.parent_id = ?", parent.id) | |
21 | 19 | } |
22 | 20 | |
23 | - scope :parents, lambda { |*children| | |
24 | - options = { | |
25 | - :joins => "inner join sub_organizations_plugin_relations as relations on profiles.id=relations.parent_id", | |
26 | - :conditions => ["relations.child_id in (?)", children.map(&:id)] | |
27 | - } | |
21 | + scope :parents, -> (*children) { | |
22 | + joins("inner join sub_organizations_plugin_relations as relations on profiles.id=relations.parent_id"). | |
23 | + where("relations.child_id in (?)", children.map(&:id)) | |
28 | 24 | } |
29 | 25 | |
30 | - scope :pending_children, lambda { |parent| | |
31 | - options = { | |
32 | - :select => "distinct profiles.*", | |
33 | - :joins => "inner join sub_organizations_plugin_approve_paternity_relations as relations on profiles.id=relations.child_id inner join tasks on relations.task_id=tasks.id", | |
34 | - :conditions => ["relations.parent_id = ? AND tasks.status = 1", parent.id] | |
35 | - } | |
26 | + scope :pending_children, -> (parent) { | |
27 | + select("distinct profiles.*"). | |
28 | + joins("inner join sub_organizations_plugin_approve_paternity_relations as relations on profiles.id=relations.child_id inner join tasks on relations.task_id=tasks.id"). | |
29 | + where("relations.parent_id = ? AND tasks.status = 1", parent.id) | |
36 | 30 | } |
37 | 31 | |
38 | 32 | end | ... | ... |
plugins/work_assignment/controllers/work_assignment_plugin_myprofile_controller.rb
... | ... | @@ -16,13 +16,13 @@ def edit_visibility |
16 | 16 | end |
17 | 17 | folder.save! |
18 | 18 | redirect_to @back_to |
19 | - end | |
19 | + end | |
20 | 20 | end |
21 | 21 | end |
22 | 22 | |
23 | 23 | def search_article_privacy_exceptions |
24 | 24 | arg = params[:q].downcase |
25 | - result = profile.members.find(:all, :conditions => ['LOWER(name) LIKE ?', "%#{arg}%"]) | |
25 | + result = profile.members.where('LOWER(name) LIKE ?', "%#{arg}%") | |
26 | 26 | render :text => prepare_to_token_input(result).to_json |
27 | 27 | end |
28 | 28 | ... | ... |
script/apply-template
... | ... | @@ -30,7 +30,7 @@ when 'inactive-enterprise' |
30 | 30 | excluded = [env.inactive_enterprise_template, env.enterprise_template] |
31 | 31 | template = excluded.first |
32 | 32 | |
33 | - while enterprise = Enterprise.find(:first, :conditions => {:enabled => false}, :order => :id, :offset => offset) | |
33 | + while enterprise = Enterprise.where(enabled: false).order(:id).offset(offset) | |
34 | 34 | # do nothing with templates |
35 | 35 | next if excluded.include?(enterprise) |
36 | 36 | |
... | ... | @@ -42,7 +42,7 @@ when 'inactive-enterprise' |
42 | 42 | offset = offset + 1 |
43 | 43 | end |
44 | 44 | when 'active-enterprise' |
45 | - active_enterprises = Enterprise.find(:all, :conditions => {:enabled => true}) - [env.enterprise_template, env.enterprise_template] | |
45 | + active_enterprises = Enterprise.where(enabled: true).all - [env.enterprise_template, env.enterprise_template] | |
46 | 46 | active_enterprises.each do |enterprise| |
47 | 47 | old_home = enterprise.home_page |
48 | 48 | enterprise.apply_template(env.enterprise_template) |
... | ... | @@ -53,7 +53,7 @@ when 'community' |
53 | 53 | excluded = ['espaco', 'anarquismo'] |
54 | 54 | template = env.community_template |
55 | 55 | offset = 0 |
56 | - while community = Community.find(:first, :order => :id, :offset => offset) | |
56 | + while community = Community.order(:id).offset(offset) | |
57 | 57 | if community != template && !excluded.include?(community.identifier) |
58 | 58 | report_doing offset, community.name |
59 | 59 | community.apply_template(template) | ... | ... |
script/sample-enterprises
... | ... | @@ -44,7 +44,7 @@ groups.each do |group| |
44 | 44 | end |
45 | 45 | done |
46 | 46 | |
47 | -EnterpriseActivation.find(:all, :conditions => ['created_at > ?', start_time]).each do |activation| | |
47 | +EnterpriseActivation.where('created_at > ?', start_time).each do |activation| | |
48 | 48 | enterprise = activation.enterprise |
49 | 49 | end |
50 | 50 | ... | ... |
script/sample-profiles
test/unit/article_categorization_test.rb
... | ... | @@ -87,7 +87,7 @@ class ArticleCategorizationTest < ActiveSupport::TestCase |
87 | 87 | ArticleCategorization.add_category_to_article(c2, a) |
88 | 88 | ArticleCategorization.add_category_to_article(c1, a) |
89 | 89 | |
90 | - assert ArticleCategorization.find(:first, :conditions => [ 'category_id = ? and article_id = ? and not virtual', c1.id, a.id ]), 'categorization must be promoted to not virtual' | |
90 | + assert ArticleCategorization.where('category_id = ? and article_id = ? and not virtual', c1.id, a.id).first, 'categorization must be promoted to not virtual' | |
91 | 91 | end |
92 | 92 | |
93 | 93 | private | ... | ... |
test/unit/person_test.rb
... | ... | @@ -1006,9 +1006,9 @@ class PersonTest < ActiveSupport::TestCase |
1006 | 1006 | p = create_user('test_user').person |
1007 | 1007 | c = fast_create(Community, :name => "Foo") |
1008 | 1008 | c.add_member(p) |
1009 | - assert_equal ["Foo"], ActionTracker::Record.last(:conditions => {:verb => 'join_community'}).get_resource_name | |
1009 | + assert_equal ["Foo"], ActionTracker::Record.where(verb: 'join_community').last.get_resource_name | |
1010 | 1010 | c.reload.add_moderator(p.reload) |
1011 | - assert_equal ["Foo"], ActionTracker::Record.last(:conditions => {:verb => 'join_community'}).get_resource_name | |
1011 | + assert_equal ["Foo"], ActionTracker::Record.where(verb: 'join_community').last.get_resource_name | |
1012 | 1012 | end |
1013 | 1013 | |
1014 | 1014 | should 'the tracker target be Community when a person joins a community' do |
... | ... | @@ -1016,7 +1016,7 @@ class PersonTest < ActiveSupport::TestCase |
1016 | 1016 | p = create_user('test_user').person |
1017 | 1017 | c = fast_create(Community, :name => "Foo") |
1018 | 1018 | c.add_member(p) |
1019 | - assert_kind_of Community, ActionTracker::Record.last(:conditions => {:verb => 'join_community'}).target | |
1019 | + assert_kind_of Community, ActionTracker::Record.where(verb: 'join_community').last.target | |
1020 | 1020 | end |
1021 | 1021 | |
1022 | 1022 | should 'the community be notified specifically when a person joins a community' do |
... | ... | @@ -1024,7 +1024,7 @@ class PersonTest < ActiveSupport::TestCase |
1024 | 1024 | p = create_user('test_user').person |
1025 | 1025 | c = fast_create(Community, :name => "Foo") |
1026 | 1026 | c.add_member(p) |
1027 | - assert_not_nil ActionTracker::Record.last(:conditions => {:verb => 'add_member_in_community'}) | |
1027 | + assert_not_nil ActionTracker::Record.where(verb: 'add_member_in_community').last | |
1028 | 1028 | end |
1029 | 1029 | |
1030 | 1030 | should 'the community specific notification created when a member joins community could not be propagated to members' do | ... | ... |
test/unit/profile_test.rb
... | ... | @@ -448,7 +448,7 @@ class ProfileTest < ActiveSupport::TestCase |
448 | 448 | p1 = create(Profile, :public_profile => true) |
449 | 449 | p2 = create(Profile, :public_profile => false) |
450 | 450 | |
451 | - result = Profile.find(:all, :conditions => {:public_profile => true}) | |
451 | + result = Profile.where(public_profile: true).all | |
452 | 452 | assert_includes result, p1 |
453 | 453 | assert_not_includes result, p2 |
454 | 454 | end | ... | ... |
test/unit/suggest_article_test.rb
... | ... | @@ -81,7 +81,7 @@ class SuggestArticleTest < ActiveSupport::TestCase |
81 | 81 | t.article[:highlighted] = true |
82 | 82 | t.perform |
83 | 83 | |
84 | - article = TinyMceArticle.last(:conditions => { :name => t.article_name}) # just to be sure | |
84 | + article = TinyMceArticle.where(name: t.article_name).last # just to be sure | |
85 | 85 | assert article.highlighted |
86 | 86 | end |
87 | 87 | |
... | ... | @@ -89,7 +89,7 @@ class SuggestArticleTest < ActiveSupport::TestCase |
89 | 89 | t = build(SuggestArticle, :target => @profile) |
90 | 90 | t.perform |
91 | 91 | |
92 | - article = TinyMceArticle.last(:conditions => { :name => t.article_name}) | |
92 | + article = TinyMceArticle.where(name: t.article_name).last | |
93 | 93 | assert_equal false, article.highlighted |
94 | 94 | end |
95 | 95 | ... | ... |
test/unit/uploaded_file_test.rb
... | ... | @@ -229,7 +229,7 @@ class UploadedFileTest < ActiveSupport::TestCase |
229 | 229 | should 'track action when a published image is uploaded in a gallery' do |
230 | 230 | p = fast_create(Gallery, :profile_id => @profile.id) |
231 | 231 | f = create(UploadedFile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png'), :parent => p, :profile => @profile) |
232 | - ta = ActionTracker::Record.last(:conditions => { :verb => "upload_image" }) | |
232 | + ta = ActionTracker::Record.where(verb: "upload_image").last | |
233 | 233 | assert_kind_of String, ta.get_thumbnail_path[0] |
234 | 234 | assert_equal [f.reload.view_url], ta.get_view_url |
235 | 235 | assert_equal [p.reload.url], ta.get_parent_url |
... | ... | @@ -240,26 +240,26 @@ class UploadedFileTest < ActiveSupport::TestCase |
240 | 240 | ActionTracker::Record.delete_all |
241 | 241 | p = fast_create(Gallery, :profile_id => @profile.id) |
242 | 242 | f = create(UploadedFile, :uploaded_data => fixture_file_upload('/files/test.txt', 'text/plain'), :parent => p, :profile => @profile) |
243 | - assert_nil ActionTracker::Record.last(:conditions => { :verb => "upload_image" }) | |
243 | + assert_nil ActionTracker::Record.where(verb: "upload_image").last | |
244 | 244 | end |
245 | 245 | |
246 | 246 | should 'not track action when has no parent' do |
247 | 247 | f = create(UploadedFile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png'), :parent => nil, :profile => @profile) |
248 | - assert_nil ActionTracker::Record.last(:conditions => { :verb => "upload_image" }) | |
248 | + assert_nil ActionTracker::Record.where(verb: "upload_image").last | |
249 | 249 | end |
250 | 250 | |
251 | 251 | should 'not track action when is not published' do |
252 | 252 | ActionTracker::Record.delete_all |
253 | 253 | p = fast_create(Gallery, :profile_id => @profile.id) |
254 | 254 | f = create(UploadedFile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png'), :parent => p, :profile => @profile, :published => false) |
255 | - assert_nil ActionTracker::Record.last(:conditions => { :verb => "upload_image" }) | |
255 | + assert_nil ActionTracker::Record.where(verb: "upload_image").last | |
256 | 256 | end |
257 | 257 | |
258 | 258 | should 'not track action when parent is not gallery' do |
259 | 259 | ActionTracker::Record.delete_all |
260 | 260 | p = fast_create(Folder, :profile_id => @profile.id) |
261 | 261 | f = create(UploadedFile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png'), :parent => p, :profile => @profile) |
262 | - assert_nil ActionTracker::Record.last(:conditions => { :verb => "upload_image" }) | |
262 | + assert_nil ActionTracker::Record.where(verb: "upload_image").last | |
263 | 263 | end |
264 | 264 | |
265 | 265 | should 'not crash if first paragraph called' do | ... | ... |
vendor/plugins/access_control/lib/acts_as_accessor.rb
... | ... | @@ -15,7 +15,7 @@ module ActsAsAccessor |
15 | 15 | |
16 | 16 | def define_roles(roles, resource) |
17 | 17 | roles = [roles] unless roles.kind_of?(Array) |
18 | - actual_roles = RoleAssignment.find( :all, :conditions => role_attributes(nil, resource) ).map(&:role) | |
18 | + actual_roles = RoleAssignment.where(role_attributes nil, resource).map(&:role) | |
19 | 19 | |
20 | 20 | (roles - actual_roles).each {|r| add_role(r, resource) } |
21 | 21 | (actual_roles - roles).each {|r| remove_role(r, resource)} |
... | ... | @@ -23,7 +23,7 @@ module ActsAsAccessor |
23 | 23 | |
24 | 24 | def add_role(role, resource) |
25 | 25 | attributes = role_attributes(role, resource) |
26 | - if RoleAssignment.find(:all, :conditions => attributes).empty? | |
26 | + if RoleAssignment.where(attributes).empty? | |
27 | 27 | ra = RoleAssignment.new(attributes) |
28 | 28 | role_assignments << ra |
29 | 29 | resource.role_assignments << ra |
... | ... | @@ -35,13 +35,13 @@ module ActsAsAccessor |
35 | 35 | |
36 | 36 | def remove_role(role, resource) |
37 | 37 | return unless role |
38 | - roles_destroy = RoleAssignment.find(:all, :conditions => role_attributes(role, resource)) | |
38 | + roles_destroy = RoleAssignment.where(role_attributes role, resource) | |
39 | 39 | return if roles_destroy.empty? |
40 | 40 | roles_destroy.map(&:destroy).all? |
41 | 41 | end |
42 | 42 | |
43 | 43 | def find_roles(res) |
44 | - RoleAssignment.find(:all, :conditions => role_attributes(nil, res)) | |
44 | + RoleAssignment.where(role_attributes nil, res) | |
45 | 45 | end |
46 | 46 | |
47 | 47 | protected |
... | ... | @@ -55,10 +55,10 @@ module ActsAsAccessor |
55 | 55 | resource = nil |
56 | 56 | end |
57 | 57 | if resource |
58 | - attributes[:resource_id] = resource.id | |
58 | + attributes[:resource_id] = resource.id | |
59 | 59 | attributes[:resource_type] = resource.class.base_class.name |
60 | 60 | else |
61 | - attributes[:resource_id] = nil | |
61 | + attributes[:resource_id] = nil | |
62 | 62 | attributes[:resource_type] = nil |
63 | 63 | end |
64 | 64 | attributes | ... | ... |
vendor/plugins/access_control/lib/role_assignment.rb
... | ... | @@ -7,11 +7,15 @@ class RoleAssignment < ActiveRecord::Base |
7 | 7 | belongs_to :resource, :polymorphic => true |
8 | 8 | |
9 | 9 | validates_presence_of :role, :accessor |
10 | - | |
11 | - track_actions :join_community, :after_create, :keep_params => ["resource.name", "resource.url", "resource.profile_custom_icon"], :if => Proc.new { |x| x.resource.is_a?(Community) && x.accessor.role_assignments.count(:conditions => { :resource_id => x.resource.id, :resource_type => 'Profile' }) == 1 }, :custom_user => :accessor, :custom_target => :resource | |
12 | - | |
13 | - track_actions :add_member_in_community, :after_create, :if => Proc.new { |x| x.resource.is_a?(Community) && x.accessor.role_assignments.count(:conditions => { :resource_id => x.resource.id, :resource_type => 'Profile' }) == 1 }, :custom_user => :accessor, :custom_target => :resource | |
14 | - | |
10 | + | |
11 | + track_actions :join_community, :after_create, :keep_params => ["resource.name", "resource.url", "resource.profile_custom_icon"], | |
12 | + if: -> (x) { x.resource.is_a?(Community) && x.accessor.role_assignments.where(resource_id: x.resource.id, resource_type: 'Profile').count == 1 }, | |
13 | + :custom_user => :accessor, :custom_target => :resource | |
14 | + | |
15 | + track_actions :add_member_in_community, :after_create, | |
16 | + if: -> (x) { x.resource.is_a?(Community) && x.accessor.role_assignments.where(resource_id: x.resource.id, resource_type: 'Profile').count == 1 }, | |
17 | + :custom_user => :accessor, :custom_target => :resource | |
18 | + | |
15 | 19 | def has_permission?(perm, res) |
16 | 20 | return false unless role.has_permission?(perm.to_s) && (resource || is_global) |
17 | 21 | return true if is_global | ... | ... |
vendor/plugins/action_tracker/lib/action_tracker.rb
... | ... | @@ -83,7 +83,7 @@ module ActionTracker |
83 | 83 | module InstanceMethods |
84 | 84 | def time_spent_doing(verb, conditions = {}) |
85 | 85 | time = 0 |
86 | - tracked_actions.all(:conditions => conditions.merge({ :verb => verb.to_s })).each do |t| | |
86 | + tracked_actions.where(conditions.merge verb: verb.to_s).each do |t| | |
87 | 87 | time += t.updated_at - t.created_at |
88 | 88 | end |
89 | 89 | time.to_f | ... | ... |
vendor/plugins/action_tracker/lib/action_tracker_model.rb
... | ... | @@ -24,8 +24,8 @@ module ActionTracker |
24 | 24 | # In days |
25 | 25 | RECENT_DELAY = 30 |
26 | 26 | |
27 | - scope :recent, :conditions => ['created_at >= ?', RECENT_DELAY.days.ago] | |
28 | - scope :visible, :conditions => { :visible => true } | |
27 | + scope :recent, -> { where 'created_at >= ?', RECENT_DELAY.days.ago } | |
28 | + scope :visible, -> { where visible: true } | |
29 | 29 | |
30 | 30 | def self.current_user_from_model |
31 | 31 | u = new |
... | ... | @@ -38,7 +38,7 @@ module ActionTracker |
38 | 38 | return if u.nil? |
39 | 39 | target_hash = params[:target].nil? ? {} : {:target_type => params[:target].class.base_class.to_s, :target_id => params[:target].id} |
40 | 40 | conditions = { :user_id => u.id, :user_type => u.class.base_class.to_s, :verb => params[:verb].to_s }.merge(target_hash) |
41 | - l = last :conditions => conditions | |
41 | + l = where(conditions).last | |
42 | 42 | ( !l.nil? and Time.now - l.updated_at < ActionTrackerConfig.timeout ) ? l.update_attributes(params.merge({ :updated_at => Time.now })) : l = new(params) |
43 | 43 | l |
44 | 44 | end |
... | ... | @@ -47,7 +47,7 @@ module ActionTracker |
47 | 47 | u = params[:user] || current_user_from_model |
48 | 48 | return if u.nil? |
49 | 49 | target_hash = params[:target].nil? ? {} : {:target_type => params[:target].class.base_class.to_s, :target_id => params[:target].id} |
50 | - l = last :conditions => { :user_id => u.id, :user_type => u.class.base_class.to_s, :verb => params[:verb].to_s }.merge(target_hash) | |
50 | + l = where({user_id: u.id, user_type: u.class.base_class.to_s, verb: params[:verb].to_s}.merge target_hash).last | |
51 | 51 | if !l.nil? and Time.now - l.created_at < ActionTrackerConfig.timeout |
52 | 52 | params[:params].clone.each { |key, value| params[:params][key] = l.params[key].clone.push(value) } |
53 | 53 | l.update_attributes params |
... | ... | @@ -61,7 +61,7 @@ module ActionTracker |
61 | 61 | def self.time_spent(conditions = {}) # In seconds |
62 | 62 | #FIXME Better if it could be completely done in the database, but SQLite does not support difference between two timestamps |
63 | 63 | time = 0 |
64 | - all(:conditions => conditions).each { |action| time += action.updated_at - action.created_at } | |
64 | + self.where(conditions).each{ |action| time += action.updated_at - action.created_at } | |
65 | 65 | time.to_f |
66 | 66 | end |
67 | 67 | ... | ... |
vendor/plugins/acts_as_list/lib/active_record/acts/list.rb
... | ... | @@ -159,17 +159,13 @@ module ActiveRecord |
159 | 159 | # Return the next higher item in the list. |
160 | 160 | def higher_item |
161 | 161 | return nil unless in_list? |
162 | - acts_as_list_class.find(:first, :conditions => | |
163 | - "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i - 1).to_s}" | |
164 | - ) | |
162 | + acts_as_list_class.where("#{scope_condition} AND #{position_column} = #{(send(position_column).to_i - 1).to_s}").first | |
165 | 163 | end |
166 | 164 | |
167 | 165 | # Return the next lower item in the list. |
168 | 166 | def lower_item |
169 | 167 | return nil unless in_list? |
170 | - acts_as_list_class.find(:first, :conditions => | |
171 | - "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i + 1).to_s}" | |
172 | - ) | |
168 | + acts_as_list_class.where("#{scope_condition} AND #{position_column} = #{(send(position_column).to_i + 1).to_s}").first | |
173 | 169 | end |
174 | 170 | |
175 | 171 | # Test if this record is in a list |
... | ... | @@ -200,7 +196,7 @@ module ActiveRecord |
200 | 196 | def bottom_item(except = nil) |
201 | 197 | conditions = scope_condition |
202 | 198 | conditions = "#{conditions} AND #{self.class.primary_key} != #{except.id}" if except |
203 | - acts_as_list_class.find(:first, :conditions => conditions, :order => "#{position_column} DESC") | |
199 | + acts_as_list_class.where(conditions).order("#{position_column} DESC").first | |
204 | 200 | end |
205 | 201 | |
206 | 202 | # Forces item to assume the bottom position in the list. | ... | ... |
vendor/plugins/acts_as_versioned/lib/acts_as_versioned.rb
1 | 1 | # Copyright (c) 2005 Rick Olson |
2 | -# | |
2 | +# | |
3 | 3 | # Permission is hereby granted, free of charge, to any person obtaining |
4 | 4 | # a copy of this software and associated documentation files (the |
5 | 5 | # "Software"), to deal in the Software without restriction, including |
... | ... | @@ -7,10 +7,10 @@ |
7 | 7 | # distribute, sublicense, and/or sell copies of the Software, and to |
8 | 8 | # permit persons to whom the Software is furnished to do so, subject to |
9 | 9 | # the following conditions: |
10 | -# | |
10 | +# | |
11 | 11 | # The above copyright notice and this permission notice shall be |
12 | 12 | # included in all copies or substantial portions of the Software. |
13 | -# | |
13 | +# | |
14 | 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
15 | 15 | # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
16 | 16 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
... | ... | @@ -22,7 +22,7 @@ require 'active_support/concern' |
22 | 22 | |
23 | 23 | module ActiveRecord #:nodoc: |
24 | 24 | module Acts #:nodoc: |
25 | - # Specify this act if you want to save a copy of the row in a versioned table. This assumes there is a | |
25 | + # Specify this act if you want to save a copy of the row in a versioned table. This assumes there is a | |
26 | 26 | # versioned table ready and that your model has a version field. This works with optimistic locking if the lock_version |
27 | 27 | # column is present as well. |
28 | 28 | # |
... | ... | @@ -56,7 +56,7 @@ module ActiveRecord #:nodoc: |
56 | 56 | # |
57 | 57 | # Simple Queries to page between versions |
58 | 58 | # |
59 | - # page.versions.before(version) | |
59 | + # page.versions.before(version) | |
60 | 60 | # page.versions.after(version) |
61 | 61 | # |
62 | 62 | # Access the previous/next versions from the versioned model itself |
... | ... | @@ -264,7 +264,7 @@ module ActiveRecord #:nodoc: |
264 | 264 | included do |
265 | 265 | has_many :versions, self.version_association_options |
266 | 266 | |
267 | - before_save :set_new_version | |
267 | + #before_save :set_new_version | |
268 | 268 | after_save :save_version |
269 | 269 | after_save :clear_old_versions |
270 | 270 | end |
... | ... | @@ -345,7 +345,7 @@ module ActiveRecord #:nodoc: |
345 | 345 | new_model.send("#{sym}=", orig_model[orig_model.class.inheritance_column]) if orig_model[orig_model.class.inheritance_column] |
346 | 346 | end |
347 | 347 | end |
348 | - | |
348 | + | |
349 | 349 | def define_method(object, method) |
350 | 350 | return if object.methods.include? method |
351 | 351 | metaclass = class << object; self; end | ... | ... |