diff --git a/app/controllers/authentications_controller.rb b/app/controllers/authentications_controller.rb index 94f40e25f..f3588cbdf 100644 --- a/app/controllers/authentications_controller.rb +++ b/app/controllers/authentications_controller.rb @@ -14,14 +14,14 @@ class AuthenticationsController < ApplicationController @authentication = current_member.authentications .create_with( - name: name, + name:, token: auth['credentials']['token'], secret: auth['credentials']['secret'] ) .find_or_create_by( provider: auth['provider'], uid: auth['uid'], - name: name + name: ) flash[:notice] = "Authentication successful." diff --git a/app/controllers/conversations_controller.rb b/app/controllers/conversations_controller.rb index 4d80aba68..0def4aa83 100644 --- a/app/controllers/conversations_controller.rb +++ b/app/controllers/conversations_controller.rb @@ -71,7 +71,7 @@ class ConversationsController < ApplicationController @conversation = Mailboxer::Conversation.find_by(id: params[:id]) return unless @conversation.nil? || !@conversation.is_participant?(current_member) - redirect_to conversations_path(box: box) + redirect_to conversations_path(box:) nil end end diff --git a/app/controllers/crops_controller.rb b/app/controllers/crops_controller.rb index 265103b7b..3f85171dd 100644 --- a/app/controllers/crops_controller.rb +++ b/app/controllers/crops_controller.rb @@ -57,7 +57,7 @@ class CropsController < ApplicationController @crops = CropSearchService.search(@term, page: params[:page], per_page: Crop.per_page, - current_member: current_member) + current_member:) respond_with @crops end diff --git a/app/controllers/harvests_controller.rb b/app/controllers/harvests_controller.rb index 4b6624136..1e4cc7e86 100644 --- a/app/controllers/harvests_controller.rb +++ b/app/controllers/harvests_controller.rb @@ -20,7 +20,7 @@ class HarvestsController < DataController where['planting_id'] = @planting.id end - @harvests = Harvest.search('*', where: where, + @harvests = Harvest.search('*', where:, limit: 100, page: params[:page], load: false, diff --git a/app/controllers/likes_controller.rb b/app/controllers/likes_controller.rb index 953baac35..638a5038c 100644 --- a/app/controllers/likes_controller.rb +++ b/app/controllers/likes_controller.rb @@ -39,7 +39,7 @@ class LikesController < ApplicationController { id: like.likeable.id, like_count: like.likeable.likes.count, - liked_by_member: liked_by_member, + liked_by_member:, description: ActionController::Base.helpers.pluralize(like.likeable.likes.count, "like") } end @@ -50,7 +50,7 @@ class LikesController < ApplicationController format.json do render(json: render_json( like, - liked_by_member: liked_by_member + liked_by_member: ), status: status_code) end end diff --git a/app/controllers/plantings_controller.rb b/app/controllers/plantings_controller.rb index 3275684e7..feb0dd8fe 100644 --- a/app/controllers/plantings_controller.rb +++ b/app/controllers/plantings_controller.rb @@ -21,7 +21,7 @@ class PlantingsController < DataController end @plantings = Planting.search( - where: where, + where:, page: params[:page], limit: 30, boost_by: [:created_at], diff --git a/app/controllers/seeds_controller.rb b/app/controllers/seeds_controller.rb index 566edfc4a..15817810a 100644 --- a/app/controllers/seeds_controller.rb +++ b/app/controllers/seeds_controller.rb @@ -24,7 +24,7 @@ class SeedsController < DataController @filename = csv_filename @seeds = Seed.search( - where: where, + where:, page: params[:page], limit: 30, boost_by: [:created_at], diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 6f1cde5cf..e5c22500b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -55,7 +55,7 @@ module ApplicationHelper return uri.to_s end - Gravatar.new(member.email).image_url(size: size, + Gravatar.new(member.email).image_url(size:, default: :identicon, ssl: true) end @@ -70,11 +70,11 @@ module ApplicationHelper all = show_all ? '' : 1 if owner.present? - public_send("member_#{type}_path", owner, all: all) + public_send("member_#{type}_path", owner, all:) elsif crop.present? - public_send("crop_#{type}_path", crop, all: all) + public_send("crop_#{type}_path", crop, all:) else - public_send("#{type}_path", all: all) + public_send("#{type}_path", all:) end end diff --git a/app/helpers/buttons_helper.rb b/app/helpers/buttons_helper.rb index 850b6398a..cd0816dd2 100644 --- a/app/helpers/buttons_helper.rb +++ b/app/helpers/buttons_helper.rb @@ -44,19 +44,19 @@ module ButtonsHelper end def seed_edit_button(seed, classes: "btn btn-raised btn-info") - edit_button(edit_seed_path(seed), classes: classes) + edit_button(edit_seed_path(seed), classes:) end def harvest_edit_button(harvest, classes: "btn btn-raised btn-info") - edit_button(edit_harvest_path(harvest), classes: classes) + edit_button(edit_harvest_path(harvest), classes:) end def garden_edit_button(garden, classes: "btn btn-raised btn-info") - edit_button(edit_garden_path(garden), classes: classes) + edit_button(edit_garden_path(garden), classes:) end def planting_edit_button(planting, classes: "btn btn-raised btn-info") - edit_button(edit_planting_path(planting), classes: classes) + edit_button(edit_planting_path(planting), classes:) end def planting_finish_button(planting, classes: 'btn btn-default btn-secondary') diff --git a/app/helpers/crops_helper.rb b/app/helpers/crops_helper.rb index 32cf7773b..39d6ba52c 100644 --- a/app/helpers/crops_helper.rb +++ b/app/helpers/crops_helper.rb @@ -2,7 +2,7 @@ module CropsHelper def display_seed_availability(member, crop) - seeds = member.seeds.where(crop: crop) + seeds = member.seeds.where(crop:) total_quantity = seeds.where.not(quantity: nil).sum(:quantity) return "You don't have any seeds of this crop." if seeds.none? diff --git a/app/helpers/editable_form_helper.rb b/app/helpers/editable_form_helper.rb index 527baf5b2..adee685b7 100644 --- a/app/helpers/editable_form_helper.rb +++ b/app/helpers/editable_form_helper.rb @@ -2,7 +2,7 @@ module EditableFormHelper def editable(field_type, model, field, display_field:, collection: []) - render 'shared/editable/form', field_type: field_type, - model: model, field: field, display_field: display_field, collection: collection + render 'shared/editable/form', field_type:, + model:, field:, display_field:, collection: end end diff --git a/app/helpers/posts_helper.rb b/app/helpers/posts_helper.rb index 8ad30256b..fbb569ec4 100644 --- a/app/helpers/posts_helper.rb +++ b/app/helpers/posts_helper.rb @@ -2,11 +2,11 @@ module PostsHelper def display_post_truncated(post, length: 300) - truncate(strip_tags(post.body), length: length, + truncate(strip_tags(post.body), length:, separator: ' ', omission: '... ') { link_to "Read more", post_path(post) } end def post_stripped_tags(post, length: 300) - truncate(strip_tags(post.body), length: length) + truncate(strip_tags(post.body), length:) end end diff --git a/app/models/comment.rb b/app/models/comment.rb index 6590b6649..2d332ad6f 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -15,7 +15,7 @@ class Comment < ApplicationRecord recipient_id: recipient, sender_id: sender, subject: "#{author} commented on #{post.subject}", - body: body, + body:, post_id: post.id ) end diff --git a/app/models/concerns/member_newsletter.rb b/app/models/concerns/member_newsletter.rb index 055e77b15..c491914fb 100644 --- a/app/models/concerns/member_newsletter.rb +++ b/app/models/concerns/member_newsletter.rb @@ -32,8 +32,8 @@ module MemberNewsletter gibbon.lists.subscribe( id: Rails.application.config.newsletter_list_id, - email: { email: email }, - merge_vars: { login_name: login_name }, + email: { email: }, + merge_vars: { login_name: }, double_optin: false # they already confirmed their email with us ) end @@ -42,7 +42,7 @@ module MemberNewsletter return true if Rails.env.test? && !testing gibbon.lists.unsubscribe(id: Rails.application.config.newsletter_list_id, - email: { email: email }) + email: { email: }) end end end diff --git a/app/models/concerns/predict_harvest.rb b/app/models/concerns/predict_harvest.rb index bd11fc116..2106eb5c8 100644 --- a/app/models/concerns/predict_harvest.rb +++ b/app/models/concerns/predict_harvest.rb @@ -33,7 +33,7 @@ module PredictHarvest days_to_first_harvest = (first_harvest_date - planted_at).to_i days_to_last_harvest = (last_harvest_date - planted_at).to_i if finished? end - update(days_to_first_harvest: days_to_first_harvest, days_to_last_harvest: days_to_last_harvest) + update(days_to_first_harvest:, days_to_last_harvest:) end # status diff --git a/app/models/concerns/search_crops.rb b/app/models/concerns/search_crops.rb index 4a072ef99..4006ab2ac 100644 --- a/app/models/concerns/search_crops.rb +++ b/app/models/concerns/search_crops.rb @@ -29,19 +29,19 @@ module SearchCrops def search_data { - name: name, - description: description, - slug: slug, + name:, + description:, + slug:, alternate_names: alternate_names.pluck(:name), scientific_names: scientific_names.pluck(:name), photos_count: photo_associations_count, # boost the crops that are planted the most - plantings_count: plantings_count, - harvests_count: harvests_count, + plantings_count:, + harvests_count:, # boost this crop for these members planters_ids: plantings.pluck(:owner_id), has_photos: photos.size.positive?, - thumbnail_url: thumbnail_url, + thumbnail_url:, scientific_name: default_scientific_name&.name, created_at: created_at.to_i } diff --git a/app/models/concerns/search_harvests.rb b/app/models/concerns/search_harvests.rb index 43ae17587..8d6a5825f 100644 --- a/app/models/concerns/search_harvests.rb +++ b/app/models/concerns/search_harvests.rb @@ -17,22 +17,22 @@ module SearchHarvests def search_data { - slug: slug, - quantity: quantity, + slug:, + quantity:, # crop - crop_id: crop_id, - crop_name: crop_name, + crop_id:, + crop_name:, crop_slug: crop.slug, # owner - owner_id: owner_id, - owner_login_name: owner_login_name, - owner_slug: owner_slug, + owner_id:, + owner_login_name:, + owner_slug:, plant_part_name: plant_part&.name, # planting - planting_id: planting_id, + planting_id:, planting_slug: planting&.slug, # photo @@ -43,7 +43,7 @@ module SearchHarvests photos_count: photos.count, # timestamps - harvested_at: harvested_at, + harvested_at:, created_at: created_at.to_i } end @@ -58,7 +58,7 @@ module SearchHarvests } one_record = search('*', limit: 1, - where: where, + where:, boost_by: [:created_at], load: false).first return records if one_record.nil? diff --git a/app/models/concerns/search_photos.rb b/app/models/concerns/search_photos.rb index 2d7fc4399..86368b42f 100644 --- a/app/models/concerns/search_photos.rb +++ b/app/models/concerns/search_photos.rb @@ -15,20 +15,20 @@ module SearchPhotos def search_data { - id: id, - title: title, - thumbnail_url: thumbnail_url, - fullsize_url: fullsize_url, + id:, + title:, + thumbnail_url:, + fullsize_url:, # crops crops: crops.pluck(:id), # likes - liked_by_members_names: liked_by_members_names, + liked_by_members_names:, # owner - owner_id: owner_id, - owner_login_name: owner_login_name, - owner_slug: owner_slug, + owner_id:, + owner_login_name:, + owner_slug:, # counts - likes_count: likes_count, + likes_count:, created_at: created_at.to_i } diff --git a/app/models/concerns/search_plantings.rb b/app/models/concerns/search_plantings.rb index 38490e809..d1d734ece 100644 --- a/app/models/concerns/search_plantings.rb +++ b/app/models/concerns/search_plantings.rb @@ -18,39 +18,39 @@ module SearchPlantings def search_data { - slug: slug, - active: active, + slug:, + active:, finished: finished?, has_photos: photos.size.positive?, - location: location, + location:, percentage_grown: percentage_grown.to_i, - planted_at: planted_at, - planted_from: planted_from, + planted_at:, + planted_from:, planted_year: planted_at&.year, - quantity: quantity, - sunniness: sunniness, - garden_id: garden_id, + quantity:, + sunniness:, + garden_id:, - first_harvest_predicted_at: first_harvest_predicted_at, - finish_predicted_at: finish_predicted_at, + first_harvest_predicted_at:, + finish_predicted_at:, # crops - crop_id: crop_id, - crop_name: crop_name, - crop_slug: crop_slug, - crop_perennial: crop_perennial, + crop_id:, + crop_name:, + crop_slug:, + crop_perennial:, # owner - owner_id: owner_id, - owner_location: owner_location, - owner_login_name: owner_login_name, - owner_slug: owner_slug, + owner_id:, + owner_location:, + owner_login_name:, + owner_slug:, # photos thumbnail_url: default_photo&.thumbnail_url || crop.default_photo&.thumbnail_url, # counts photos_count: photos.size, - harvests_count: harvests_count, + harvests_count:, # timestamps created_at: created_at.to_i @@ -67,7 +67,7 @@ module SearchPlantings } one_record = search('*', limit: 1, - where: where, + where:, boost_by: [:created_at], load: false).first return records if one_record.nil? diff --git a/app/models/concerns/search_seeds.rb b/app/models/concerns/search_seeds.rb index c02a127c0..519dbfd43 100644 --- a/app/models/concerns/search_seeds.rb +++ b/app/models/concerns/search_seeds.rb @@ -18,31 +18,31 @@ module SearchSeeds def search_data { - slug: slug, + slug:, finished: finished?, - gmo: gmo, - active: active, - heirloom: heirloom, + gmo:, + active:, + heirloom:, location: owner.location, - organic: organic, - quantity: quantity, + organic:, + quantity:, plant_before: plant_before&.to_fs(:ymd), - tradable_to: tradable_to, - tradable: tradable, + tradable_to:, + tradable:, # crop - crop_id: crop_id, + crop_id:, crop_name: crop.name, crop_slug: crop.slug, # owner - owner_id: owner_id, - owner_location: owner_location, - owner_login_name: owner_login_name, - owner_slug: owner_slug, + owner_id:, + owner_location:, + owner_login_name:, + owner_slug:, # planting - parent_planting: parent_planting, + parent_planting:, # counts photos_count: photos.size, @@ -56,7 +56,7 @@ module SearchSeeds end def self.homepage_records(limit) - search('*', limit: limit, + search('*', limit:, where: { finished: false, tradable: true diff --git a/app/models/csv_importer.rb b/app/models/csv_importer.rb index 7b8dfbecd..6758b4a71 100644 --- a/app/models/csv_importer.rb +++ b/app/models/csv_importer.rb @@ -10,9 +10,9 @@ class CsvImporter def import_crop(row) name, en_wikipedia_url, parent_name, scientific_names, alternate_names = row - @crop = Crop.find_or_create_by(name: name) + @crop = Crop.find_or_create_by(name:) @crop.update( - en_wikipedia_url: en_wikipedia_url, + en_wikipedia_url:, creator_id: cropbot.id ) @@ -47,8 +47,8 @@ class CsvImporter return if names_to_add.empty? names_to_add.each do |name| - sciname = ScientificName.find_by(name: name, crop: @crop) - sciname ||= ScientificName.create!(name: name, crop: @crop, creator: cropbot) + sciname = ScientificName.find_by(name:, crop: @crop) + sciname ||= ScientificName.create!(name:, crop: @crop, creator: cropbot) @crop.scientific_names << sciname end end @@ -58,7 +58,7 @@ class CsvImporter return if alternate_names.blank? alternate_names.split(/,\s*/).each do |name| - altname = AlternateName.find_by(name: name, crop: @crop) + altname = AlternateName.find_by(name:, crop: @crop) altname ||= AlternateName.create! name: name, crop: @crop, creator: cropbot @crop.alternate_names << altname end diff --git a/app/models/member.rb b/app/models/member.rb index feb9c68dc..71b1c465f 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -127,7 +127,7 @@ class Member < ApplicationRecord end def auth(provider) - authentications.find_by(provider: provider) + authentications.find_by(provider:) end def unread_count diff --git a/app/models/photo.rb b/app/models/photo.rb index 64bf79348..03aa17e53 100644 --- a/app/models/photo.rb +++ b/app/models/photo.rb @@ -27,7 +27,7 @@ class Photo < ApplicationRecord source_type: type end - scope :by_crop, ->(crop) { joins(:photo_associations).where(photo_associations: { crop: crop }) } + scope :by_crop, ->(crop) { joins(:photo_associations).where(photo_associations: { crop: }) } scope :by_model, lambda { |model_name| joins(:photo_associations).where(photo_associations: { photographable_type: model_name.to_s }) } diff --git a/app/models/planting.rb b/app/models/planting.rb index 3247fc015..308516998 100644 --- a/app/models/planting.rb +++ b/app/models/planting.rb @@ -89,7 +89,7 @@ class Planting < ApplicationRecord # stringify as "beet in Skud's backyard" or similar def to_s - I18n.t('plantings.string', crop: crop.name, garden: garden.name, owner: owner) + I18n.t('plantings.string', crop: crop.name, garden: garden.name, owner:) end def finished? @@ -109,7 +109,7 @@ class Planting < ApplicationRecord # latitude, longitude = Geocoder.coordinates(location, params: { limit: 1 }) Planting.joins(:garden) - .where(crop: crop) + .where(crop:) .located .where('gardens.latitude < ? AND gardens.latitude > ?', latitude + 10, latitude - 10) diff --git a/app/models/post.rb b/app/models/post.rb index 057402187..12773fbb9 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -90,10 +90,10 @@ class Post < ApplicationRecord next unless recipient_id != sender Notification.create( - recipient_id: recipient_id, + recipient_id:, sender_id: sender, subject: "#{author} mentioned you in their post #{subject}", - body: body + body: ) end end diff --git a/app/models/role.rb b/app/models/role.rb index b89db3287..027d25546 100644 --- a/app/models/role.rb +++ b/app/models/role.rb @@ -11,7 +11,7 @@ class Role < ApplicationRecord %i(crop_wranglers admins).each do |method| define_method method do slug = method.to_s.singularize.dasherize - Role.where(slug: slug).try(:first).try(:members) + Role.where(slug:).try(:first).try(:members) end end end diff --git a/app/models/seed.rb b/app/models/seed.rb index 761f40ffe..5178dfcbe 100644 --- a/app/models/seed.rb +++ b/app/models/seed.rb @@ -69,6 +69,6 @@ class Seed < ApplicationRecord end def to_s - I18n.t('seeds.string', crop: crop.name, owner: owner) + I18n.t('seeds.string', crop: crop.name, owner:) end end diff --git a/app/services/openfarm_service.rb b/app/services/openfarm_service.rb index b9cd243c6..bec461b49 100644 --- a/app/services/openfarm_service.rb +++ b/app/services/openfarm_service.rb @@ -64,7 +64,7 @@ class OpenfarmService if photo.valid? Photo.transaction do photo.save - PhotoAssociation.find_or_create_by! photo: photo, photographable: crop + PhotoAssociation.find_or_create_by! photo:, photographable: crop end Rails.logger.debug "\t saved photo #{photo.id} #{photo.source_id}" else diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 3773df6c8..1ecb6d0be 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -235,5 +235,6 @@ Devise.setup do |config| # config.omniauth_path_prefix = "/my_engine/users/auth" # Later we may wish to ask for user_photos,user_location, however this means we need to be reviewed by facebook - config.omniauth :facebook, ENV['GROWSTUFF_FACEBOOK_KEY'], ENV['GROWSTUFF_FACEBOOK_SECRET'], scope: 'email,public_profile', display: 'page', info_fields: 'email,name,first_name,last_name,id' + config.omniauth :facebook, ENV['GROWSTUFF_FACEBOOK_KEY'], ENV['GROWSTUFF_FACEBOOK_SECRET'], scope: 'email,public_profile', +display: 'page', info_fields: 'email,name,first_name,last_name,id' end diff --git a/config/setup_load_paths.rb b/config/setup_load_paths.rb index 36e63028a..2baff7da8 100644 --- a/config/setup_load_paths.rb +++ b/config/setup_load_paths.rb @@ -3,7 +3,7 @@ if ENV['MY_RUBY_HOME']&.include?('rvm') begin require 'rvm' - RVM.use_from_path! File.dirname(File.dirname(__FILE__)) + RVM.use_from_path! File.dirname(__FILE__, 2) rescue LoadError # RVM is unavailable at this point. raise "RVM ruby lib is currently unavailable." diff --git a/db/migrate/20150201052245_create_cms.rb b/db/migrate/20150201052245_create_cms.rb index 1e4af733f..56ecebb8b 100644 --- a/db/migrate/20150201052245_create_cms.rb +++ b/db/migrate/20150201052245_create_cms.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class CreateCms < ActiveRecord::Migration[4.2] - def self.up # rubocop:disable Metrics/MethodLength, Metrics/AbcSize + def self.up # rubocop:disable Metrics/MethodLength # -- Sites -------------------------------------------------------------- create_table :comfy_cms_sites do |t| t.string :label, null: false diff --git a/db/migrate/20190326063855_create_garden_types.rb b/db/migrate/20190326063855_create_garden_types.rb index d844eb787..1ef3d7293 100644 --- a/db/migrate/20190326063855_create_garden_types.rb +++ b/db/migrate/20190326063855_create_garden_types.rb @@ -13,7 +13,7 @@ class CreateGardenTypes < ActiveRecord::Migration[5.2] 'wicking bed', 'permaculture', 'hydroponic', 'aquaponic', 'orchard', 'food forest', 'biodynamic'].each do |name| say "Creating #{name}" - GardenType.create! name: name + GardenType.create! name: end end end diff --git a/db/seeds.rb b/db/seeds.rb index e8dd84cdf..c18c4da6a 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -75,8 +75,8 @@ def load_test_users suburb, _country, _state, latitude, longitude = row[0] # Using 'update_column' method instead of 'update' so that # it avoids accessing Geocoding service for faster processing - @user.gardens.first.update_columns(location: suburb, latitude: latitude, longitude: longitude) - @user.update_columns(location: suburb, latitude: latitude, longitude: longitude) + @user.gardens.first.update_columns(location: suburb, latitude:, longitude:) + @user.update_columns(location: suburb, latitude:, longitude:) end # Create a planting by the member diff --git a/lib/actions/oauth_signup_action.rb b/lib/actions/oauth_signup_action.rb index 63e6dd4f5..7a1b2dab7 100644 --- a/lib/actions/oauth_signup_action.rb +++ b/lib/actions/oauth_signup_action.rb @@ -43,14 +43,14 @@ class Growstuff::OauthSignupAction member.authentications .create_with( - name: name, + name:, token: auth['credentials']['token'], secret: auth['credentials']['secret'] ) .find_or_create_by( provider: auth['provider'], uid: auth['uid'], - name: name, + name:, member_id: member.id ) end diff --git a/lib/tasks/growstuff.rake b/lib/tasks/growstuff.rake index 1fb588870..3b066727f 100644 --- a/lib/tasks/growstuff.rake +++ b/lib/tasks/growstuff.rake @@ -20,7 +20,7 @@ namespace :growstuff do raise "Usage: rake growstuff:[rolename] name=[username] "\ "\n (login name is case-sensitive)\n" end - member = Member.find_by!(login_name: login_name) + member = Member.find_by!(login_name:) role = Role.find_by!(name: role_name) member.roles << role end diff --git a/spec/controllers/comments_controller_spec.rb b/spec/controllers/comments_controller_spec.rb index 07e0115e6..a58309534 100644 --- a/spec/controllers/comments_controller_spec.rb +++ b/spec/controllers/comments_controller_spec.rb @@ -37,7 +37,7 @@ describe CommentsController do describe "with valid params" do before { get :new, params: { post_id: post.id } } - let(:old_comment) { FactoryBot.create(:comment, post: post) } + let(:old_comment) { FactoryBot.create(:comment, post:) } it "picks up post from params" do expect(assigns(:post)).to eq(post) @@ -60,8 +60,8 @@ describe CommentsController do before { get :edit, params: { id: comment.to_param } } describe "my comment" do - let!(:comment) { FactoryBot.create :comment, author: member, post: post } - let!(:old_comment) { FactoryBot.create(:comment, post: post, created_at: Time.zone.yesterday) } + let!(:comment) { FactoryBot.create :comment, author: member, post: } + let!(:old_comment) { FactoryBot.create(:comment, post:, created_at: Time.zone.yesterday) } it "assigns previous comments as @comments" do expect(assigns(:comments)).to eq([comment, old_comment]) @@ -69,7 +69,7 @@ describe CommentsController do end describe "not my comment" do - let(:comment) { FactoryBot.create :comment, post: post } + let(:comment) { FactoryBot.create :comment, post: } it { expect(response).not_to be_successful } end @@ -96,7 +96,7 @@ describe CommentsController do let(:post) { FactoryBot.create :post, subject: 'our post' } let(:other_post) { FactoryBot.create :post, subject: 'the other post' } let(:valid_attributes) { { post_id: other_post.id, body: "kÅrero" } } - let(:comment) { FactoryBot.create :comment, author: member, post: post } + let(:comment) { FactoryBot.create :comment, author: member, post: } it "does not change post_id" do comment.reload diff --git a/spec/controllers/likes_controller_spec.rb b/spec/controllers/likes_controller_spec.rb index dcbb7b66b..8a7e046f9 100644 --- a/spec/controllers/likes_controller_spec.rb +++ b/spec/controllers/likes_controller_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe LikesController do - let(:like) { FactoryBot.create :like, member: member } + let(:like) { FactoryBot.create :like, member: } let(:member) { FactoryBot.create(:member) } let(:blogpost) { FactoryBot.create(:post) } diff --git a/spec/controllers/photos_controller_spec.rb b/spec/controllers/photos_controller_spec.rb index 6629c69e9..b3f5123f1 100644 --- a/spec/controllers/photos_controller_spec.rb +++ b/spec/controllers/photos_controller_spec.rb @@ -23,8 +23,8 @@ describe PhotosController, :search do describe '#index crop photos' do let!(:photo) { FactoryBot.create :photo, :reindex, owner: member, title: 'no assocations photo' } let!(:crop_photo) { FactoryBot.create :photo, :reindex, owner: member, title: 'photos of planting' } - let!(:planting) { FactoryBot.create :planting, :reindex, crop: crop, owner: member } - let!(:crop) { FactoryBot.create :crop, :reindex } + let!(:planting) { FactoryBot.create :planting, :reindex, crop:, owner: member } + let!(:crop) { FactoryBot.create :crop, :reindex } before do planting.photos << crop_photo @@ -53,7 +53,7 @@ describe PhotosController, :search do let(:garden) { FactoryBot.create(:garden, owner: member) } let(:harvest) { FactoryBot.create(:harvest, owner: member) } let(:member) { FactoryBot.create(:member) } - let!(:auth) { FactoryBot.create(:flickr_authentication, member: member) } + let!(:auth) { FactoryBot.create(:flickr_authentication, member:) } before do sign_in member @@ -98,7 +98,7 @@ describe PhotosController, :search do let(:member) { FactoryBot.create(:member) } let(:garden) { FactoryBot.create(:garden, owner: member) } - let(:planting) { FactoryBot.create(:planting, garden: garden, owner: member) } + let(:planting) { FactoryBot.create(:planting, garden:, owner: member) } let(:harvest) { FactoryBot.create(:harvest, owner: member) } let(:photo) { FactoryBot.create(:photo, owner: member) } @@ -173,7 +173,7 @@ describe PhotosController, :search do before { controller.stub(:current_member) { member } } describe "creates the planting/photo link" do - let(:planting) { FactoryBot.create(:planting, garden: garden, owner: member) } + let(:planting) { FactoryBot.create(:planting, garden:, owner: member) } let(:photo) { FactoryBot.create(:photo, owner: member) } before { post :create, params: { photo: { source_id: photo.source_id, source: 'flickr' }, type: "planting", id: planting.id } } it { expect(flash[:alert]).not_to be_present } diff --git a/spec/controllers/seeds_controller_spec.rb b/spec/controllers/seeds_controller_spec.rb index 02b539d7a..b2172f5e6 100644 --- a/spec/controllers/seeds_controller_spec.rb +++ b/spec/controllers/seeds_controller_spec.rb @@ -26,7 +26,7 @@ describe SeedsController, :search do end context 'with parent planting' do - let!(:planting) { FactoryBot.create :planting, owner: owner } + let!(:planting) { FactoryBot.create :planting, owner: } before do Seed.reindex diff --git a/spec/factories/planting.rb b/spec/factories/planting.rb index f95a626f1..805074bb9 100644 --- a/spec/factories/planting.rb +++ b/spec/factories/planting.rb @@ -3,7 +3,7 @@ FactoryBot.define do factory :planting do owner - garden { FactoryBot.create :garden, owner: owner } + garden { FactoryBot.create :garden, owner: } crop planted_at { Time.zone.local(2014, 7, 30) } quantity { 33 } diff --git a/spec/factories/roles.rb b/spec/factories/roles.rb index c7c57f7ea..0a35435e7 100644 --- a/spec/factories/roles.rb +++ b/spec/factories/roles.rb @@ -6,7 +6,7 @@ FactoryBot.define do factory :role do name { "Moderator" } description { "These people moderate the forums" } - initialize_with { Role.find_or_create_by(name: name) } + initialize_with { Role.find_or_create_by(name:) } factory :admin do name { "admin" } diff --git a/spec/features/comments/commenting_a_comment_spec.rb b/spec/features/comments/commenting_a_comment_spec.rb index 62dc00cdc..5fdd09e01 100644 --- a/spec/features/comments/commenting_a_comment_spec.rb +++ b/spec/features/comments/commenting_a_comment_spec.rb @@ -18,7 +18,7 @@ describe 'Commenting on a post' do end context "editing a comment" do - let(:existing_comment) { create :comment, post: post, author: member } + let(:existing_comment) { create :comment, post:, author: member } before do visit edit_comment_path existing_comment diff --git a/spec/features/crops/crop_detail_page_spec.rb b/spec/features/crops/crop_detail_page_spec.rb index a7da997ce..31133fbc6 100644 --- a/spec/features/crops/crop_detail_page_spec.rb +++ b/spec/features/crops/crop_detail_page_spec.rb @@ -84,7 +84,7 @@ describe "crop detail page", js: true do end context "seed quantity for a crop" do - let(:seed) { create :seed, crop: crop, quantity: 20 } + let(:seed) { create :seed, crop:, quantity: 20 } it "User not signed in" do visit crop_path(seed.crop) @@ -110,14 +110,14 @@ describe "crop detail page", js: true do describe 'with harvest history data' do before do # 50 days to harvest - FactoryBot.create(:harvest, harvested_at: 150.days.ago, crop: crop, - planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop: crop)) + FactoryBot.create(:harvest, harvested_at: 150.days.ago, crop:, + planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) # 20 days to harvest - FactoryBot.create(:harvest, harvested_at: 180.days.ago, crop: crop, - planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop: crop)) + FactoryBot.create(:harvest, harvested_at: 180.days.ago, crop:, + planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) # 10 days to harvest - FactoryBot.create(:harvest, harvested_at: 190.days.ago, crop: crop, - planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop: crop)) + FactoryBot.create(:harvest, harvested_at: 190.days.ago, crop:, + planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) crop.update_medians end @@ -129,7 +129,7 @@ describe "crop detail page", js: true do context 'predictions' do let!(:planting) do - FactoryBot.create(:planting, crop: crop, + FactoryBot.create(:planting, crop:, planted_at: 100.days.ago, finished_at: 1.day.ago) end diff --git a/spec/features/crops/crop_photos_spec.rb b/spec/features/crops/crop_photos_spec.rb index edeac6fcd..92cbdb86a 100644 --- a/spec/features/crops/crop_photos_spec.rb +++ b/spec/features/crops/crop_photos_spec.rb @@ -11,9 +11,9 @@ describe "crop detail page", :js, :search do let(:plant_part) { FactoryBot.create :plant_part, name: 'fruit' } - let!(:harvest) { FactoryBot.create :harvest, crop: crop, owner: owner_member, plant_part: plant_part } - let!(:planting) { FactoryBot.create :planting, crop: crop, owner: owner_member } - let!(:seed) { FactoryBot.create :seed, crop: crop, owner: owner_member } + let!(:harvest) { FactoryBot.create :harvest, crop:, owner: owner_member, plant_part: } + let!(:planting) { FactoryBot.create :planting, crop:, owner: owner_member } + let!(:seed) { FactoryBot.create :seed, crop:, owner: owner_member } let!(:photo1) { FactoryBot.create(:photo, owner: owner_member) } let!(:photo2) { FactoryBot.create(:photo, owner: owner_member) } diff --git a/spec/features/gardens/gardens_spec.rb b/spec/features/gardens/gardens_spec.rb index f804bc57f..cba6978d4 100644 --- a/spec/features/gardens/gardens_spec.rb +++ b/spec/features/gardens/gardens_spec.rb @@ -7,9 +7,9 @@ describe "Planting a crop", js: true do include_context 'signed in member' # name is aaa to ensure it is ordered first let!(:garden) { create :garden, name: 'aaa', owner: member } - let!(:planting) { create :planting, garden: garden, owner: garden.owner, planted_at: Date.parse("2013-3-10") } - let!(:tomato) { create :tomato } - let!(:finished_planting) { create :finished_planting, owner: garden.owner, garden: garden, crop: tomato } + let!(:planting) { create :planting, garden:, owner: garden.owner, planted_at: Date.parse("2013-3-10") } + let!(:tomato) { create :tomato } + let!(:finished_planting) { create :finished_planting, owner: garden.owner, garden:, crop: tomato } it "View gardens" do visit gardens_path @@ -75,7 +75,7 @@ describe "Planting a crop", js: true do context 'When a garden has a garden type' do let(:garden_type) { create :garden_type } - let(:garden_with_type) { create :garden, garden_type: garden_type } + let(:garden_with_type) { create :garden, garden_type: } it "Shows a garden type for a garden" do visit garden_path(garden_with_type) diff --git a/spec/features/gardens/index_spec.rb b/spec/features/gardens/index_spec.rb index c28159f82..04df61b5b 100644 --- a/spec/features/gardens/index_spec.rb +++ b/spec/features/gardens/index_spec.rb @@ -80,9 +80,9 @@ describe "Gardens#index", :js do # time to finished = 90 days FactoryBot.create(:harvest, harvested_at: 50.days.ago, - crop: crop, + crop:, planting: FactoryBot.create(:planting, - crop: crop, + crop:, planted_at: 100.days.ago, finished_at: 10.days.ago)) crop.plantings.each(&:update_harvest_days!) @@ -97,9 +97,9 @@ describe "Gardens#index", :js do describe 'harvest still growing' do let!(:planting) do FactoryBot.create :planting, - crop: crop, + crop:, owner: member, - garden: garden, + garden:, planted_at: Time.zone.today end @@ -112,8 +112,8 @@ describe "Gardens#index", :js do describe 'harvesting now' do let!(:planting) do FactoryBot.create :planting, - crop: crop, - owner: member, garden: garden, + crop:, + owner: member, garden:, planted_at: 51.days.ago end @@ -127,8 +127,8 @@ describe "Gardens#index", :js do describe 'super late' do let!(:planting) do FactoryBot.create :planting, - crop: crop, owner: member, - garden: garden, planted_at: 260.days.ago + crop:, owner: member, + garden:, planted_at: 260.days.ago end it { expect(page).to have_text 'super late' } diff --git a/spec/features/home/home_spec.rb b/spec/features/home/home_spec.rb index c4355d2b7..d2bae29d4 100644 --- a/spec/features/home/home_spec.rb +++ b/spec/features/home/home_spec.rb @@ -10,9 +10,9 @@ describe "home page", :search do let(:photo) { FactoryBot.create :photo, owner: member } let(:crop) { FactoryBot.create :crop, created_at: 1.day.ago } - let(:planting) { FactoryBot.create :planting, owner: member, crop: crop } - let(:seed) { FactoryBot.create :tradable_seed, owner: member, crop: crop } - let(:harvest) { FactoryBot.create :harvest, owner: member, crop: crop } + let(:planting) { FactoryBot.create :planting, owner: member, crop: } + let(:seed) { FactoryBot.create :tradable_seed, owner: member, crop: } + let(:harvest) { FactoryBot.create :harvest, owner: member, crop: } let!(:tradable_seed) { FactoryBot.create :tradable_seed, :reindex, finished: false } let!(:finished_seed) { FactoryBot.create :tradable_seed, :reindex, finished: true } diff --git a/spec/features/likeable_spec.rb b/spec/features/likeable_spec.rb index a253c3f3f..ba04c04d3 100644 --- a/spec/features/likeable_spec.rb +++ b/spec/features/likeable_spec.rb @@ -61,7 +61,7 @@ describe 'Likeable', :js, search: true do end describe 'crops#show' do let(:crop) { FactoryBot.create :crop } - let(:planting) { FactoryBot.create :planting, owner: member, crop: crop } + let(:planting) { FactoryBot.create :planting, owner: member, crop: } let(:path) { crop_path(crop) } before { planting.photos << photo } include_examples 'photo can be liked' diff --git a/spec/features/members/profile_spec.rb b/spec/features/members/profile_spec.rb index e668f28cc..665fb06a7 100644 --- a/spec/features/members/profile_spec.rb +++ b/spec/features/members/profile_spec.rb @@ -137,7 +137,7 @@ describe "member profile", js: true do context 'member has comments' do let(:post) { FactoryBot.create :post } - let!(:comment) { FactoryBot.create :comment, post: post, author: member } + let!(:comment) { FactoryBot.create :comment, post:, author: member } before { visit member_path(member) } it { expect(page).to have_link href: post_path(post) } it { expect(page).to have_link href: comment_path(comment) } @@ -158,9 +158,9 @@ describe "member profile", js: true do # time to finished = 90 days FactoryBot.create(:harvest, harvested_at: 50.days.ago, - crop: crop, + crop:, planting: FactoryBot.create(:planting, - crop: crop, + crop:, planted_at: 100.days.ago, finished_at: 10.days.ago)) crop.plantings.each(&:update_harvest_days!) @@ -176,21 +176,21 @@ describe "member profile", js: true do let(:growing_planting) do FactoryBot.create :planting, - crop: crop, + crop:, owner: member, planted_at: Time.zone.today end let(:harvesting_planting) do FactoryBot.create :planting, - crop: crop, + crop:, owner: member, planted_at: 51.days.ago end let(:super_late_planting) do FactoryBot.create :planting, - crop: crop, owner: member, + crop:, owner: member, planted_at: 260.days.ago end diff --git a/spec/features/percy/percy_spec.rb b/spec/features/percy/percy_spec.rb index c36c21f81..9eb63e809 100644 --- a/spec/features/percy/percy_spec.rb +++ b/spec/features/percy/percy_spec.rb @@ -82,7 +82,7 @@ rest of the garden. crop.reindex owner = FactoryBot.create :interesting_member, login_name: crop_type.to_s.reverse, email: "#{crop.name}@example.com" planting = FactoryBot.create :planting, crop: crop, owner: owner, garden: owner.gardens.first - photo = FactoryBot.create(:photo, owner: owner, + photo = FactoryBot.create(:photo, owner:, thumbnail_url: "#{photo_url}_q.jpg", fullsize_url: "#{photo_url}_z.jpg") planting.photos << photo @@ -114,7 +114,7 @@ rest of the garden. FactoryBot.create(:harvest, crop: tomato, plant_part: FactoryBot.create(:plant_part, name: 'berry'), - planting: planting, + planting:, harvested_at: 1.day.ago) post = FactoryBot.create :post, subject: 'tomatoes are delicious' @@ -155,7 +155,7 @@ rest of the garden. # with some lettuce (finished) FactoryBot.create( :planting, crop: FactoryBot.create(:crop, name: 'lettuce'), - garden: garden, owner: member, finished_at: 2.weeks.ago + garden:, owner: member, finished_at: 2.weeks.ago ) # tomato still growing tomato_planting = FactoryBot.create :planting, garden: garden, owner: member, crop: tomato @@ -194,7 +194,7 @@ rest of the garden. FactoryBot.create_list :post, 12, author: member end Post.all.order(id: :desc).limit(4) do |post| - FactoryBot.create_list :comment, rand(1..5), post: post + FactoryBot.create_list :comment, rand(1..5), post: end visit posts_path page.percy_snapshot(page, name: "#{prefix}/posts#index") diff --git a/spec/features/places/searching_a_place_spec.rb b/spec/features/places/searching_a_place_spec.rb index 38e26277e..62156d332 100644 --- a/spec/features/places/searching_a_place_spec.rb +++ b/spec/features/places/searching_a_place_spec.rb @@ -7,7 +7,7 @@ describe "User searches" do let!(:maize) { create :maize } let(:garden) { create :garden, owner: located_member } let!(:seed1) { create :seed, owner: located_member } - let!(:planting) { create :planting, garden: garden, owner: located_member, planted_at: Date.parse("2013-3-10") } + let!(:planting) { create :planting, garden:, owner: located_member, planted_at: Date.parse("2013-3-10") } describe "with a valid place" do before do diff --git a/spec/features/plantings/planting_a_crop_spec.rb b/spec/features/plantings/planting_a_crop_spec.rb index 8ec474e10..e63a848b2 100644 --- a/spec/features/plantings/planting_a_crop_spec.rb +++ b/spec/features/plantings/planting_a_crop_spec.rb @@ -7,7 +7,7 @@ describe "Planting a crop", :js, :search do let!(:maize) { FactoryBot.create :maize } let(:garden) { FactoryBot.create :garden, owner: member, name: 'Orchard' } let!(:planting) do - FactoryBot.create :planting, garden: garden, owner: member, planted_at: Date.parse("2013-03-10") + FactoryBot.create :planting, garden:, owner: member, planted_at: Date.parse("2013-03-10") end before { Planting.reindex } diff --git a/spec/features/plantings/prediction_spec.rb b/spec/features/plantings/prediction_spec.rb index c22734a7f..bd7bf0405 100644 --- a/spec/features/plantings/prediction_spec.rb +++ b/spec/features/plantings/prediction_spec.rb @@ -6,7 +6,7 @@ describe "Display a planting", :js do describe 'planting perennial' do let(:garden) { FactoryBot.create :garden, location: 'Edinburgh' } let(:crop) { FactoryBot.create(:crop, name: 'feijoa', perennial: true) } - let(:planting) { FactoryBot.create :planting, crop: crop, garden: garden, owner: garden.owner } + let(:planting) { FactoryBot.create :planting, crop:, garden:, owner: garden.owner } describe 'no harvest to predict from' do before { visit planting_path(planting) } @@ -18,7 +18,7 @@ describe "Display a planting", :js do before do FactoryBot.create :harvest, planting: planting, crop: crop, harvested_at: '1 May 2019' FactoryBot.create :harvest, planting: planting, crop: crop, harvested_at: '18 June 2019' - FactoryBot.create_list :harvest, 4, planting: planting, crop: crop, harvested_at: '18 August 2019' + FactoryBot.create_list :harvest, 4, planting:, crop:, harvested_at: '18 August 2019' end before { visit planting_path(planting) } it { expect(page.find("#month-1")[:class]).not_to include("badge-harvesting") } @@ -48,7 +48,7 @@ describe "Display a planting", :js do faraway_planting = FactoryBot.create :planting, garden: faraway_garden, crop: crop, owner: faraway_garden.owner, planted_at: '16 May 2001' - FactoryBot.create_list :harvest, 4, planting: faraway_planting, crop: crop, + FactoryBot.create_list :harvest, 4, planting: faraway_planting, crop:, harvested_at: '18 December 2006' end before { visit planting_path(planting) } diff --git a/spec/features/plantings/show_spec.rb b/spec/features/plantings/show_spec.rb index 3ffcb45b3..727287905 100644 --- a/spec/features/plantings/show_spec.rb +++ b/spec/features/plantings/show_spec.rb @@ -44,17 +44,17 @@ describe "Display a planting", :js do let(:planting) do crop = FactoryBot.create :annual_crop # 50 days to harvest - FactoryBot.create(:harvest, harvested_at: 150.days.ago, crop: crop, - planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop: crop)) + FactoryBot.create(:harvest, harvested_at: 150.days.ago, crop:, + planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) # 20 days to harvest - FactoryBot.create(:harvest, harvested_at: 180.days.ago, crop: crop, - planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop: crop)) + FactoryBot.create(:harvest, harvested_at: 180.days.ago, crop:, + planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) # 10 days to harvest - FactoryBot.create(:harvest, harvested_at: 190.days.ago, crop: crop, - planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop: crop)) + FactoryBot.create(:harvest, harvested_at: 190.days.ago, crop:, + planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) crop.update_medians - FactoryBot.create :annual_planting, planted_at: 200.days.ago, crop: crop + FactoryBot.create :annual_planting, planted_at: 200.days.ago, crop: end it { expect(page).to have_text 'First harvest expected' } end diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index c285f9c5a..a4f95ade5 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -48,7 +48,7 @@ describe ApplicationHelper do context 'with a populated collection' do context 'with one element' do - before { create(:comment, post: post) } + before { create(:comment, post:) } it 'returns a string with the quantity and the plural of the model' do expect(localize_plural(post.comments, Comment)).to eq '1 comment' @@ -56,7 +56,7 @@ describe ApplicationHelper do end context 'with more than one element' do - before { create_list(:comment, 2, post: post) } + before { create_list(:comment, 2, post:) } it 'returns a string with the quantity and the plural of the model' do expect(localize_plural(post.comments, Comment)).to eq '2 comments' diff --git a/spec/helpers/gardens_helper_spec.rb b/spec/helpers/gardens_helper_spec.rb index 3b8094ea6..50033069b 100644 --- a/spec/helpers/gardens_helper_spec.rb +++ b/spec/helpers/gardens_helper_spec.rb @@ -41,7 +41,7 @@ describe GardensHelper do it "has 1 planting" do crop = FactoryBot.create(:crop) - plantings = [FactoryBot.create(:planting, quantity: 10, crop: crop)] + plantings = [FactoryBot.create(:planting, quantity: 10, crop:)] result = helper.display_garden_plantings(plantings) output = '