From 77825ee33e756014d7515dd2b185e82353fd0b7a Mon Sep 17 00:00:00 2001 From: Luis Metzger Date: Mon, 22 Apr 2024 12:41:25 -0600 Subject: [PATCH 1/4] SRCH-4972: Update Ruby to version 3.3.0 --- .circleci/config.yml | 1 + Dockerfile | 2 +- Dockerfile.dev | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 60d2c1a..7b03c7d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -63,6 +63,7 @@ workflows: ruby_version: - 3.0.5 - 3.0.6 + - 3.3.0 # not yet compatible with 3.1 or 3.2 elasticsearch_version: - 7.17.7 diff --git a/Dockerfile b/Dockerfile index 651ca04..6ee510c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG RUBY_VERSION=3.0.6 +ARG RUBY_VERSION=3.3.0 FROM public.ecr.aws/docker/library/ruby:$RUBY_VERSION-slim as base WORKDIR /rails diff --git a/Dockerfile.dev b/Dockerfile.dev index 487bdc2..cf764b7 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM ruby:3.0.6 +FROM ruby:3.3.0 WORKDIR /usr/src/app EXPOSE 3300 From 5951c87e269a82ddc5f3817f8057942839953236 Mon Sep 17 00:00:00 2001 From: Luis Metzger Date: Mon, 22 Apr 2024 13:15:03 -0600 Subject: [PATCH 2/4] SRCH-4972: Remove version 3.0.5 of ruby from the teseting matrix --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7b03c7d..a0e6796 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,6 @@ workflows: matrix: parameters: ruby_version: - - 3.0.5 - 3.0.6 - 3.3.0 # not yet compatible with 3.1 or 3.2 From 0f1e941cc808faa2c0b066b86367720058013ddb Mon Sep 17 00:00:00 2001 From: Luis Metzger Date: Mon, 22 Apr 2024 19:58:05 -0600 Subject: [PATCH 3/4] SRCH-4972: Update tests that failed after ruby update. --- app/workers/mrss_photos_importer.rb | 6 +++--- lib/feedjira/parser/oasis/mrss.rb | 1 - lib/feedjira/parser/oasis/mrss_entry.rb | 17 ++++++----------- spec/parsers/mrss_entry_spec.rb | 2 +- spec/workers/mrss_photos_importer_spec.rb | 6 +++--- 5 files changed, 13 insertions(+), 19 deletions(-) diff --git a/app/workers/mrss_photos_importer.rb b/app/workers/mrss_photos_importer.rb index 069d410..aae5ad0 100644 --- a/app/workers/mrss_photos_importer.rb +++ b/app/workers/mrss_photos_importer.rb @@ -32,9 +32,9 @@ def get_photos end def store_photos(mrss_entries) - mrss_entries.collect do |mrss_entry| + mrss_entries.filter_map do |mrss_entry| store_photo(mrss_entry) - end.compact.select(&:persisted?) + end.select(&:persisted?) end def store_photo(mrss_entry) @@ -59,7 +59,7 @@ def store_photo(mrss_entry) def get_attributes(mrss_entry) { id: mrss_entry.entry_id, mrss_names: [@mrss.name], title: mrss_entry.title, description: mrss_entry.summary, - taken_at: mrss_entry.published, url: mrss_entry.url, thumbnail_url: mrss_entry.thumbnail_url } + taken_at: mrss_entry.pub_date, url: mrss_entry.url, thumbnail_url: mrss_entry.thumbnail_url } end def fetch_xml(url) diff --git a/lib/feedjira/parser/oasis/mrss.rb b/lib/feedjira/parser/oasis/mrss.rb index 4c58045..9e5de88 100644 --- a/lib/feedjira/parser/oasis/mrss.rb +++ b/lib/feedjira/parser/oasis/mrss.rb @@ -12,7 +12,6 @@ class Mrss element :title element :link element :description - elements :item, as: :entries, class: Oasis::MrssEntry attr_accessor :feed_url diff --git a/lib/feedjira/parser/oasis/mrss_entry.rb b/lib/feedjira/parser/oasis/mrss_entry.rb index cb6db47..c9f4e89 100644 --- a/lib/feedjira/parser/oasis/mrss_entry.rb +++ b/lib/feedjira/parser/oasis/mrss_entry.rb @@ -9,20 +9,15 @@ class MrssEntry element :guid, as: :entry_id element :'dc:identifier', as: :entry_id - element :title - element :link, as: :url - - element :pubDate, as: :published - element :pubdate, as: :published - element :'dc:date', as: :published - element :'dc:Date', as: :published - element :'dcterms:created', as: :published - element :issued, as: :published - + element :pubDate, as: :pub_date + element :pubdate, as: :pub_date + element :'dc:date', as: :pub_date + element :'dc:Date', as: :pub_date + element :'dcterms:created', as: :pub_date + element :issued, as: :pub_date element 'media:thumbnail', value: :url, as: :thumbnail_url - element :description, as: :summary element 'media:description', as: :summary element 'content:encoded', as: :summary diff --git a/spec/parsers/mrss_entry_spec.rb b/spec/parsers/mrss_entry_spec.rb index 9d0bf64..48e9814 100644 --- a/spec/parsers/mrss_entry_spec.rb +++ b/spec/parsers/mrss_entry_spec.rb @@ -32,7 +32,7 @@ end it 'has the correct published time' do - expect(entry.published).to eq(Time.parse('2014-10-22 14:24:00Z')) + expect(entry.pub_date.to_time).to eq(Time.parse('2014-10-22 14:24:00Z')) end end end diff --git a/spec/workers/mrss_photos_importer_spec.rb b/spec/workers/mrss_photos_importer_spec.rb index e449440..5d2fe98 100644 --- a/spec/workers/mrss_photos_importer_spec.rb +++ b/spec/workers/mrss_photos_importer_spec.rb @@ -40,13 +40,13 @@ end it 'indexes the photos' do - expect { perform }.to change{ MrssPhoto.count }.from(0).to(4) + expect { perform }.to change { MrssPhoto.count }.from(0).to(4) end end context 'when MRSS photo entries are returned' do it 'indexes the photos' do - expect { perform }.to change{ MrssPhoto.count }.from(0).to(4) + expect { perform }.to change { MrssPhoto.count }.from(0).to(4) end it 'indexes the expected content' do @@ -89,7 +89,7 @@ [photo1, photo2] end - let(:feed) { double(Feedjira::Parser::Oasis::Mrss, entries: photos) } + let(:feed) { instance_double(Feedjira::Parser::Oasis::Mrss, entries: photos) } before do allow(Feedjira::Feed).to receive(:parse).with(mrss_xml) { feed } From 429d79054f0c8f4594157887023d0e5119f53fa9 Mon Sep 17 00:00:00 2001 From: Luis Metzger Date: Mon, 22 Apr 2024 20:38:34 -0600 Subject: [PATCH 4/4] SRCH-4972: Update specs based on ruby upgrade. --- app/queries/terms_filter.rb | 1 + app/workers/mrss_photos_importer.rb | 2 +- spec/workers/mrss_photos_importer_spec.rb | 4 +--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/queries/terms_filter.rb b/app/queries/terms_filter.rb index 55646cc..5494094 100644 --- a/app/queries/terms_filter.rb +++ b/app/queries/terms_filter.rb @@ -10,6 +10,7 @@ def query_body builder = Jbuilder.new do |json| filtered_query(json) end + builder.attributes! end diff --git a/app/workers/mrss_photos_importer.rb b/app/workers/mrss_photos_importer.rb index aae5ad0..ddd6f17 100644 --- a/app/workers/mrss_photos_importer.rb +++ b/app/workers/mrss_photos_importer.rb @@ -59,7 +59,7 @@ def store_photo(mrss_entry) def get_attributes(mrss_entry) { id: mrss_entry.entry_id, mrss_names: [@mrss.name], title: mrss_entry.title, description: mrss_entry.summary, - taken_at: mrss_entry.pub_date, url: mrss_entry.url, thumbnail_url: mrss_entry.thumbnail_url } + taken_at: mrss_entry.pub_date || mrss_entry.published, url: mrss_entry.url, thumbnail_url: mrss_entry.thumbnail_url } end def fetch_xml(url) diff --git a/spec/workers/mrss_photos_importer_spec.rb b/spec/workers/mrss_photos_importer_spec.rb index 5d2fe98..14672ad 100644 --- a/spec/workers/mrss_photos_importer_spec.rb +++ b/spec/workers/mrss_photos_importer_spec.rb @@ -141,9 +141,7 @@ expect(already_exists.title).to eq('initial title') expect(already_exists.description).to eq('initial description') expect(already_exists.tags).to match_array(%w[tag1 tag2]) - expect(already_exists.mrss_names).to match_array( - ['existing_mrss_name', mrss_profile.name] - ) + expect(already_exists.mrss_names).to match_array(['existing_mrss_name', mrss_profile.name]) end end