Skip to content
Extraits de code Groupes Projets
Valider fdc17bea rédigé par Eugen Rochko's avatar Eugen Rochko
Parcourir les fichiers

Fix rubocop issues, introduce usage of frozen literal to improve performance

parent a91c3ef6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 84 ajouts et 21 suppressions
......@@ -18,9 +18,29 @@ Metrics/MethodLength:
CountComments: false
Max: 10
Metrics/ModuleLength:
Metrics/AbcSize:
Max: 100
Metrics/BlockNesting:
Max: 3
Metrics/ClassLength:
CountComments: false
Max: 200
Metrics/CyclomaticComplexity:
Max: 15
Metrics/MethodLength:
Max: 55
Metrics/ModuleLength:
CountComments: false
Max: 200
Metrics/PerceivedComplexity:
Max: 10
Metrics/ParameterLists:
Max: 4
CountKeywordArgs: true
......@@ -37,10 +57,10 @@ Style/Documentation:
Enabled: false
Style/DoubleNegation:
Enabled: false
Enabled: true
Style/FrozenStringLiteralComment:
Enabled: false
Enabled: true
Style/SpaceInsideHashLiteralBraces:
EnforcedStyle: space
......@@ -51,10 +71,18 @@ Style/TrailingCommaInLiteral:
Style/RegexpLiteral:
Enabled: false
Style/Lambda:
Enabled: false
Rails/HasAndBelongsToMany:
Enabled: false
AllCops:
TargetRubyVersion: 2.2
TargetRubyVersion: 2.3
Exclude:
- 'spec/**/*'
- 'db/**/*'
- 'app/views/**/*'
- 'config/**/*'
- 'bin/*'
- 'Rakefile'
# frozen_string_literal: true
source 'https://rubygems.org'
gem 'rails', '5.0.0.1'
......
# frozen_string_literal: true
module ApplicationCable
class Channel < ActionCable::Channel::Base
protected
......
# frozen_string_literal: true
module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :current_user
......
# frozen_string_literal: true
class HashtagChannel < ApplicationCable::Channel
def subscribed
tag = params[:tag].downcase
......
# frozen_string_literal: true
class PublicChannel < ApplicationCable::Channel
def subscribed
stream_from 'timeline:public', lambda { |encoded_message|
......
# frozen_string_literal: true
class TimelineChannel < ApplicationCable::Channel
def subscribed
stream_from "timeline:#{current_user.account_id}"
......
# frozen_string_literal: true
class AboutController < ApplicationController
before_action :set_body_classes
......
# frozen_string_literal: true
class AccountsController < ApplicationController
layout 'public'
......@@ -41,10 +43,7 @@ class AccountsController < ApplicationController
end
def set_link_headers
response.headers['Link'] = LinkHeader.new([
[webfinger_account_url, [['rel', 'lrdd'], ['type', 'application/xrd+xml']]],
[account_url(@account, format: 'atom'), [['rel', 'alternate'], ['type', 'application/atom+xml']]]
])
response.headers['Link'] = LinkHeader.new([[webfinger_account_url, [%w(rel lrdd), %w(type application/xrd+xml)]], [account_url(@account, format: 'atom'), [%w(rel alternate), %w(type application/atom+xml)]]])
end
def webfinger_account_url
......
# frozen_string_literal: true
class Api::SalmonController < ApiController
before_action :set_account
respond_to :txt
......
# frozen_string_literal: true
class Api::SubscriptionsController < ApiController
before_action :set_account
respond_to :txt
......
# frozen_string_literal: true
class Api::V1::AccountsController < ApiController
before_action -> { doorkeeper_authorize! :read }, except: [:follow, :unfollow, :block, :unblock]
before_action -> { doorkeeper_authorize! :follow }, only: [:follow, :unfollow, :block, :unblock]
......@@ -20,7 +22,7 @@ class Api::V1::AccountsController < ApiController
@accounts = results.map { |f| accounts[f.target_account_id] }
next_path = following_api_v1_account_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT
prev_path = following_api_v1_account_url(since_id: results.first.id) if results.size > 0
prev_path = following_api_v1_account_url(since_id: results.first.id) unless results.empty?
set_pagination_headers(next_path, prev_path)
......@@ -33,7 +35,7 @@ class Api::V1::AccountsController < ApiController
@accounts = results.map { |f| accounts[f.account_id] }
next_path = followers_api_v1_account_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT
prev_path = followers_api_v1_account_url(since_id: results.first.id) if results.size > 0
prev_path = followers_api_v1_account_url(since_id: results.first.id) unless results.empty?
set_pagination_headers(next_path, prev_path)
......@@ -56,7 +58,7 @@ class Api::V1::AccountsController < ApiController
set_maps(@statuses)
next_path = statuses_api_v1_account_url(max_id: @statuses.last.id) if @statuses.size == DEFAULT_STATUSES_LIMIT
prev_path = statuses_api_v1_account_url(since_id: @statuses.first.id) if @statuses.size > 0
prev_path = statuses_api_v1_account_url(since_id: @statuses.first.id) unless @statuses.empty?
set_pagination_headers(next_path, prev_path)
end
......
# frozen_string_literal: true
class Api::V1::AppsController < ApiController
respond_to :json
......
# frozen_string_literal: true
class Api::V1::FollowsController < ApiController
before_action -> { doorkeeper_authorize! :follow }
before_action :require_user!
......
# frozen_string_literal: true
class Api::V1::MediaController < ApiController
before_action -> { doorkeeper_authorize! :write }
before_action :require_user!
......
# frozen_string_literal: true
class Api::V1::StatusesController < ApiController
before_action -> { doorkeeper_authorize! :read }, except: [:create, :destroy, :reblog, :unreblog, :favourite, :unfavourite]
before_action -> { doorkeeper_authorize! :write }, only: [:create, :destroy, :reblog, :unreblog, :favourite, :unfavourite]
......@@ -10,7 +12,7 @@ class Api::V1::StatusesController < ApiController
end
def context
@context = OpenStruct.new({ ancestors: @status.ancestors, descendants: @status.descendants })
@context = OpenStruct.new(ancestors: @status.ancestors, descendants: @status.descendants)
set_maps([@status] + @context[:ancestors] + @context[:descendants])
end
......@@ -20,7 +22,7 @@ class Api::V1::StatusesController < ApiController
@accounts = results.map { |r| accounts[r.account_id] }
next_path = reblogged_by_api_v1_status_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT
prev_path = reblogged_by_api_v1_status_url(since_id: results.first.id) if results.size > 0
prev_path = reblogged_by_api_v1_status_url(since_id: results.first.id) unless results.empty?
set_pagination_headers(next_path, prev_path)
......@@ -33,7 +35,7 @@ class Api::V1::StatusesController < ApiController
@accounts = results.map { |f| accounts[f.account_id] }
next_path = favourited_by_api_v1_status_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT
prev_path = favourited_by_api_v1_status_url(since_id: results.first.id) if results.size > 0
prev_path = favourited_by_api_v1_status_url(since_id: results.first.id) unless results.empty?
set_pagination_headers(next_path, prev_path)
......
# frozen_string_literal: true
class Api::V1::TimelinesController < ApiController
before_action -> { doorkeeper_authorize! :read }
before_action :require_user!, only: [:home, :mentions]
......@@ -10,7 +12,7 @@ class Api::V1::TimelinesController < ApiController
set_maps(@statuses)
next_path = api_v1_home_timeline_url(max_id: @statuses.last.id) if @statuses.size == DEFAULT_STATUSES_LIMIT
prev_path = api_v1_home_timeline_url(since_id: @statuses.first.id) if @statuses.size > 0
prev_path = api_v1_home_timeline_url(since_id: @statuses.first.id) unless @statuses.empty?
set_pagination_headers(next_path, prev_path)
......@@ -23,7 +25,7 @@ class Api::V1::TimelinesController < ApiController
set_maps(@statuses)
next_path = api_v1_mentions_timeline_url(max_id: @statuses.last.id) if @statuses.size == DEFAULT_STATUSES_LIMIT
prev_path = api_v1_mentions_timeline_url(since_id: @statuses.first.id) if @statuses.size > 0
prev_path = api_v1_mentions_timeline_url(since_id: @statuses.first.id) unless @statuses.empty?
set_pagination_headers(next_path, prev_path)
......@@ -36,7 +38,7 @@ class Api::V1::TimelinesController < ApiController
set_maps(@statuses)
next_path = api_v1_public_timeline_url(max_id: @statuses.last.id) if @statuses.size == DEFAULT_STATUSES_LIMIT
prev_path = api_v1_public_timeline_url(since_id: @statuses.first.id) if @statuses.size > 0
prev_path = api_v1_public_timeline_url(since_id: @statuses.first.id) unless @statuses.empty?
set_pagination_headers(next_path, prev_path)
......@@ -50,7 +52,7 @@ class Api::V1::TimelinesController < ApiController
set_maps(@statuses)
next_path = api_v1_hashtag_timeline_url(params[:id], max_id: @statuses.last.id) if @statuses.size == DEFAULT_STATUSES_LIMIT
prev_path = api_v1_hashtag_timeline_url(params[:id], since_id: @statuses.first.id) if @statuses.size > 0
prev_path = api_v1_hashtag_timeline_url(params[:id], since_id: @statuses.first.id) unless @statuses.empty?
set_pagination_headers(next_path, prev_path)
......
# frozen_string_literal: true
class ApiController < ApplicationController
DEFAULT_STATUSES_LIMIT = 20
DEFAULT_ACCOUNTS_LIMIT = 40
......@@ -51,8 +53,8 @@ class ApiController < ApplicationController
def set_pagination_headers(next_path = nil, prev_path = nil)
links = []
links << [next_path, [['rel', 'next']]] if next_path
links << [prev_path, [['rel', 'prev']]] if prev_path
links << [next_path, [%w(rel next)]] if next_path
links << [prev_path, [%w(rel prev)]] if prev_path
response.headers['Link'] = LinkHeader.new(links)
end
......@@ -76,7 +78,7 @@ class ApiController < ApplicationController
render json: {}, status: 200
end
def set_maps(statuses)
def set_maps(statuses) # rubocop:disable Style/AccessorMethodName
if current_account.nil?
@reblogs_map = {}
@favourites_map = {}
......
# frozen_string_literal: true
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
......
# frozen_string_literal: true
class Auth::ConfirmationsController < Devise::ConfirmationsController
layout 'auth'
end
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter