diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2019-12-19 22:40:46 -0800 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2019-12-19 22:40:46 -0800 |
commit | 43faf1dd4809cceb87850725c850fb4241280620 (patch) | |
tree | 0524136c094ccb5973883afe338a40ce72bdb439 /app | |
parent | More sudos! (diff) | |
download | packages-5-43faf1dd4809cceb87850725c850fb4241280620.tar.gz packages-5-43faf1dd4809cceb87850725c850fb4241280620.tar.bz2 packages-5-43faf1dd4809cceb87850725c850fb4241280620.zip |
rubocop: autofix
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Diffstat (limited to 'app')
-rw-r--r-- | app/jobs/commits_update_job.rb | 5 | ||||
-rw-r--r-- | app/models/category.rb | 26 | ||||
-rw-r--r-- | app/models/change.rb | 32 | ||||
-rw-r--r-- | app/models/commit.rb | 32 | ||||
-rw-r--r-- | app/models/package.rb | 45 | ||||
-rw-r--r-- | app/models/useflag.rb | 20 | ||||
-rw-r--r-- | app/models/version.rb | 41 | ||||
-rw-r--r-- | app/repositories/base_repository.rb | 24 | ||||
-rw-r--r-- | app/repositories/category_repository.rb | 1 | ||||
-rw-r--r-- | app/repositories/change_repository.rb | 1 | ||||
-rw-r--r-- | app/repositories/commit_repository.rb | 1 | ||||
-rw-r--r-- | app/repositories/elasticsearch_client.rb | 6 | ||||
-rw-r--r-- | app/repositories/package_repository.rb | 20 | ||||
-rw-r--r-- | app/repositories/query_parser/search_query_parser.rb | 35 | ||||
-rw-r--r-- | app/repositories/useflag_repository.rb | 12 | ||||
-rw-r--r-- | app/repositories/version_repository.rb | 1 | ||||
-rw-r--r-- | app/views/feeds/packages.atom.builder | 20 |
17 files changed, 143 insertions, 179 deletions
diff --git a/app/jobs/commits_update_job.rb b/app/jobs/commits_update_job.rb index f4c170b..a6812b5 100644 --- a/app/jobs/commits_update_job.rb +++ b/app/jobs/commits_update_job.rb @@ -1,8 +1,7 @@ class CommitsUpdateJob < ApplicationJob queue_as :default - def perform(*args) - Portage::Util::History.update() + def perform(*_args) + Portage::Util::History.update end - end diff --git a/app/models/category.rb b/app/models/category.rb index 4e361c1..2436827 100644 --- a/app/models/category.rb +++ b/app/models/category.rb @@ -2,22 +2,20 @@ class Category include ActiveModel::Model include ActiveModel::Validations - ATTRIBUTES = [:id, - :created_at, - :updated_at, - :name, - :description, - :metadata_hash] + ATTRIBUTES = %i[id + created_at + updated_at + name + description + metadata_hash].freeze attr_accessor(*ATTRIBUTES) attr_reader :attributes validates :name, presence: true - def initialize(attr={}) - attr.each do |k,v| - if ATTRIBUTES.include?(k.to_sym) - send("#{k}=", v) - end + def initialize(attr = {}) + attr.each do |k, v| + send("#{k}=", v) if ATTRIBUTES.include?(k.to_sym) end end @@ -25,15 +23,13 @@ class Category @id = @name @created_at ||= DateTime.now @updated_at = DateTime.now - ATTRIBUTES.inject({}) do |hash, attr| + ATTRIBUTES.each_with_object({}) do |attr, hash| if value = send(attr) hash[attr] = value end - hash end end - alias :to_hash :attributes - + alias to_hash attributes # Determines if the document model needs an update from the repository model # diff --git a/app/models/change.rb b/app/models/change.rb index 1793da4..4c68df8 100644 --- a/app/models/change.rb +++ b/app/models/change.rb @@ -2,39 +2,36 @@ class Change include ActiveModel::Model include ActiveModel::Validations - ATTRIBUTES = [:_id, - :created_at, - :updated_at, - :package, - :category, - :change_type, - :version, - :arches, - :commit] + ATTRIBUTES = %i[_id + created_at + updated_at + package + category + change_type + version + arches + commit].freeze attr_accessor(*ATTRIBUTES) attr_reader :attributes validates :package, presence: true - def initialize(attr={}) - attr.each do |k,v| - if ATTRIBUTES.include?(k.to_sym) - send("#{k}=", v) - end + def initialize(attr = {}) + attr.each do |k, v| + send("#{k}=", v) if ATTRIBUTES.include?(k.to_sym) end end def attributes @created_at ||= DateTime.now @updated_at = DateTime.now - ATTRIBUTES.inject({}) do |hash, attr| + ATTRIBUTES.each_with_object({}) do |attr, hash| if value = send(attr) hash[attr] = value end - hash end end - alias :to_hash :attributes + alias to_hash attributes # Converts the model to an OpenStruct instance # @@ -44,5 +41,4 @@ class Change fields = all_fields if fields.empty? OpenStruct.new(Hash[fields.map { |field| [field, send(field)] }]) end - end diff --git a/app/models/commit.rb b/app/models/commit.rb index 2512ced..5008f08 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -2,36 +2,32 @@ class Commit include ActiveModel::Model include ActiveModel::Validations - ATTRIBUTES = [:id, - :author, - :email, - :date, - :message, - :files, - :packages, - :created_at, - :updated_at] + ATTRIBUTES = %i[id + author + email + date + message + files + packages + created_at + updated_at].freeze attr_accessor(*ATTRIBUTES) attr_reader :attributes - def initialize(attr={}) - attr.each do |k,v| - if ATTRIBUTES.include?(k.to_sym) - send("#{k}=", v) - end + def initialize(attr = {}) + attr.each do |k, v| + send("#{k}=", v) if ATTRIBUTES.include?(k.to_sym) end end def attributes @created_at ||= DateTime.now @updated_at = DateTime.now - ATTRIBUTES.inject({}) do |hash, attr| + ATTRIBUTES.each_with_object({}) do |attr, hash| if value = send(attr) hash[attr] = value end - hash end end - alias :to_hash :attributes - + alias to_hash attributes end diff --git a/app/models/package.rb b/app/models/package.rb index 11ef135..fc25799 100644 --- a/app/models/package.rb +++ b/app/models/package.rb @@ -3,32 +3,30 @@ class Package include ActiveModel::Validations include Kkuleomi::Store::Models::PackageImport - ATTRIBUTES = [:id, - :created_at, - :updated_at, - :category, - :name, - :name_sort, - :atom, - :description, - :longdescription, - :homepage, - :license, - :licenses, - :herds, - :maintainers, - :useflags, - :metadata_hash] + ATTRIBUTES = %i[id + created_at + updated_at + category + name + name_sort + atom + description + longdescription + homepage + license + licenses + herds + maintainers + useflags + metadata_hash].freeze attr_accessor(*ATTRIBUTES) attr_reader :attributes validates :name, presence: true - def initialize(attr={}) - attr.each do |k,v| - if ATTRIBUTES.include?(k.to_sym) - send("#{k}=", v) - end + def initialize(attr = {}) + attr.each do |k, v| + send("#{k}=", v) if ATTRIBUTES.include?(k.to_sym) end end @@ -36,14 +34,13 @@ class Package @id = @atom @created_at ||= DateTime.now @updated_at = DateTime.now - ATTRIBUTES.inject({}) do |hash, attr| + ATTRIBUTES.each_with_object({}) do |attr, hash| if value = send(attr) hash[attr] = value end - hash end end - alias :to_hash :attributes + alias to_hash attributes def category_model @category_model ||= CategoryRepository.find_by(:name, category) diff --git a/app/models/useflag.rb b/app/models/useflag.rb index 12758cb..f0e1698 100644 --- a/app/models/useflag.rb +++ b/app/models/useflag.rb @@ -9,33 +9,29 @@ class Useflag :description, :atom, :scope, - :use_expand_prefix] + :use_expand_prefix].freeze attr_accessor(*ATTRIBUTES) attr_reader :attributes validates :name, presence: true - - def initialize(attr={}) - attr.each do |k,v| - if ATTRIBUTES.include?(k.to_sym) - send("#{k}=", v) - end + def initialize(attr = {}) + attr.each do |k, v| + send("#{k}=", v) if ATTRIBUTES.include?(k.to_sym) end end def attributes - @id = @name + '-' + (@atom || 'global' ) + '-' + @scope + @id = @name + '-' + (@atom || 'global') + '-' + @scope @created_at ||= DateTime.now @updated_at = DateTime.now - ATTRIBUTES.inject({}) do |hash, attr| + ATTRIBUTES.each_with_object({}) do |attr, hash| if value = send(attr) hash[attr] = value end - hash end end - alias :to_hash :attributes + alias to_hash attributes def all_fields [:name, :description, :atom, :scope, :use_expand_prefix] @@ -57,6 +53,4 @@ class Useflag fields = all_fields if fields.empty? Hash[fields.map { |field| [field, send(field)] }] end - - end diff --git a/app/models/version.rb b/app/models/version.rb index 429f4d1..ce84a8d 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -5,29 +5,29 @@ class Version include ActiveModel::Validations include Kkuleomi::Store::Models::VersionImport - ATTRIBUTES = [:id, - :created_at, - :updated_at, - :version, - :package, - :atom, - :sort_key, - :slot, - :subslot, - :eapi, - :keywords, - :masks, - :use, - :restrict, - :properties, - :metadata_hash] + ATTRIBUTES = %i[id + created_at + updated_at + version + package + atom + sort_key + slot + subslot + eapi + keywords + masks + use + restrict + properties + metadata_hash].freeze attr_accessor(*ATTRIBUTES) attr_reader :attributes validates :version, presence: true - def initialize(attr={}) - attr.each do |k,v| + def initialize(attr = {}) + attr.each do |k, v| if ATTRIBUTES.include?(k.to_sym) send("#{k}=", v) end @@ -39,14 +39,13 @@ class Version @created_at ||= DateTime.now @updated_at = DateTime.now - ATTRIBUTES.inject({}) do |hash, attr| + ATTRIBUTES.each_with_object({}) do |attr, hash| if value = send(attr) hash[attr] = value end - hash end end - alias :to_hash :attributes + alias to_hash attributes # Returns the keywording state on a given architecture # diff --git a/app/repositories/base_repository.rb b/app/repositories/base_repository.rb index 397b275..39742da 100644 --- a/app/repositories/base_repository.rb +++ b/app/repositories/base_repository.rb @@ -55,27 +55,26 @@ class BaseRepository match_all: {} } } - }) - ) + } + )) end # Returns the given number of records of this class sorted by a field. def find_sorted_by(field, value, sort_field, order, num_return, options = {}) search({ - size: num_return, - query: { term: { field => value } }, - sort: { sort_field => { order: order } } - }.merge(options)) + size: num_return, + query: { term: { field => value } }, + sort: { sort_field => { order: order } } + }.merge(options)) end - # Returns n records of this class sorted by a field. def n_sorted_by(n, field, order, options = {}) search({ - size: n, - query: { match_all: {} }, - sort: { field => { order: order } } - }.merge(options)) + size: n, + query: { match_all: {} }, + sort: { field => { order: order } } + }.merge(options)) end # Returns all (by default 10k) records of this class sorted by a field. @@ -104,5 +103,4 @@ class BaseRepository fields = all_fields if fields.empty? Hash[fields.map { |field| [field, send(field)] }] end - -end
\ No newline at end of file +end diff --git a/app/repositories/category_repository.rb b/app/repositories/category_repository.rb index 5757633..fd4e267 100644 --- a/app/repositories/category_repository.rb +++ b/app/repositories/category_repository.rb @@ -26,5 +26,4 @@ class CategoryRepository < BaseRepository hash['updated_at'] = Time.parse(hash['updated_at']).utc if hash['updated_at'] Category.new hash end - end diff --git a/app/repositories/change_repository.rb b/app/repositories/change_repository.rb index 84dca92..75fea22 100644 --- a/app/repositories/change_repository.rb +++ b/app/repositories/change_repository.rb @@ -29,5 +29,4 @@ class ChangeRepository < BaseRepository hash['updated_at'] = Time.parse(hash['updated_at']).utc if hash['updated_at'] Change.new hash end - end diff --git a/app/repositories/commit_repository.rb b/app/repositories/commit_repository.rb index b2086be..a6e0b33 100644 --- a/app/repositories/commit_repository.rb +++ b/app/repositories/commit_repository.rb @@ -33,5 +33,4 @@ class CommitRepository < BaseRepository hash['updated_at'] = Time.parse(hash['updated_at']).utc if hash['updated_at'] Commit.new hash end - end diff --git a/app/repositories/elasticsearch_client.rb b/app/repositories/elasticsearch_client.rb index 88de0c8..c2bfbd2 100644 --- a/app/repositories/elasticsearch_client.rb +++ b/app/repositories/elasticsearch_client.rb @@ -1,5 +1,4 @@ class ElasticsearchClient - def self.default @default ||= Elasticsearch::Client.new host: ENV['ELASTICSEARCH_URL'] || 'localhost:9200' end @@ -7,7 +6,6 @@ class ElasticsearchClient private def initialize(*) - raise "Should not be initialiazed" + raise 'Should not be initialiazed' end - -end
\ No newline at end of file +end diff --git a/app/repositories/package_repository.rb b/app/repositories/package_repository.rb index 5caaf01..10a3bfc 100644 --- a/app/repositories/package_repository.rb +++ b/app/repositories/package_repository.rb @@ -68,7 +68,7 @@ class PackageRepository < BaseRepository # Tries to resolve a query atom to one or more packages def resolve(atom) - [] if atom.nil? || atom.empty? + [] if atom.blank? PackageRepository.find_all_by(:atom, atom) + PackageRepository.find_all_by(:name, atom) end @@ -92,10 +92,10 @@ class PackageRepository < BaseRepository # https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html # ES actually dislikes large sizes like this (it defines 10k buckets basically) and it will be *very* expensive but lets try it and see. # Other limits in this app are also 10k mostly to 'make things fit kinda'. - size: 10000, + size: 10000 } } - }, + } ).response.aggregations['group_by_package'].buckets end @@ -103,16 +103,15 @@ class PackageRepository < BaseRepository 25 end - def default_search(q, offset, search_size=default_search_size) - return [] if q.nil? || q.empty? - - search(build_query(q, search_size , offset)) + def default_search(q, offset, search_size = default_search_size) + return [] if q.blank? + search(build_query(q, search_size, offset)) end def build_query(q, size, offset) - parser = Object.const_get("SearchQueryParser::QueryParser").new - transformer = Object.const_get("SearchQueryParser::QueryTransformer").new + parser = Object.const_get('SearchQueryParser::QueryParser').new + transformer = Object.const_get('SearchQueryParser::QueryTransformer').new { size: size, @@ -136,7 +135,7 @@ class PackageRepository < BaseRepository should: [ match_phrase(q_dwncsd), match_description(q) - ] + ] } query[:must] << [match_category(category)] if category @@ -212,5 +211,4 @@ class PackageRepository < BaseRepository hash['updated_at'] = Time.parse(hash['updated_at']).utc if hash['updated_at'] Package.new hash end - end diff --git a/app/repositories/query_parser/search_query_parser.rb b/app/repositories/query_parser/search_query_parser.rb index f3e67c6..34fd2be 100644 --- a/app/repositories/query_parser/search_query_parser.rb +++ b/app/repositories/query_parser/search_query_parser.rb @@ -1,7 +1,6 @@ require 'parslet' module SearchQueryParser - class QueryParser < Parslet::Parser rule(:term) { match('[^\s"]').repeat(1).as(:term) } rule(:quote) { str('"') } @@ -20,17 +19,17 @@ module SearchQueryParser end class QueryTransformer < Parslet::Transform - rule(:clause => subtree(:clause)) do + rule(clause: subtree(:clause)) do if clause[:term] TermClause.new(clause[:operator]&.to_s, clause[:field], clause[:term].to_s) elsif clause[:phrase] - phrase = clause[:phrase].map { |p| p[:term].to_s }.join(" ") + phrase = clause[:phrase].map { |p| p[:term].to_s }.join(' ') PhraseClause.new(clause[:operator]&.to_s, clause[:field], phrase) else raise "Unexpected clause type: '#{clause}'" end end - rule(:query => sequence(:clauses)) { Query.new(clauses) } + rule(query: sequence(:clauses)) { Query.new(clauses) } end class Operator @@ -72,14 +71,14 @@ module SearchQueryParser attr_accessor :should_clauses, :must_not_clauses, :must_clauses def initialize(clauses) - grouped = clauses.chunk { |c| c.operator }.to_h + grouped = clauses.chunk(&:operator).to_h self.should_clauses = grouped.fetch(:should, []) self.must_not_clauses = grouped.fetch(:must_not, []) self.must_clauses = grouped.fetch(:must, []) end def to_elasticsearch - query = { } + query = {} if should_clauses.any? query[:should] = should_clauses.map do |clause| @@ -116,29 +115,29 @@ module SearchQueryParser def match(field, term) if field { - :match => { - field[:fieldname].to_s.to_sym => { - :query => term - } + match: { + field[:fieldname].to_s.to_sym => { + query: term } + } } else { - :multi_match => { - :query => term, - :fields => ["atom^3", "name^2"] - } + multi_match: { + query: term, + fields: ['atom^3', 'name^2'] + } } end end def match_phrase(field, phrase) { - :match_phrase => { - field ? field[:fieldname].to_s.to_sym : :name => { - :query => phrase - } + match_phrase: { + field ? field[:fieldname].to_s.to_sym : :name => { + query: phrase } + } } end end diff --git a/app/repositories/useflag_repository.rb b/app/repositories/useflag_repository.rb index 5bc1e00..7b8dad3 100644 --- a/app/repositories/useflag_repository.rb +++ b/app/repositories/useflag_repository.rb @@ -23,7 +23,6 @@ class UseflagRepository < BaseRepository indexes :updated_at, type: 'date' end - # Retrieves all flags sorted by their state def get_flags(name) result = { local: {}, global: [], use_expand: [] } @@ -50,11 +49,11 @@ class UseflagRepository < BaseRepository processed_results = {} results.each do |result| - if processed_results.key? result.name - processed_results[result.name] = Useflag.new ({ "name"=> result.name, "description" => '(multiple definitions)', "scope" => 'multi' }) - else - processed_results[result.name] = result - end + processed_results[result.name] = if processed_results.key? result.name + Useflag.new ({ 'name' => result.name, 'description' => '(multiple definitions)', 'scope' => 'multi' }) + else + result + end end processed_results.values.sort { |a, b| a.name.length <=> b.name.length } @@ -101,5 +100,4 @@ class UseflagRepository < BaseRepository map end - end diff --git a/app/repositories/version_repository.rb b/app/repositories/version_repository.rb index 337ce38..9c9056c 100644 --- a/app/repositories/version_repository.rb +++ b/app/repositories/version_repository.rb @@ -62,5 +62,4 @@ class VersionRepository < BaseRepository hash['updated_at'] = Time.parse(hash['updated_at']).utc if hash['updated_at'] Version.new hash end - end diff --git a/app/views/feeds/packages.atom.builder b/app/views/feeds/packages.atom.builder index bac7686..ad617b9 100644 --- a/app/views/feeds/packages.atom.builder +++ b/app/views/feeds/packages.atom.builder @@ -1,11 +1,10 @@ @feed_id ||= nil atom_feed(id: atom_id(@feed_type, @feed_id, 'feed')) do |feed| - all_packages = PackageRepository.default_search(@query, 0, 10_000) feed.title @feed_title - feed.updated !all_packages.empty? ? all_packages.first.created_at : Time.now + feed.updated !all_packages.empty? ? all_packages.first.created_at : Time.zone.now feed.author do |author| author.name 'Gentoo Packages Database' @@ -14,11 +13,11 @@ atom_feed(id: atom_id(@feed_type, @feed_id, 'feed')) do |feed| all_packages.each do |package| atom = package.atom - commit = CommitRepository.find_sorted_by :packages, atom, :date, "desc", 1 + commit = CommitRepository.find_sorted_by :packages, atom, :date, 'desc', 1 commit = commit.first if package.nil? - logger.warn "Package nil!" + logger.warn 'Package nil!' next end @@ -27,15 +26,16 @@ atom_feed(id: atom_id(@feed_type, @feed_id, 'feed')) do |feed| feed.entry( package, id: atom_id(@feed_type, @feed_id, id), - url: absolute_link_to_package(atom)) do |entry| + url: absolute_link_to_package(atom) + ) do |entry| entry.updated commit ? commit.date.to_datetime.rfc3339 : Time.now.to_datetime.rfc3339 - entry.title(t :feed_keyworded_title, + entry.title(t(:feed_keyworded_title, atom: atom, - description: package.description) - entry.content(t :feed_commit_content, - hash: commit ? commit.id[0..6] : "", - message: commit ? commit.message : "No commit available") + description: package.description)) + entry.content(t(:feed_commit_content, + hash: commit ? commit.id[0..6] : '', + message: commit ? commit.message : 'No commit available')) end end end |