aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2019-12-19 22:40:46 -0800
committerRobin H. Johnson <robbat2@gentoo.org>2019-12-19 22:40:46 -0800
commit43faf1dd4809cceb87850725c850fb4241280620 (patch)
tree0524136c094ccb5973883afe338a40ce72bdb439 /app
parentMore sudos! (diff)
downloadpackages-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.rb5
-rw-r--r--app/models/category.rb26
-rw-r--r--app/models/change.rb32
-rw-r--r--app/models/commit.rb32
-rw-r--r--app/models/package.rb45
-rw-r--r--app/models/useflag.rb20
-rw-r--r--app/models/version.rb41
-rw-r--r--app/repositories/base_repository.rb24
-rw-r--r--app/repositories/category_repository.rb1
-rw-r--r--app/repositories/change_repository.rb1
-rw-r--r--app/repositories/commit_repository.rb1
-rw-r--r--app/repositories/elasticsearch_client.rb6
-rw-r--r--app/repositories/package_repository.rb20
-rw-r--r--app/repositories/query_parser/search_query_parser.rb35
-rw-r--r--app/repositories/useflag_repository.rb12
-rw-r--r--app/repositories/version_repository.rb1
-rw-r--r--app/views/feeds/packages.atom.builder20
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