matey 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81ed3e6b62f68768a94051796aa20b432002bc811d841b546e7632952816437e
|
4
|
+
data.tar.gz: 99e0970e24a51e1d6b438a8111591dc4c836d336a17e35089b98fba789c7687e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84b86437df09f3ffa853dbda7da8f21adb36de0c68695855ca1b24330d61ec156002d1295aed604f4fcbb9fee131bcc9cee1d0a168622d92cfc8a5ed1e8853ab
|
7
|
+
data.tar.gz: 4739f02fea2fe779525a2ff14c0ed83cfde865e4f4d91a4f7757100eaeddf5764d145ec5e9ce1922aa26409128e2f284ce647f07057fd9bac560d7ef93e6d7d7
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
matey (0.1.
|
4
|
+
matey (0.1.5)
|
5
5
|
ahoy_matey (~> 4.0)
|
6
|
+
groupdate (~> 6.4.0)
|
6
7
|
view_component (~> 2.74)
|
7
8
|
|
8
9
|
GEM
|
@@ -95,6 +96,8 @@ GEM
|
|
95
96
|
railties (>= 5.0.0)
|
96
97
|
globalid (1.1.0)
|
97
98
|
activesupport (>= 5.0)
|
99
|
+
groupdate (6.4.0)
|
100
|
+
activesupport (>= 6.1)
|
98
101
|
i18n (1.14.1)
|
99
102
|
concurrent-ruby (~> 1.0)
|
100
103
|
io-console (0.6.0)
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<div class="card <%= @color_scheme %>">
|
2
2
|
<div class="card-header">
|
3
3
|
<h5>Visits By Day of Week since <%= time_ago_in_words(@time_window.ago).titleize %> Ago (<%= @time_window.ago.strftime("%m/%d/%Y") %>) </h5>
|
4
|
-
<% if @exclude_days %>
|
5
|
-
<p>Excluding <%= @exclude_days
|
4
|
+
<% if @exclude_days.any? %>
|
5
|
+
<p>Excluding <%= @exclude_days.join(', ') %></p>
|
6
6
|
<% end %>
|
7
7
|
</div>
|
8
8
|
<div class="card-body">
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</tr>
|
15
15
|
</thead>
|
16
16
|
<tbody class="text-dark border-dark">
|
17
|
-
<%
|
17
|
+
<% visits_by_day_of_week.each do |day_of_week, count| %>
|
18
18
|
<tr>
|
19
19
|
<td><%= day_of_week %></td>
|
20
20
|
<td class="text-end"><%= count %></td>
|
@@ -1,24 +1,17 @@
|
|
1
1
|
require "ahoy_matey"
|
2
|
+
require "groupdate"
|
2
3
|
|
3
4
|
class Matey::VisitsByDayOfWeekComponent < Matey::ApplicationComponent
|
4
|
-
def initialize(visits:, time_window: 1.month,
|
5
|
+
def initialize(visits:, time_window: 1.month, exclude_days: [], color_scheme: "neutral")
|
6
|
+
@visits = visits
|
5
7
|
@time_window = time_window
|
6
|
-
|
7
|
-
# query for all the visits
|
8
|
-
all_visits = visits.where(started_at: time_window.ago..)
|
9
|
-
|
10
|
-
visits_by_day_of_week = {}
|
11
|
-
|
12
|
-
# get day of week from each visit. Incrase value of dayOfWeek key by 1 if key is already there else initialize key with value of 1
|
13
|
-
all_visits.each { |visit| visits_by_day_of_week.key?(visit.started_at.strftime("%A")) ? visits_by_day_of_week[(visit.started_at.strftime("%A"))] += 1 : visits_by_day_of_week[visit.started_at.strftime("%A")] = 1 }
|
14
|
-
|
15
|
-
# take out items from visits_by_day_of_week hashmap based on exclude_days parameter
|
16
|
-
if exclude_days.length > 0
|
17
|
-
exclude_days.each { |exclude| visits_by_day_of_week = visits_by_day_of_week.slice!(exclude) }
|
18
|
-
end
|
19
|
-
|
20
|
-
@visits_by_day_of_week = visits_by_day_of_week
|
21
|
-
|
8
|
+
@exclude_days = exclude_days
|
22
9
|
@color_scheme = color_scheme(scheme: color_scheme)
|
23
10
|
end
|
11
|
+
|
12
|
+
# group visits by day in provided time window
|
13
|
+
def visits_by_day_of_week
|
14
|
+
visits_by_day_of_week = @visits.group_by_day_of_week(:started_at, format: "%A", range: @time_window.ago..).count
|
15
|
+
visits_by_day_of_week.except!(*@exclude_days) if @exclude_days.any?
|
16
|
+
end
|
24
17
|
end
|
data/lib/matey/version.rb
CHANGED
data/matey.gemspec
CHANGED
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
|
37
37
|
spec.add_dependency "view_component", "~> 2.74"
|
38
38
|
spec.add_dependency "ahoy_matey", "~> 4.0"
|
39
|
+
spec.add_dependency "groupdate", "~> 6.4.0"
|
39
40
|
|
40
41
|
spec.add_development_dependency "rspec-rails", "~> 5.0"
|
41
42
|
spec.add_development_dependency "factory_bot_rails", "~> 6.0"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: matey
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Loos
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-09-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: view_component
|
@@ -39,6 +39,20 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '4.0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: groupdate
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 6.4.0
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 6.4.0
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: rspec-rails
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|