matey 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|