From 34935fb011a2982968c6a2e0b049eeb2aa791c78 Mon Sep 17 00:00:00 2001 From: Naman Gupta <01namangupta@gmail.com> Date: Sat, 27 Jan 2018 23:05:52 +0530 Subject: [PATCH] Fixed Rubocop offences (#2127) --- .rubocop.yml | 16 +++++- app/controllers/admin_controller.rb | 4 +- app/controllers/application_controller.rb | 20 ++++---- app/controllers/like_controller.rb | 4 +- app/controllers/stats_controller.rb | 4 +- app/controllers/subscription_controller.rb | 2 +- app/controllers/tag_controller.rb | 6 +-- app/controllers/wiki_controller.rb | 13 ++--- app/helpers/application_helper.rb | 2 +- app/models/node.rb | 12 ++--- app/models/tag.rb | 4 +- app/models/user_tag.rb | 2 +- app/services/typeahead_service.rb | 60 +++++++++++----------- app/views/tag/_contributors.html.erb | 4 +- 14 files changed, 83 insertions(+), 70 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index b3b848cf39..906bc867a1 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -19,7 +19,21 @@ AllCops: - 'script/**/*' - 'lib/**/*' - 'test/**/*' + - 'public/**/*' + - 'Dangerfile' TargetRubyVersion: '2.4' Style/FrozenStringLiteralComment: - Enabled: false \ No newline at end of file + Enabled: false + +Metrics/ParameterLists: + Enabled: false + +Metrics/ModuleLength: + Max: 303 + +Metrics/ClassLength: + Max: 660 + +Style/RegexpLiteral: + Enabled: false diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index ef4fe2ad34..e081a612b9 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -80,8 +80,8 @@ def spam @nodes = if params[:type] == 'wiki' @nodes.where(type: 'page', status: 1) else - @nodes.where(status: 0) - end + @nodes.where(status: 0) + end else flash[:error] = 'Only moderators can moderate posts.' redirect_to '/dashboard' diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index cb29ef586e..37e197e2c1 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -35,11 +35,9 @@ def set_sidebar(type = :generic, data = :all, args = {}) Node.questions .joins(:revision) else - Node.research_notes - .joins(:revision) - .order('node.nid DESC') - .paginate(page: params[:page]) - end + Node.research_notes.joins(:revision).order('node.nid DESC').paginate(page: params[:page]) + end + @notes = @notes.where('node.nid != (?)', @node.nid) if @node @notes = @notes.where('node_revisions.status = 1 AND node.nid NOT IN (?)', hidden_nids) unless hidden_nids.empty? @@ -163,17 +161,17 @@ def comments_node_and_path # finding node for node comments @comment.node else - # finding node for answer comments - @comment.answer.node - end + # finding node for answer comments + @comment.answer.node + end @path = if params[:type] && params[:type] == 'question' # questions path @node.path(:question) else - # notes path - @node.path - end + # notes path + @node.path + end end # used for url redirects for friendly_id diff --git a/app/controllers/like_controller.rb b/app/controllers/like_controller.rb index 4c09f894bc..f489b2162b 100644 --- a/app/controllers/like_controller.rb +++ b/app/controllers/like_controller.rb @@ -20,8 +20,8 @@ def liked? result = if result.nil? false else - result.liking - end + result.liking + end render json: result end diff --git a/app/controllers/stats_controller.rb b/app/controllers/stats_controller.rb index 1679f980fd..29ff2647eb 100644 --- a/app/controllers/stats_controller.rb +++ b/app/controllers/stats_controller.rb @@ -35,8 +35,8 @@ def index @time = if params[:time] Time.parse(params[:time]) else - Time.now - end + Time.now + end @weekly_notes = Node.select(%i(created type status)) .where(type: 'note', status: 1, created: @time.to_i - 1.weeks.to_i..@time.to_i) diff --git a/app/controllers/subscription_controller.rb b/app/controllers/subscription_controller.rb index e5cbe44f5d..7e0ab40d53 100644 --- a/app/controllers/subscription_controller.rb +++ b/app/controllers/subscription_controller.rb @@ -53,7 +53,7 @@ def add end # test for uniqueness, handle it as a validation error if you like - if TagSelection.where(following: true, user_id: current_user.uid, tid: tag.tid).length > 0 + if TagSelection.where(following: true, user_id: current_user.uid, tid: tag.tid).positive? flash[:error] = "You are already subscribed to '#{params[:name]}'" redirect_to "/subscriptions" + "?_=" + Time.now.to_i.to_s else diff --git a/app/controllers/tag_controller.rb b/app/controllers/tag_controller.rb index 826ed71dc3..0dc599f972 100644 --- a/app/controllers/tag_controller.rb +++ b/app/controllers/tag_controller.rb @@ -117,7 +117,7 @@ def show @tagnames = [params[:id]] @tag = Tag.find_by(name: params[:id]) - @noteCount = Tag.taggedNodeCount(params[:id]) || 0 + @note_count = Tag.tagged_node_count(params[:id]) || 0 @users = Tag.contributors(@tagnames[0]) respond_with(nodes) do |format| @@ -194,7 +194,7 @@ def show_for_author render json: json end end -end + end def widget num = params[:n] || 4 @@ -350,7 +350,7 @@ def contributors set_sidebar :tags, [params[:id]], note_count: 20 @tagnames = [params[:id]] @tag = Tag.find_by(name: params[:id]) - @noteCount = Tag.taggedNodeCount(params[:id]) || 0 + @note_count = Tag.tagged_node_count(params[:id]) || 0 @users = Tag.contributors(@tagnames[0]) end diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index 85323fe5d0..24523604fe 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -22,8 +22,8 @@ def show @node = if params[:lang] Node.find_wiki(params[:lang] + '/' + params[:id]) else - Node.find_wiki(params[:id]) - end + Node.find_wiki(params[:id]) + end if @node&.has_power_tag('redirect') && Node.where(nid: @node.power_tag('redirect')).exists? if current_user.nil? || (current_user.role != 'admin' && current_user.role != 'moderator') @@ -91,8 +91,9 @@ def edit @node = if params[:lang] Node.find_wiki(params[:lang] + '/' + params[:id]) else - Node.find_wiki(params[:id]) - end + Node.find_wiki(params[:id]) + end + if @node.has_tag('locked') && (current_user.role != 'admin' && current_user.role != 'moderator') flash[:warning] = "This page is locked, and only moderators can edit it." redirect_to @node.path @@ -293,8 +294,8 @@ def index order_string = if params[:order] == 'alphabetic' 'node_revisions.title ASC' else - 'node_revisions.timestamp DESC' - end + 'node_revisions.timestamp DESC' + end @wikis = Node.includes(:revision) .references(:node_revisions) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 05a56db636..d38ba97f03 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -52,7 +52,7 @@ def render_comment_body(comment) # replaces inline title suggestion(e.g: {New Title}) with the required link to change the title def title_suggestion(comment) - comment.body.gsub(/\[propose:title\](.*?)\[\/propose\]/) do |title_suggestion| + comment.body.gsub(/\[propose:title\](.*?)\[\/propose\]/) do || a = ActionController::Base.new is_creator = current_user.drupal_user == Node.find(comment.nid).author title = Regexp.last_match(1) diff --git a/app/models/node.rb b/app/models/node.rb index 5c32e8f0df..3a47043d72 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -166,11 +166,11 @@ def files end def answered - self.answers && self.answers.length > 0 + self.answers&.length.positive? end def has_accepted_answers - self.answers.where(accepted: true).count > 0 + self.answers.where(accepted: true).count.positive? end # users who like this node @@ -455,8 +455,8 @@ def edit_path path = if type == 'page' || type == 'tool' || type == 'place' '/wiki/edit/' + self.path.split('/').last else - '/notes/edit/' + id.to_s - end + '/notes/edit/' + id.to_s + end path end @@ -515,8 +515,8 @@ def add_comment(params = {}) thread = if !comments.empty? && !comments.last.nil? comments.last.next_thread else - '01/' - end + '01/' + end c = Comment.new(pid: 0, nid: nid, uid: params[:uid], diff --git a/app/models/tag.rb b/app/models/tag.rb index 52d3a13d27..e222fef812 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -260,11 +260,11 @@ def self.tagged_nodes_by_author(tagname, user_id) end end - def self.taggedNodeCount(tagName) + def self.tagged_node_count(tag_name) Node.where(status: 1, type: 'note') .includes(:revision, :tag) .references(:term_data, :node_revisions) - .where('term_data.name = ?', tagName) + .where('term_data.name = ?', tag_name) .count end end diff --git a/app/models/user_tag.rb b/app/models/user_tag.rb index b145a3ce50..9e4b0de43d 100644 --- a/app/models/user_tag.rb +++ b/app/models/user_tag.rb @@ -12,7 +12,7 @@ def preprocess end def self.exists?(uid, value) - UserTag.where(uid: uid, value: value).count > 0 + UserTag.where(uid: uid, value: value).count.positive? end def name diff --git a/app/services/typeahead_service.rb b/app/services/typeahead_service.rb index d5649d4128..c4eb9c3abe 100644 --- a/app/services/typeahead_service.rb +++ b/app/services/typeahead_service.rb @@ -86,40 +86,40 @@ def maps(input, limit = 5) end # Run a search in any of the associated systems for references that contain the search string - def search_all(srchString, limit = 5) + def search_all(search_string, limit = 5) sresult = TagList.new - unless srchString.nil? || srchString == 0 + unless search_string.nil? || search_string.blank? # notes - notesrch = search_notes(srchString, limit) + notesrch = search_notes(search_string, limit) sresult.addAll(notesrch.getTags) # wikis - wikisrch = search_wikis(srchString, limit) + wikisrch = search_wikis(search_string, limit) sresult.addAll(wikisrch.getTags) # User profiles - usersrch = search_profiles(srchString, limit) + usersrch = search_profiles(search_string, limit) sresult.addAll(usersrch.getTags) # Tags -- handled differently because tag - tagsrch = search_tags(srchString, limit) + tagsrch = search_tags(search_string, limit) sresult.addAll(tagsrch.getTags) # maps - mapsrch = search_maps(srchString, limit) + mapsrch = search_maps(search_string, limit) sresult.addAll(mapsrch.getTags) # questions - qsrch = search_questions(srchString, limit) + qsrch = search_questions(search_string, limit) sresult.addAll(qsrch.getTags) #comments - commentsrch = search_comments(srchString, limit) + commentsrch = search_comments(search_string, limit) sresult.addAll(commentsrch.getTags) end sresult end # Search profiles for matching text - def search_profiles(srchString, limit = 5) + def search_profiles(search_string, limit = 5) sresult = TagList.new - unless srchString.nil? || srchString == 0 + unless search_string.nil? || search_string.blank? # User profiles - users(srchString, limit).each do |match| + users(search_string, limit).each do |match| tval = TagResult.new tval.tagId = 0 tval.tagType = 'user' @@ -132,10 +132,10 @@ def search_profiles(srchString, limit = 5) end # Search notes for matching strings - def search_notes(srchString, limit = 5) + def search_notes(search_string, limit = 5) sresult = TagList.new - unless srchString.nil? || srchString == 0 - notes(srchString, limit).uniq.each do |match| + unless search_string.nil? || search_string.blank? + notes(search_string, limit).uniq.each do |match| tval = TagResult.new tval.tagId = match.nid tval.tagVal = match.title @@ -148,10 +148,10 @@ def search_notes(srchString, limit = 5) end # Search wikis for matching strings - def search_wikis(srchString, limit = 5) + def search_wikis(search_string, limit = 5) sresult = TagList.new - unless srchString.nil? || srchString == 0 - wikis(srchString, limit).select('node.title,node.type,node.nid,node.path').each do |match| + unless search_string.nil? || search_string.blank? + wikis(search_string, limit).select('node.title,node.type,node.nid,node.path').each do |match| tval = TagResult.new tval.tagId = match.nid tval.tagVal = match.title @@ -164,11 +164,11 @@ def search_wikis(srchString, limit = 5) end # Search maps for matching text - def search_maps(srchString, limit = 5) + def search_maps(search_string, limit = 5) sresult = TagList.new - unless srchString.nil? || srchString == 0 + unless search_string.nil? || search_string.blank? # maps - maps(srchString, limit).select('title,type,nid,path').each do |match| + maps(search_string, limit).select('title,type,nid,path').each do |match| tval = TagResult.new tval.tagId = match.nid tval.tagVal = match.title @@ -181,11 +181,11 @@ def search_maps(srchString, limit = 5) end # Search tag values for matching text - def search_tags(srchString, limit = 5) + def search_tags(search_string, limit = 5) sresult = TagList.new - unless srchString.nil? || srchString == 0 + unless search_string.nil? || search_string.blank? # Tags - tlist = tags(srchString, limit) + tlist = tags(search_string, limit) tlist.each do |match| ntag = TagResult.new ntag.tagId = 0 @@ -200,8 +200,8 @@ def search_tags(srchString, limit = 5) # Search question entries for matching text def search_questions(input, limit = 5) sresult = TagList.new - if ActiveRecord::Base.connection.adapter_name == 'Mysql2' - questions = Node.search(input) + questions = if ActiveRecord::Base.connection.adapter_name == 'Mysql2' + Node.search(input) .group(:nid) .includes(:node) .references(:node) @@ -211,7 +211,7 @@ def search_questions(input, limit = 5) .joins(:tag) .where('term_data.name LIKE ?', 'question:%') else - questions = Node.where('title LIKE ?', '%' + input + '%') + Node.where('title LIKE ?', '%' + input + '%') .joins(:tag) .where('term_data.name LIKE ?', 'question:%') .limit(limit) @@ -232,10 +232,10 @@ def search_questions(input, limit = 5) end # Search comments for matching text - def search_comments(srchString, limit = 5) + def search_comments(search_string, limit = 5) sresult = TagList.new - unless srchString.nil? || srchString == 0 - comments(srchString, limit).each do |match| + unless search_string.nil? || search_string.blank? + comments(search_string, limit).each do |match| tval = TagResult.new tval.tagId = match.pid tval.tagVal = match.comment.truncate(20) diff --git a/app/views/tag/_contributors.html.erb b/app/views/tag/_contributors.html.erb index 07ff0ca9a1..cb8e54ebfd 100644 --- a/app/views/tag/_contributors.html.erb +++ b/app/views/tag/_contributors.html.erb @@ -6,7 +6,7 @@ <% end %>
<%= raw t('tag.contributors.no_contributors', :tag => params[:id]) %>:
<% else %>