From 028dea3cb83394d742d717a063c13261590c7661 Mon Sep 17 00:00:00 2001 From: 0x8664b2 <0x8664b2@pm.me> Date: Tue, 23 Aug 2022 14:51:20 -0700 Subject: [PATCH] Render yearly view --- Gemfile | 1 + Gemfile.lock | 21 +++++++++++++++++++++ app/controllers/home_controller.rb | 4 +++- app/helpers/home_helper.rb | 10 ++++++++++ app/helpers/index_helper.rb | 2 -- app/models/event.rb | 12 ++++++++++++ app/views/home/_month.erb | 11 ++++++----- app/views/home/index.erb | 5 +++++ app/views/layouts/application.html.erb | 2 +- 9 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 app/helpers/home_helper.rb delete mode 100644 app/helpers/index_helper.rb create mode 100644 app/models/event.rb diff --git a/Gemfile b/Gemfile index 4834ec7..9a0acda 100644 --- a/Gemfile +++ b/Gemfile @@ -72,3 +72,4 @@ group :test do end gem "tailwindcss-rails", "~> 2.0" +gem "http" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 7b447be..c489e60 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -88,9 +88,23 @@ GEM irb (>= 1.3.6) reline (>= 0.3.1) digest (3.1.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) erubi (1.11.0) + ffi (1.15.5) + ffi-compiler (1.0.1) + ffi (>= 1.0.0) + rake globalid (1.0.0) activesupport (>= 5.0) + http (5.1.0) + addressable (~> 2.8) + http-cookie (~> 1.0) + http-form_data (~> 2.2) + llhttp-ffi (~> 0.4.0) + http-cookie (1.0.5) + domain_name (~> 0.5) + http-form_data (2.3.0) i18n (1.12.0) concurrent-ruby (~> 1.0) importmap-rails (1.1.5) @@ -102,6 +116,9 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + llhttp-ffi (0.4.0) + ffi-compiler (~> 1.0) + rake (~> 13.0) loofah (2.18.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -196,6 +213,9 @@ GEM railties (>= 6.0.0) tzinfo (2.0.5) concurrent-ruby (~> 1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.8.2) web-console (4.2.0) actionview (>= 6.0.0) activemodel (>= 6.0.0) @@ -220,6 +240,7 @@ DEPENDENCIES bootsnap capybara debug + http importmap-rails jbuilder puma (~> 5.0) diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 419ec80..68486c2 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,6 +1,8 @@ class HomeController < ApplicationController def index - @year = 2022 + Time.zone = 'Pacific Time (US & Canada)' + @year = params['year'].nil? ? Date.today.year : params['year'].to_i + @events = [Event.new] end end diff --git a/app/helpers/home_helper.rb b/app/helpers/home_helper.rb new file mode 100644 index 0000000..9c05a5e --- /dev/null +++ b/app/helpers/home_helper.rb @@ -0,0 +1,10 @@ +module HomeHelper + def days_events(events, day) + events.select do |event| + event.during? day + end + .sort_by do |e| + [-e.begin_at.to_time.to_i, e.end_at.to_time.to_i] + end + end +end diff --git a/app/helpers/index_helper.rb b/app/helpers/index_helper.rb deleted file mode 100644 index cdc64c7..0000000 --- a/app/helpers/index_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module IndexHelper -end diff --git a/app/models/event.rb b/app/models/event.rb new file mode 100644 index 0000000..3842a33 --- /dev/null +++ b/app/models/event.rb @@ -0,0 +1,12 @@ +class Event + attr_reader :begin_at, :end_at + + def initialize + @begin_at = DateTime.now.beginning_of_day + @end_at = DateTime.now + 1.day + end + + def during?(d) + self.begin_at <= d && d <= self.end_at + end +end \ No newline at end of file diff --git a/app/views/home/_month.erb b/app/views/home/_month.erb index 50f8728..5782b97 100644 --- a/app/views/home/_month.erb +++ b/app/views/home/_month.erb @@ -1,18 +1,19 @@ -