Skip to content

Commit

Permalink
Merge pull request #592 from sanger/develop
Browse files Browse the repository at this point in the history
Develop into Master
  • Loading branch information
stevieing authored Feb 8, 2024
2 parents 3b0893f + 7178938 commit 6c5a0d9
Show file tree
Hide file tree
Showing 17 changed files with 81 additions and 68 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/check_release_version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v23
uses: tj-actions/changed-files@v41
with:
files: |
.release-version
Expand Down
2 changes: 1 addition & 1 deletion .release-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.17.3
1.17.4
1 change: 1 addition & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ AllCops:
- 'vendor/**/*'
- db/schema.rb
- db/views_schema.rb
- db/migrate/*
SuggestExtensions: false

Style/DocumentDynamicEvalDefinition:
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.3
3.1.2
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ruby:2.7
FROM ruby:3.1.2

RUN gem install bundler

Expand Down
105 changes: 53 additions & 52 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,52 +7,52 @@ GIT
GEM
remote: https://rubygems.org/
specs:
actionpack (7.0.6)
actionview (= 7.0.6)
activesupport (= 7.0.6)
actionpack (7.0.8)
actionview (= 7.0.8)
activesupport (= 7.0.8)
rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.6)
activesupport (= 7.0.6)
actionview (7.0.8)
activesupport (= 7.0.8)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (7.0.6)
activesupport (= 7.0.6)
activerecord (7.0.6)
activemodel (= 7.0.6)
activesupport (= 7.0.6)
activesupport (7.0.6)
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
amq-protocol (2.3.2)
ast (2.4.2)
bootsnap (1.16.0)
bootsnap (1.18.3)
msgpack (~> 1.2)
builder (3.2.4)
bunny (2.19.0)
amq-protocol (~> 2.3, >= 2.3.1)
sorted_set (~> 1, >= 1.0.2)
coderay (1.1.3)
concurrent-ruby (1.2.2)
concurrent-ruby (1.2.3)
connection_pool (2.2.5)
crass (1.0.6)
diff-lcs (1.5.0)
docile (1.4.0)
erubi (1.12.0)
factory_bot (6.2.0)
factory_bot (6.4.5)
activesupport (>= 5.0.0)
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
factory_bot_rails (6.4.3)
factory_bot (~> 6.4)
railties (>= 5.0.0)
ffi (1.15.5)
formatador (1.1.0)
guard (2.18.0)
guard (2.18.1)
formatador (>= 0.2.4)
listen (>= 2.7, < 4.0)
lumberjack (>= 1.0.12, < 2.0)
Expand All @@ -73,60 +73,60 @@ GEM
hashie (5.0.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
json (2.6.3)
json (2.7.1)
language_server-protocol (3.17.0.3)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.21.3)
loofah (2.22.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
lumberjack (1.2.8)
lumberjack (1.2.9)
method_source (1.0.0)
mini_portile2 (2.8.2)
minitest (5.18.1)
msgpack (1.5.2)
mini_portile2 (2.8.5)
minitest (5.21.2)
msgpack (1.7.2)
multi_json (1.15.0)
mysql2 (0.5.5)
nenv (0.3.0)
nokogiri (1.15.2)
nokogiri (1.16.0)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
notiffany (0.1.3)
nenv (~> 0.1)
shellany (~> 0.0)
parallel (1.23.0)
parser (3.2.2.3)
parallel (1.24.0)
parser (3.3.0.5)
ast (~> 2.4.1)
racc
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
racc (1.7.1)
rack (2.2.7)
racc (1.7.3)
rack (2.2.8)
rack-test (2.1.0)
rack (>= 1.3)
rails-dom-testing (2.1.1)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (7.0.6)
actionpack (= 7.0.6)
activesupport (= 7.0.6)
railties (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
method_source
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
rainbow (3.1.1)
rake (13.0.6)
rake (13.1.0)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rbtree (0.4.4)
regexp_parser (2.8.1)
regexp_parser (2.9.0)
rexml (3.2.6)
rspec (3.12.0)
rspec-core (~> 3.12.0)
Expand All @@ -137,44 +137,45 @@ GEM
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.5)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (6.0.3)
rspec-rails (6.1.1)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.12)
rspec-expectations (~> 3.12)
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
rspec-support (3.12.0)
rubocop (1.55.1)
rspec-support (3.12.1)
rubocop (1.60.2)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.3)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
rubocop-capybara (2.18.0)
rubocop-capybara (2.20.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.23.1)
rubocop-factory_bot (2.25.0)
rubocop (~> 1.33)
rubocop-performance (1.18.0)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
rubocop-rails (2.20.2)
rubocop-performance (1.20.2)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rails (2.23.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-rspec (2.23.0)
rubocop (~> 1.33)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rspec (2.26.1)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
ruby-progressbar (1.13.0)
Expand All @@ -194,11 +195,11 @@ GEM
sorted_set (1.0.3)
rbtree
set (~> 1.0)
thor (1.2.2)
thor (1.3.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.4.2)
zeitwerk (2.6.8)
unicode-display_width (2.5.0)
zeitwerk (2.6.12)

PLATFORMS
ruby
Expand Down
4 changes: 2 additions & 2 deletions app/models/associated_with_roles.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def self.extended(base)
end

def has_role(name)
define_method("#{name}=") { |users| set_users(name, users) }
define_method(:"#{name}=") { |users| set_users(name, users) }
end

module InstanceMethods
Expand All @@ -43,7 +43,7 @@ def maintain_users
users.create!(
users_to_maintain.map do |role, user_details|
user_details.map do |details|
details.reverse_merge(role: role.to_s, associated_id: id, last_updated: last_updated)
details.reverse_merge(role: role.to_s, associated_id: id, last_updated:)
end
end
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def down
t.remove :pac_bio_library_tube_barcode
end
# Here we add a placeholder value in case any plate barcodes were added as null since the migration
PacBioRun.where(plate_barcode: nil).each do |run|
PacBioRun.where(plate_barcode: nil).find_each do |run|
run.plate_barcode = 'plate_barcode placeholder'
run.save
end
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# frozen_string_literal: true

# New column for name of location where plates are stored
class AddLocationNameToLabwareLocation < ActiveRecord::Migration[7.0]
def change
add_column :labware_location, :location_name, :string, null: false, default: '', comment: 'Name of location where labware is stored', after: :full_location_address
end
end
3 changes: 2 additions & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema[7.0].define(version: 2023_08_21_100520) do
ActiveRecord::Schema[7.0].define(version: 2023_12_07_143456) do
create_table "bmap_flowcell", primary_key: "id_bmap_flowcell_tmp", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
t.datetime "last_updated", precision: nil, null: false, comment: "Timestamp of last update"
t.datetime "recorded_at", precision: nil, null: false, comment: "Timestamp of warehouse update"
Expand Down Expand Up @@ -119,6 +119,7 @@
t.datetime "stored_at", null: false, comment: "Datetime the item was stored at this location"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "location_name", null: false, comment: "Name of location where labware is stored"
t.index ["labware_barcode"], name: "index_labware_location_on_labware_barcode", unique: true
t.index ["location_barcode"], name: "index_labware_location_on_location_barcode"
end
Expand Down
2 changes: 2 additions & 0 deletions lib/resource_tools/json.rb
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ def custom_value(name, &block)
end
end

# rubocop:disable Style/ArgumentsForwarding
def initialize(*args, &block)
super
if self.class.custom_values.present?
Expand All @@ -156,6 +157,7 @@ def initialize(*args, &block)
convert_booleans
delete_if { |k, _| ignoreable.include?(k) }
end
# rubocop:enable Style/ArgumentsForwarding

def convert_booleans
self.stored_as_boolean.each do |key|
Expand Down
2 changes: 1 addition & 1 deletion lib/tasks/remove_duplicate_pac_bio_runs.rake
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ namespace :pac_bio_run_table do
9993
]
task remove_duplicate_pac_bio_runs: :environment do
PacBioRun.where(id_pac_bio_run_lims: list_of_runs).each do |pac_bio_run|
PacBioRun.where(id_pac_bio_run_lims: list_of_runs).find_each do |pac_bio_run|
puts "Going to remove #{pac_bio_run.id_pac_bio_run_lims}"
puts pac_bio_run.attributes
pac_bio_run.delete
Expand Down
2 changes: 1 addition & 1 deletion lib/tasks/update_pac_bio_run_name.rake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace :pac_bio_run_table do
desc 'Update pac_bio_run_name column with the values from id_pac_bio_run_lims'

task update_pac_bio_run_name: :environment do
PacBioRun.all.each do |run|
PacBioRun.find_each do |run|
next if run.pac_bio_run_name.present?

run.pac_bio_run_name = run.id_pac_bio_run_lims
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace :pac_bio_run_table do
desc 'Update pac_bio_run plate_number column with the value 1 for sequencescape plates'

task update_pac_bio_run_sequencescape_plate_numbers: :environment do
PacBioRun.where(id_lims: 'SQSCP').each do |run|
PacBioRun.where(id_lims: 'SQSCP').find_each do |run|
run.plate_number = 1
run.save!
end
Expand Down
4 changes: 2 additions & 2 deletions spec/models/flowcell_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
include_examples 'full flowcell json'

it 'flags all entries as spiked' do
Flowcell.all.each { |fc| expect(fc.spiked).to be_true }
Flowcell.find_each { |fc| expect(fc.spiked).to be_true }
end

context 'when update with identical tag indexes' do
Expand Down Expand Up @@ -130,7 +130,7 @@
end

it 'flags all entries as not-spiked' do
Flowcell.all.each { |fc| expect(fc.spiked).to be_false }
Flowcell.find_each { |fc| expect(fc.spiked).to be_false }
end
end

Expand Down
4 changes: 2 additions & 2 deletions spec/support/it_behaves_like_a_nested_resource.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
end

it 'ensures that the all rows are current' do
described_class.all.each do |row|
described_class.find_each do |row|
expect(row.last_updated).to eq(most_recent_time)
end
end

it 'ensures the row is marked with recorded time' do
described_class.all.each do |row|
described_class.find_each do |row|
expect(row.recorded_at).to eq(recorded_time)
end
end
Expand Down
2 changes: 1 addition & 1 deletion spec/support/it_behaves_like_associated_with_roles.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

shared_examples_for 'maintains roles correctly' do
after(:each) do
described_class.create_or_update_from_json(timestamped_json.merge(updated_roles).merge(updated_at: updated_at), 'example')
described_class.create_or_update_from_json(timestamped_json.merge(updated_roles).merge(updated_at:), 'example')
users_fit_exactly(expected_roles)
end

Expand Down

0 comments on commit 6c5a0d9

Please sign in to comment.