milestoner 19.2.0 → 19.4.0
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +1 -1
- data/lib/milestoner/container.rb +1 -1
- data/lib/milestoner/templates/layouts/page.html.erb +5 -0
- data/lib/milestoner/templates/milestones/_commit.html.erb +8 -9
- data/lib/milestoner/templates/milestones/index.html.erb +26 -17
- data/lib/milestoner/templates/milestones/show.adoc.erb +1 -1
- data/lib/milestoner/templates/milestones/show.html.erb +29 -18
- data/lib/milestoner/templates/milestones/show.md.erb +1 -1
- data/lib/milestoner/templates/public/page.css.erb +93 -39
- data/lib/milestoner/views/milestones/index.rb +0 -1
- data/lib/milestoner/views/milestones/show.rb +0 -1
- data/milestoner.gemspec +2 -2
- data.tar.gz.sig +0 -0
- metadata +18 -20
- metadata.gz.sig +0 -0
- data/lib/milestoner/views/scope_builder.rb +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17f7f38307608c552e8e55aca7ca0d504ce19a27e2e3a1d3006c4dc86f7cc769
|
4
|
+
data.tar.gz: db7f14d857a9ab5b9a65e86020af35d2f21180b3f87db1a4cfc57552922e5def
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fddbbb740df9153ab03a83f31e90f4d8de66799a74545e90efbe838ad722d86430f5b29a54e33973c5b4d35cb12c117ece88fe2e5cb6573095515c67734f70d
|
7
|
+
data.tar.gz: 8a64713d5490876b393d9118248c21e3546ae9a159e3f211f108eef8bd26b68a53051aff41a6d3ef77402abd9da85818f6f4e3c78372999871f1f5abf9e70175
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -359,7 +359,7 @@ image:https://alchemists.io/images/projects/milestoner/screenshots/no_cache.png[
|
|
359
359
|
|
360
360
|
=== Build
|
361
361
|
|
362
|
-
image:https://alchemists.io/images/projects/milestoner/screenshots/usage-build.png[Usage,width=
|
362
|
+
image:https://alchemists.io/images/projects/milestoner/screenshots/usage-build.png[Usage,width=786,height=708,role=focal_point]
|
363
363
|
|
364
364
|
The build command allows you to quickly build release notes to check the current status of your project or deploy a new milestone. By default, the build command uses either the default or custom configuration as documented in the _Configuration_ section above. This means, when using the defaults, you can immediately build the release notes for your project in a temporary directory:
|
365
365
|
|
data/lib/milestoner/container.rb
CHANGED
@@ -22,7 +22,7 @@ module Milestoner
|
|
22
22
|
register :cache do
|
23
23
|
# :nocov:
|
24
24
|
Lode.new self["xdg.cache"].passive do |config|
|
25
|
-
config.mode = :
|
25
|
+
config.mode = :thread
|
26
26
|
config.table = Lode::Tables::Value
|
27
27
|
config.register :users, model: Models::User, primary_key: :name
|
28
28
|
end
|
@@ -40,6 +40,11 @@
|
|
40
40
|
integrity="sha384-HGfztofotfshcF7+8n44JQL2oJmowVChPTg48S+jvZoztPfvwD79OC/LTtG6dMp+"
|
41
41
|
crossorigin="anonymous">
|
42
42
|
</script>
|
43
|
+
|
44
|
+
<script src="https://unpkg.com/htmx-select@0.0.0"
|
45
|
+
integrity="sha384-sHXxspXI+1G3Mb+k1zPcNdkBRL2Q+nKLcOtkbUPE0USxJFJtjf5pQpuykwTDAcPc"
|
46
|
+
crossorigin="anonymous">
|
47
|
+
</script>
|
43
48
|
</head>
|
44
49
|
|
45
50
|
<body class="milestoner">
|
@@ -1,14 +1,13 @@
|
|
1
1
|
<details id="<%= commit.sha %>" class="row" x-bind:open="open">
|
2
2
|
<summary class="summary <%= commit.kind %>">
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
</div>
|
3
|
+
<img src="https://alchemists.io/images/projects/milestoner/icons/<%= commit.icon %>.png"
|
4
|
+
alt="<%= commit.kind %>"
|
5
|
+
class="icon"
|
6
|
+
width="24"
|
7
|
+
height="24"
|
8
|
+
loading="lazy">
|
9
|
+
|
10
|
+
<span class="subject"><%= commit.subject %></span>
|
12
11
|
|
13
12
|
<a href="<%= commit.author.profile_url %>" class="author">
|
14
13
|
<%= render :avatar, user: commit.author %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<section class="milestones">
|
2
2
|
<h1 class="title">
|
3
|
-
<a href="<%= project_uri_home %>" class="label"><%= project_label %></a>
|
3
|
+
<a href="<%= project_uri_home %>" class="label"><%= project_label %></a>
|
4
4
|
</h1>
|
5
5
|
|
6
6
|
<p>All versions adhere to the <a href="https://alchemists.io/articles/strict_semantic_versioning">Strict Semantic Versioning</a> as enforced with <a href="https://alchemists.io/projects/versionaire">Versionaire</a> and automated by <a href="<%= generator_uri %>"><%= generator_label %></a>. Briefly, this means:</p>
|
@@ -11,21 +11,30 @@
|
|
11
11
|
<li><strong>Patch</strong> (x.y.Z): Incremented for small, backwards compatible, bug fixes.</li>
|
12
12
|
</ul>
|
13
13
|
|
14
|
-
<
|
15
|
-
|
16
|
-
<li class="item">
|
17
|
-
<a href="/<%= tag.version %>/"
|
18
|
-
class="version"
|
19
|
-
hx-get="/<%= tag.version %>/"
|
20
|
-
hx-select=".milestone"
|
21
|
-
hx-target=".milestones"
|
22
|
-
hx-swap="outerHTML"
|
23
|
-
hx-push-url="true">
|
24
|
-
<%= tag.version %>
|
25
|
-
</a>
|
14
|
+
<div class="selection fragment">
|
15
|
+
<label for="version" class="label">Version:</label>
|
26
16
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
17
|
+
<select id="version"
|
18
|
+
name="version"
|
19
|
+
class="versions"
|
20
|
+
hx-get=""
|
21
|
+
hx-trigger="change"
|
22
|
+
hx-select=".milestone"
|
23
|
+
hx-target=".milestones"
|
24
|
+
hx-swap="outerHTML"
|
25
|
+
hx-push-url="true"
|
26
|
+
hx-indicator=".spinner"
|
27
|
+
hx-ext="select">
|
28
|
+
|
29
|
+
<option value="" class="option">Select...</option>
|
30
|
+
|
31
|
+
<% tags.each do |tag| %>
|
32
|
+
<option value="<%= tag.version %>/" class="option">
|
33
|
+
<%= tag.version %> (<%= tag.committed_date %>)
|
34
|
+
</option>
|
35
|
+
<% end %>
|
36
|
+
</select>
|
37
|
+
|
38
|
+
<div class="spinner htmx-indicator"></div>
|
39
|
+
</div>
|
31
40
|
</section>
|
@@ -13,5 +13,5 @@
|
|
13
13
|
*<%= tag.total_commits %>. <%= tag.total_files %>. <%= tag.total_deletions %>. <%= tag.total_insertions %>.* +
|
14
14
|
*<%= tag.total_duration %>.*
|
15
15
|
|
16
|
-
link
|
16
|
+
link:../<%= past.version %>/[Previous (<%= past.version %>)] | link:../<%= future.version %>/[Next (<%= future.version %>)]
|
17
17
|
<% end %>
|
@@ -1,16 +1,21 @@
|
|
1
1
|
<article class="milestone">
|
2
2
|
<header class="header">
|
3
3
|
<% if tag.index? %>
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
4
|
+
<div class="fragment">
|
5
|
+
<a href="../"
|
6
|
+
class="root"
|
7
|
+
hx-get="../"
|
8
|
+
hx-select=".milestones"
|
9
|
+
hx-trigger="click, keyup[key=='v'] from:body"
|
10
|
+
hx-target=".milestone"
|
11
|
+
hx-swap="outerHTML"
|
12
|
+
hx-push-url="true"
|
13
|
+
hx-indicator=".index">
|
14
|
+
Versions
|
15
|
+
</a>
|
16
|
+
|
17
|
+
<div class="index spinner htmx-indicator"></div>
|
18
|
+
</div>
|
14
19
|
<% end %>
|
15
20
|
|
16
21
|
<h1 class="title">
|
@@ -71,19 +76,22 @@
|
|
71
76
|
</p>
|
72
77
|
|
73
78
|
<ul class="actions">
|
74
|
-
<li>
|
75
|
-
<a href="
|
79
|
+
<li class="fragment">
|
80
|
+
<a href="../<%= past.version %>/"
|
76
81
|
class="action"
|
77
82
|
data-direction="previous"
|
78
|
-
hx-get="
|
83
|
+
hx-get="../<%= past.version %>/"
|
79
84
|
hx-select=".milestone"
|
80
85
|
hx-trigger="click, keyup[key=='ArrowLeft'] from:body"
|
81
86
|
hx-target=".milestone"
|
82
87
|
hx-swap="outerHTML"
|
83
|
-
hx-push-url="true"
|
88
|
+
hx-push-url="true"
|
89
|
+
hx-indicator=".previous">
|
84
90
|
Previous
|
85
91
|
(<%= past.version %>)
|
86
92
|
</a>
|
93
|
+
|
94
|
+
<div class="previous spinner htmx-indicator"></div>
|
87
95
|
</li>
|
88
96
|
|
89
97
|
<li>
|
@@ -100,16 +108,19 @@
|
|
100
108
|
</div>
|
101
109
|
</li>
|
102
110
|
|
103
|
-
<li>
|
104
|
-
<
|
111
|
+
<li class="fragment">
|
112
|
+
<div class="next spinner htmx-indicator"></div>
|
113
|
+
|
114
|
+
<a href="../<%= future.version %>/"
|
105
115
|
class="action"
|
106
116
|
data-direction="next"
|
107
|
-
hx-get="
|
117
|
+
hx-get="../<%= future.version %>/"
|
108
118
|
hx-select=".milestone"
|
109
119
|
hx-trigger="click, keyup[key=='ArrowRight'] from:body"
|
110
120
|
hx-target=".milestone"
|
111
121
|
hx-swap="outerHTML"
|
112
|
-
hx-push-url="true"
|
122
|
+
hx-push-url="true"
|
123
|
+
hx-indicator=".next">
|
113
124
|
Next
|
114
125
|
(<%= future.version %>)
|
115
126
|
</a>
|
@@ -12,5 +12,5 @@
|
|
12
12
|
**<%= tag.total_commits %>. <%= tag.total_files %>. <%= tag.total_deletions %>. <%= tag.total_insertions %>.**
|
13
13
|
**<%= tag.total_duration %>.**
|
14
14
|
|
15
|
-
[Previous (<%= past.version %>)](
|
15
|
+
[Previous (<%= past.version %>)](../<%= past.version %>/) | [Next (<%= future.version %>)](../<%= future.version %>/)
|
16
16
|
<% end %>
|
@@ -1,3 +1,8 @@
|
|
1
|
+
@keyframes spin {
|
2
|
+
0% { transform: rotate(0deg); }
|
3
|
+
100% { transform: rotate(360deg); }
|
4
|
+
}
|
5
|
+
|
1
6
|
/* Rouge (https://rouge.jneen.net) */
|
2
7
|
.rouge.highlight {
|
3
8
|
--color-berry: hsl(240, 18%, 40%);
|
@@ -479,6 +484,21 @@
|
|
479
484
|
}
|
480
485
|
}
|
481
486
|
|
487
|
+
.spinner {
|
488
|
+
animation: spin 1.5s linear infinite;
|
489
|
+
border-radius: 50%;
|
490
|
+
border: 0.3rem solid var(--color-grey);
|
491
|
+
border-top: 0.3rem solid var(--color-green);
|
492
|
+
height: 1rem;
|
493
|
+
width: 1rem;
|
494
|
+
}
|
495
|
+
|
496
|
+
.fragment {
|
497
|
+
align-items: center;
|
498
|
+
display: flex;
|
499
|
+
gap: 0.5rem;
|
500
|
+
}
|
501
|
+
|
482
502
|
.toggle {
|
483
503
|
background-color: var(--color-white);
|
484
504
|
border: 0.15rem solid var(--color-smoke);
|
@@ -500,24 +520,20 @@
|
|
500
520
|
flex-direction: column;
|
501
521
|
margin: 0 12vw;
|
502
522
|
|
503
|
-
.
|
504
|
-
|
505
|
-
|
506
|
-
border-radius: 0.5rem;
|
507
|
-
display: flex;
|
508
|
-
gap: 0.5rem;
|
509
|
-
flex-direction: column;
|
510
|
-
margin: 1rem 0;
|
511
|
-
padding: 1rem;
|
523
|
+
.label {
|
524
|
+
font-weight: 600;
|
525
|
+
}
|
512
526
|
|
513
|
-
|
514
|
-
|
515
|
-
justify-content: space-between;
|
516
|
-
}
|
527
|
+
.selection {
|
528
|
+
margin: 1rem 0 0.5rem 0;
|
517
529
|
}
|
518
530
|
|
519
|
-
.
|
520
|
-
color: var(--color-
|
531
|
+
.versions {
|
532
|
+
background-color: var(--color-ice);
|
533
|
+
border-radius: 0.5rem;
|
534
|
+
border: 0.15rem solid var(--color-black);
|
535
|
+
font-size: 1rem;
|
536
|
+
padding: 0.2rem 0.5rem;
|
521
537
|
}
|
522
538
|
}
|
523
539
|
|
@@ -551,21 +567,6 @@
|
|
551
567
|
color: var(--color-white);
|
552
568
|
}
|
553
569
|
|
554
|
-
.columns {
|
555
|
-
background-color: var(--color-black);
|
556
|
-
border-top-left-radius: 0.5rem;
|
557
|
-
border-top-right-radius: 0.5rem;
|
558
|
-
color: var(--color-white);
|
559
|
-
display: grid;
|
560
|
-
grid-template: 1fr / 4.7fr 1fr 1fr 1fr 1fr 1fr;
|
561
|
-
padding: 0.3rem 0;
|
562
|
-
|
563
|
-
.label {
|
564
|
-
font-weight: 600;
|
565
|
-
text-align: center;
|
566
|
-
}
|
567
|
-
}
|
568
|
-
|
569
570
|
.header {
|
570
571
|
align-items: center;
|
571
572
|
display: grid;
|
@@ -621,7 +622,6 @@
|
|
621
622
|
}
|
622
623
|
|
623
624
|
.owner {
|
624
|
-
align-items: center;
|
625
625
|
display: flex;
|
626
626
|
gap: 0.5rem;
|
627
627
|
justify-content: center;
|
@@ -634,6 +634,27 @@
|
|
634
634
|
}
|
635
635
|
}
|
636
636
|
|
637
|
+
.columns {
|
638
|
+
background-color: var(--color-black);
|
639
|
+
border-top-left-radius: 0.5rem;
|
640
|
+
border-top-right-radius: 0.5rem;
|
641
|
+
color: var(--color-white);
|
642
|
+
display: none;
|
643
|
+
padding: 0.3rem 0;
|
644
|
+
|
645
|
+
@media (width >= 700px) {
|
646
|
+
display: grid;
|
647
|
+
grid-template: 1fr / 4.7fr repeat(5, 1fr);
|
648
|
+
}
|
649
|
+
|
650
|
+
.label {
|
651
|
+
font-weight: 600;
|
652
|
+
overflow: hidden;
|
653
|
+
texdt-overflow: ellipsis;
|
654
|
+
text-align: center;
|
655
|
+
}
|
656
|
+
}
|
657
|
+
|
637
658
|
.row {
|
638
659
|
.label {
|
639
660
|
font-weight: 600;
|
@@ -650,18 +671,22 @@
|
|
650
671
|
border-radius: 0.5rem;
|
651
672
|
display: grid;
|
652
673
|
gap: 0 1rem;
|
653
|
-
grid-template: 1fr / auto
|
674
|
+
grid-template: 1fr 1fr / auto auto auto repeat(5, 1fr);
|
675
|
+
grid-template-areas:
|
676
|
+
"toggle icon subject subject subject subject subject subject"
|
677
|
+
"toggle icon author files lines issue review review";
|
654
678
|
padding: 0.15rem 0;
|
655
679
|
margin: 0.25rem 0 0 0;
|
656
680
|
|
657
681
|
&::-webkit-details-marker {
|
658
|
-
display:none;
|
682
|
+
display: none;
|
659
683
|
}
|
660
684
|
|
661
685
|
&::before {
|
662
686
|
color: var(--color-carbon);
|
663
|
-
content: "\25B6";
|
687
|
+
content: "\25B6\FE0E";
|
664
688
|
cursor: pointer;
|
689
|
+
grid-area: toggle;
|
665
690
|
width: 0.5rem;
|
666
691
|
}
|
667
692
|
|
@@ -690,10 +715,25 @@
|
|
690
715
|
border-radius: 0.5rem;
|
691
716
|
}
|
692
717
|
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
718
|
+
@media (width >= 700px) {
|
719
|
+
grid-template: 1fr / auto auto 5fr repeat(5, 1fr);
|
720
|
+
grid-template-areas: "toggle icon subject author files lines issue review";
|
721
|
+
}
|
722
|
+
|
723
|
+
.icon {
|
724
|
+
grid-area: icon;
|
725
|
+
}
|
726
|
+
|
727
|
+
.subject {
|
728
|
+
grid-area: subject;
|
729
|
+
}
|
730
|
+
|
731
|
+
.author {
|
732
|
+
grid-area: author;
|
733
|
+
}
|
734
|
+
|
735
|
+
.files {
|
736
|
+
grid-area: files;
|
697
737
|
}
|
698
738
|
|
699
739
|
.author,
|
@@ -709,6 +749,13 @@
|
|
709
749
|
}
|
710
750
|
|
711
751
|
.lines {
|
752
|
+
grid-area: lines;
|
753
|
+
white-space: nowrap;
|
754
|
+
|
755
|
+
@media (width >= 700px) {
|
756
|
+
white-space: normal;
|
757
|
+
}
|
758
|
+
|
712
759
|
.deletions {
|
713
760
|
color: var(--color-green);
|
714
761
|
}
|
@@ -717,6 +764,14 @@
|
|
717
764
|
color: var(--color-red);
|
718
765
|
}
|
719
766
|
}
|
767
|
+
|
768
|
+
.issue {
|
769
|
+
grid-area: issue;
|
770
|
+
}
|
771
|
+
|
772
|
+
.review {
|
773
|
+
grid-area: review;
|
774
|
+
}
|
720
775
|
}
|
721
776
|
|
722
777
|
.details {
|
@@ -736,7 +791,6 @@
|
|
736
791
|
}
|
737
792
|
|
738
793
|
.tag {
|
739
|
-
align-self: stretch;
|
740
794
|
border-radius: 0.3rem;
|
741
795
|
grid-area: tag;
|
742
796
|
margin: 1rem 0;
|
@@ -13,7 +13,6 @@ module Milestoner
|
|
13
13
|
config.part_namespace = Parts
|
14
14
|
config.paths = Container[:settings].build_template_paths
|
15
15
|
config.scope_namespace = Scopes
|
16
|
-
config.scope_builder = Milestoner::Views::ScopeBuilder
|
17
16
|
config.template = "milestones/index"
|
18
17
|
|
19
18
|
expose :tags
|
@@ -13,7 +13,6 @@ module Milestoner
|
|
13
13
|
config.part_namespace = Parts
|
14
14
|
config.paths = Container[:settings].build_template_paths
|
15
15
|
config.scope_namespace = Scopes
|
16
|
-
config.scope_builder = Milestoner::Views::ScopeBuilder
|
17
16
|
config.template = "milestones/show"
|
18
17
|
|
19
18
|
expose :past, :tag, :future
|
data/milestoner.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "milestoner"
|
5
|
-
spec.version = "19.
|
5
|
+
spec.version = "19.4.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://alchemists.io/projects/milestoner"
|
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_dependency "cogger", "~> 1.0"
|
29
29
|
spec.add_dependency "containable", "~> 1.1"
|
30
30
|
spec.add_dependency "core", "~> 2.0"
|
31
|
-
spec.add_dependency "dry-monads", "~> 1.
|
31
|
+
spec.add_dependency "dry-monads", "~> 1.8"
|
32
32
|
spec.add_dependency "dry-schema", "~> 1.13"
|
33
33
|
spec.add_dependency "etcher", "~> 3.0"
|
34
34
|
spec.add_dependency "gitt", "~> 4.1"
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milestoner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 19.
|
4
|
+
version: 19.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -9,9 +9,9 @@ bindir: exe
|
|
9
9
|
cert_chain:
|
10
10
|
- |
|
11
11
|
-----BEGIN CERTIFICATE-----
|
12
|
-
|
12
|
+
MIIENjCCAp6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
|
13
13
|
a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
|
14
|
-
|
14
|
+
aW8wHhcNMjUwMzIyMTQ1NDE3WhcNMjYwMzIyMTQ1NDE3WjBBMQ8wDQYDVQQDDAZi
|
15
15
|
cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
|
16
16
|
GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
|
17
17
|
f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
|
@@ -21,20 +21,19 @@ cert_chain:
|
|
21
21
|
QzzPxZBiRB1sgtbt1gUbVI262ZDq1gR+HxPFmp+Cgt7ZLIJZAtesQvtcMzseXpfn
|
22
22
|
hpmm0Sw22KGhRAy/mqHBRhDl5HqS1SJp2Ko3lcnpXeFResp0HNlt8NSu13vhC08j
|
23
23
|
GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
|
24
|
-
Ywr1gd2ZME4QLSo+EXUtLxDUa/
|
24
|
+
Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaM5MDcw
|
25
25
|
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
|
26
|
+
F5wykJEVMA0GCSqGSIb3DQEBCwUAA4IBgQBlzRfyAYx/fCFjizS0Npxw4+4T3aYL
|
27
|
+
hbXoDqQRWjxuhFZcXUymhz3r8/Ltyri9lSof8grzB+8/+mrMVms7Gwt5qolk6zdn
|
28
|
+
FkySGy/jmpN12ldOHFbBEnyVBZNBvOBVb8zkkw8PhiHdBdXOUm4Jy39yJvBLfjcC
|
29
|
+
iM1aeWPmgPy1GbvZU+leRGZLt6dRIR9oCDXcWLRjha8xLMoz6Yn9fJBYexBA3iEz
|
30
|
+
h5S7pn4AX/JhVRiSyl8pAy4jEKydpyQrliH3gHkpNmUS/XDczP+9xX1bAB4BvqL2
|
31
|
+
NCxMcQ+hiJNqCKpPgHxaOOHZfIxV33logIuPEQ8NryHAwZ9ZWnwtYDE8kQGGKskI
|
32
|
+
Kkm6QT474hZl7MpwiJjWgW313CR7jUEekQahX1QxCxHPI7LSrKpno0plH3uWIOQp
|
33
|
+
KUlkb9uyACBgyRO52ZHiDVI8YvtU5O/j9pSes9/3XgvBeC1onx4qWp+uRX7eVsYS
|
34
|
+
GiijocTc3enZVrXERetaXj8/9XWs3fB3HWY=
|
36
35
|
-----END CERTIFICATE-----
|
37
|
-
date:
|
36
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
38
37
|
dependencies:
|
39
38
|
- !ruby/object:Gem::Dependency
|
40
39
|
name: asciidoctor
|
@@ -112,14 +111,14 @@ dependencies:
|
|
112
111
|
requirements:
|
113
112
|
- - "~>"
|
114
113
|
- !ruby/object:Gem::Version
|
115
|
-
version: '1.
|
114
|
+
version: '1.8'
|
116
115
|
type: :runtime
|
117
116
|
prerelease: false
|
118
117
|
version_requirements: !ruby/object:Gem::Requirement
|
119
118
|
requirements:
|
120
119
|
- - "~>"
|
121
120
|
- !ruby/object:Gem::Version
|
122
|
-
version: '1.
|
121
|
+
version: '1.8'
|
123
122
|
- !ruby/object:Gem::Dependency
|
124
123
|
name: dry-schema
|
125
124
|
requirement: !ruby/object:Gem::Requirement
|
@@ -364,8 +363,8 @@ executables:
|
|
364
363
|
- milestoner
|
365
364
|
extensions: []
|
366
365
|
extra_rdoc_files:
|
367
|
-
- README.adoc
|
368
366
|
- LICENSE.adoc
|
367
|
+
- README.adoc
|
369
368
|
files:
|
370
369
|
- LICENSE.adoc
|
371
370
|
- README.adoc
|
@@ -524,7 +523,6 @@ files:
|
|
524
523
|
- lib/milestoner/views/parts/commit.rb
|
525
524
|
- lib/milestoner/views/parts/tag.rb
|
526
525
|
- lib/milestoner/views/parts/user.rb
|
527
|
-
- lib/milestoner/views/scope_builder.rb
|
528
526
|
- lib/milestoner/views/scopes/content.rb
|
529
527
|
- lib/milestoner/views/scopes/logo.rb
|
530
528
|
- lib/milestoner/views/scopes/tag_signature.rb
|
@@ -555,7 +553,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
555
553
|
- !ruby/object:Gem::Version
|
556
554
|
version: '0'
|
557
555
|
requirements: []
|
558
|
-
rubygems_version: 3.6.
|
556
|
+
rubygems_version: 3.6.7
|
559
557
|
specification_version: 4
|
560
558
|
summary: A command line interface for automated Git repository milestones.
|
561
559
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "hanami/view"
|
4
|
-
|
5
|
-
module Milestoner
|
6
|
-
module Views
|
7
|
-
# A scope builder which is meant to replace and fix the default scope builder.
|
8
|
-
module ScopeBuilder
|
9
|
-
def self.call name = nil, locals:, rendering:
|
10
|
-
scope_for(name, rendering).new name:, locals:, rendering:
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.scope_for name, rendering
|
14
|
-
case name
|
15
|
-
in nil then rendering.config.scope_class
|
16
|
-
in Class then name
|
17
|
-
else fetch_or_store name, rendering
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.fetch_or_store name, rendering
|
22
|
-
config = rendering.config
|
23
|
-
|
24
|
-
Hanami::View.cache.fetch_or_store name, config do
|
25
|
-
constant = constant_for name, rendering
|
26
|
-
constant && constant < Hanami::View::Scope ? constant : config.scope_class
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def self.constant_for name, rendering
|
31
|
-
name = rendering.inflector.camelize name.to_s
|
32
|
-
namespace = rendering.config.scope_namespace || Object
|
33
|
-
|
34
|
-
namespace.const_get name if namespace.const_defined? name, false
|
35
|
-
end
|
36
|
-
|
37
|
-
private_class_method :scope_for, :fetch_or_store, :constant_for
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|