Skip to content
This repository was archived by the owner on Sep 29, 2020. It is now read-only.

Commit 21dfde9

Browse files
committed
Rescue invalid date query param
1 parent ef12729 commit 21dfde9

File tree

6 files changed

+13
-74
lines changed

6 files changed

+13
-74
lines changed

.babelrc

Lines changed: 0 additions & 18 deletions
This file was deleted.

app/controllers/application_controller.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,10 @@ class ApplicationController < ActionController::Base
22
def render_status(status)
33
render file: "#{Rails.root}/public/#{status}.html", status: status
44
end
5+
6+
def parse_date
7+
@date = params[:date]&.to_date || Date.today
8+
rescue ArgumentError
9+
@date = Date.today
10+
end
511
end

app/controllers/partners_controller.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
class PartnersController < ApplicationController
2-
before_action :authenticate_user!
2+
before_action :authenticate_user!, :parse_date
33

44
def index
5-
@date = params[:date]&.to_date || Date.today
6-
75
@usage ||= Referral.joins(:partner).used
86
.by_month(@date, col: 'referrals.created_at')
97
.group('partners.slug').size

app/controllers/referrals_controller.rb

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,4 @@ def show
2727
def load_partner
2828
@partner = Partner.active.find_by(slug: params[:slug])
2929
end
30-
31-
def parse_date
32-
@date = params[:date]&.to_date || Date.today
33-
end
3430
end

test/system/month_picker_test.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,10 @@ class MonthPickerTest < ApplicationSystemTestCase
3636
sign_in
3737
assert_text('No referrals this month.')
3838
end
39+
40+
test 'invalid date returns current day' do
41+
visit root_path(date: '2020-1')
42+
sign_in
43+
assert_text("#{Date::MONTHNAMES[Date.today.month]} Referrals #{Date.today.year}")
44+
end
3945
end

yarn.lock

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4545,14 +4545,6 @@ minipass@^2.2.1, minipass@^2.3.3:
45454545
safe-buffer "^5.1.2"
45464546
yallist "^3.0.0"
45474547

4548-
minipass@^2.8.6, minipass@^2.9.0:
4549-
version "2.9.0"
4550-
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
4551-
integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
4552-
dependencies:
4553-
safe-buffer "^5.1.2"
4554-
yallist "^3.0.0"
4555-
45564548
minipass@^3.0.0, minipass@^3.1.1:
45574549
version "3.1.1"
45584550
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5"
@@ -4567,13 +4559,6 @@ minizlib@^1.1.0:
45674559
dependencies:
45684560
minipass "^2.2.1"
45694561

4570-
minizlib@^1.2.1:
4571-
version "1.3.3"
4572-
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
4573-
integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
4574-
dependencies:
4575-
minipass "^2.9.0"
4576-
45774562
mississippi@^3.0.0:
45784563
version "3.0.0"
45794564
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
@@ -4753,22 +4738,6 @@ node-libs-browser@^2.2.1:
47534738
util "^0.11.0"
47544739
vm-browserify "^1.0.1"
47554740

4756-
node-pre-gyp@*:
4757-
version "0.14.0"
4758-
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
4759-
integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
4760-
dependencies:
4761-
detect-libc "^1.0.2"
4762-
mkdirp "^0.5.1"
4763-
needle "^2.2.1"
4764-
nopt "^4.0.1"
4765-
npm-packlist "^1.1.6"
4766-
npmlog "^4.0.2"
4767-
rc "^1.2.7"
4768-
rimraf "^2.6.1"
4769-
semver "^5.3.0"
4770-
tar "^4.4.2"
4771-
47724741
node-pre-gyp@^0.10.0:
47734742
version "0.10.3"
47744743
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc"
@@ -7158,19 +7127,6 @@ tar@^4:
71587127
safe-buffer "^5.1.2"
71597128
yallist "^3.0.2"
71607129

7161-
tar@^4.4.2:
7162-
version "4.4.13"
7163-
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
7164-
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
7165-
dependencies:
7166-
chownr "^1.1.1"
7167-
fs-minipass "^1.2.5"
7168-
minipass "^2.8.6"
7169-
minizlib "^1.2.1"
7170-
mkdirp "^0.5.0"
7171-
safe-buffer "^5.1.2"
7172-
yallist "^3.0.3"
7173-
71747130
terser-webpack-plugin@^1.4.3:
71757131
version "1.4.3"
71767132
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
@@ -7773,11 +7729,6 @@ yallist@^3.0.0, yallist@^3.0.2:
77737729
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
77747730
integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=
77757731

7776-
yallist@^3.0.3:
7777-
version "3.1.1"
7778-
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
7779-
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
7780-
77817732
yallist@^4.0.0:
77827733
version "4.0.0"
77837734
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"

0 commit comments

Comments
 (0)