spek 1.0.1 → 1.1.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 +55 -17
- data/lib/spek/presenter.rb +6 -4
- data/spek.gemspec +4 -4
- data.tar.gz.sig +0 -0
- metadata +30 -23
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b5d6d86a874f194f11de1408c57154289d07cd0f2f513aa7d278f3c29423fc75
|
|
4
|
+
data.tar.gz: 3580affeff063da8346709d3eeec1c4ddc1ec0d800e685646a343befc636b830
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4d5a7ed6ba4f28bcc302ecb403c8546ef8891b3060df12b55e60a8cc9ffb4f8b86840d868d4f795c52dde6b038d6f932eb453d0d175e3bb7dac4d8bed902265b
|
|
7
|
+
data.tar.gz: aea7398514bf1f7cae4bee7a5b9e1f853858bccd12a257d3804b02aad601066b90ba3ed83f4e09c4cd6d0235d54d4bea964ee31d2d38aafe62088e1a7b04969e
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/README.adoc
CHANGED
|
@@ -17,7 +17,7 @@ toc::[]
|
|
|
17
17
|
* Supports loading gems by path to specification.
|
|
18
18
|
* Supports picking gems by name with optional version selection.
|
|
19
19
|
* Supports link:https://semver.org[semantic versions] via
|
|
20
|
-
link:https://
|
|
20
|
+
link:https://alchemists.io/projects/versionaire[Versionaire].
|
|
21
21
|
|
|
22
22
|
== Requirements
|
|
23
23
|
|
|
@@ -35,25 +35,63 @@ bin/setup
|
|
|
35
35
|
== Usage
|
|
36
36
|
|
|
37
37
|
This gem makes interacting with Ruby gems easier by providing foundational objects for which you can
|
|
38
|
-
built on top of. link:https://
|
|
38
|
+
built on top of. link:https://alchemists.io/projects/gemsmith[Gemsmith] is built on top of this
|
|
39
39
|
gem if you need working example.
|
|
40
40
|
|
|
41
41
|
=== Presenter
|
|
42
42
|
|
|
43
|
-
This object wraps
|
|
44
|
-
|
|
45
|
-
instance via the following code:
|
|
43
|
+
This object wraps the `Gem::Specification` for presentation purposes, provides semantic versioning, direct access to metadata information, pathnames, and other enriched information. You can obtain an
|
|
44
|
+
instance using the following code, for example:
|
|
46
45
|
|
|
47
46
|
[source,ruby]
|
|
48
47
|
----
|
|
49
48
|
specification = Gem::Specification.new do |spec|
|
|
50
|
-
spec.name = "
|
|
49
|
+
spec.name = "demo"
|
|
51
50
|
spec.version = "0.0.0"
|
|
52
|
-
spec.authors = "Jill Smith"
|
|
53
|
-
spec.
|
|
51
|
+
spec.authors = ["Jill Smith"]
|
|
52
|
+
spec.email = ["demo@alchemists.io"]
|
|
53
|
+
spec.homepage = "https://alchemists.io/projects/demo"
|
|
54
|
+
spec.summary = "A demo summary."
|
|
55
|
+
spec.license = "Hippocratic-2.1"
|
|
56
|
+
|
|
57
|
+
spec.signing_key = Gem.default_key_path
|
|
58
|
+
spec.cert_chain = [Gem.default_cert_path]
|
|
59
|
+
|
|
60
|
+
spec.metadata = {
|
|
61
|
+
"bug_tracker_uri" => "https://github.com/bkuhlmann/demo/issues",
|
|
62
|
+
"changelog_uri" => "https://alchemists.io/projects/demo/versions",
|
|
63
|
+
"documentation_uri" => "https://alchemists.io/projects/demo",
|
|
64
|
+
"funding_uri" => "https://github.com/sponsors/bkuhlmann",
|
|
65
|
+
"label" => "Demo",
|
|
66
|
+
"rubygems_mfa_required" => "true",
|
|
67
|
+
"source_code_uri" => "https://github.com/bkuhlmann/demo"
|
|
68
|
+
}
|
|
54
69
|
end
|
|
55
70
|
|
|
56
71
|
presenter = Spek::Presenter.new specification
|
|
72
|
+
|
|
73
|
+
presenter.allowed_push_host # "https://rubygems.org"
|
|
74
|
+
presenter.allowed_push_key # "rubygems_api_key"
|
|
75
|
+
presenter.authors # ["Jill Smith"]
|
|
76
|
+
presenter.banner # "Demo 0.0.0: A demo summary."
|
|
77
|
+
presenter.certificate_chain # [#<Pathname:~/.gem/gem-public_cert.pem>]
|
|
78
|
+
presenter.documentation_url # "https://alchemists.io/projects/demo"
|
|
79
|
+
presenter.emails # ["demo@alchemists.io"]
|
|
80
|
+
presenter.funding_url # "https://github.com/sponsors/bkuhlmann"
|
|
81
|
+
presenter.homepage_url # "https://alchemists.io/projects/demo"
|
|
82
|
+
presenter.issues_url # "https://github.com/bkuhlmann/demo/issues"
|
|
83
|
+
presenter.label # "Demo"
|
|
84
|
+
presenter.labeled_summary # "Demo: A demo summary."
|
|
85
|
+
presenter.labeled_version # "Demo 0.0.0"
|
|
86
|
+
presenter.named_version # "demo 0.0.0"
|
|
87
|
+
presenter.package_name # "demo-0.0.0.gem"
|
|
88
|
+
presenter.package_path # #<Pathname:tmp/demo-0.0.0.gem>
|
|
89
|
+
presenter.rubygems_mfa? # true
|
|
90
|
+
presenter.signing_key # #<Pathname:~/.gem/gem-private_key.pem>
|
|
91
|
+
presenter.source_path # #<Pathname:~/.cache/.../3.2.0/gems/demo-0.0.0>
|
|
92
|
+
presenter.source_url # "https://github.com/bkuhlmann/demo"
|
|
93
|
+
presenter.version # #<struct Versionaire::Version major=0, minor=0, patch=0>
|
|
94
|
+
presenter.versions_url # "https://alchemists.io/projects/demo/versions"
|
|
57
95
|
----
|
|
58
96
|
|
|
59
97
|
The presenter is a read-only object so you'll only have access to _getter_ methods which are mostly
|
|
@@ -99,7 +137,7 @@ end
|
|
|
99
137
|
----
|
|
100
138
|
|
|
101
139
|
The picker always answers a link:https://dry-rb.org/gems/dry-monads[monad] so you can quickly
|
|
102
|
-
pattern match for further action.
|
|
140
|
+
link:https://alchemists.io/articles/ruby_pattern_matching[pattern match] for further action.
|
|
103
141
|
|
|
104
142
|
=== Versioner
|
|
105
143
|
|
|
@@ -141,19 +179,19 @@ To test, run:
|
|
|
141
179
|
bin/rake
|
|
142
180
|
----
|
|
143
181
|
|
|
144
|
-
== link:https://
|
|
182
|
+
== link:https://alchemists.io/policies/license[License]
|
|
145
183
|
|
|
146
|
-
== link:https://
|
|
184
|
+
== link:https://alchemists.io/policies/security[Security]
|
|
147
185
|
|
|
148
|
-
== link:https://
|
|
186
|
+
== link:https://alchemists.io/policies/code_of_conduct[Code of Conduct]
|
|
149
187
|
|
|
150
|
-
== link:https://
|
|
188
|
+
== link:https://alchemists.io/policies/contributions[Contributions]
|
|
151
189
|
|
|
152
|
-
== link:https://
|
|
190
|
+
== link:https://alchemists.io/projects/spek/versions[Versions]
|
|
153
191
|
|
|
154
|
-
== link:https://
|
|
192
|
+
== link:https://alchemists.io/community[Community]
|
|
155
193
|
|
|
156
194
|
== Credits
|
|
157
195
|
|
|
158
|
-
* Built with link:https://
|
|
159
|
-
* Engineered by link:https://
|
|
196
|
+
* Built with link:https://alchemists.io/projects/gemsmith[Gemsmith].
|
|
197
|
+
* Engineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
|
data/lib/spek/presenter.rb
CHANGED
|
@@ -45,6 +45,8 @@ module Spek
|
|
|
45
45
|
|
|
46
46
|
def authors = Array record.author
|
|
47
47
|
|
|
48
|
+
def banner(delimiter: ": ") = [labeled_version, summary].tap(&:compress!).join delimiter
|
|
49
|
+
|
|
48
50
|
def certificate_chain = Array(record.cert_chain).map { |path| Pathname path.to_s }
|
|
49
51
|
|
|
50
52
|
def documentation_url = metadata.fetch "documentation_uri", ""
|
|
@@ -59,13 +61,13 @@ module Spek
|
|
|
59
61
|
|
|
60
62
|
def label = metadata.fetch "label", "Undefined"
|
|
61
63
|
|
|
62
|
-
def labeled_summary(delimiter: "
|
|
64
|
+
def labeled_summary(delimiter: ": ") = [label, summary].tap(&:compress!).join delimiter
|
|
63
65
|
|
|
64
|
-
def labeled_version = [label, version].compress.join " "
|
|
66
|
+
def labeled_version = [label, version].tap(&:compress!).join " "
|
|
65
67
|
|
|
66
|
-
def named_version = [name, version].compress.join " "
|
|
68
|
+
def named_version = [name, version].tap(&:compress!).join " "
|
|
67
69
|
|
|
68
|
-
def package_name = %(#{[name, version].compress.join "-"}.gem)
|
|
70
|
+
def package_name = %(#{[name, version].tap(&:compress!).join "-"}.gem)
|
|
69
71
|
|
|
70
72
|
def package_path = Pathname("tmp").join package_name
|
|
71
73
|
|
data/spek.gemspec
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = "spek"
|
|
5
|
-
spec.version = "1.0
|
|
5
|
+
spec.version = "1.1.0"
|
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
|
8
|
-
spec.homepage = "https://
|
|
8
|
+
spec.homepage = "https://alchemists.io/projects/spek"
|
|
9
9
|
spec.summary = "Enhances gem specifications with additional information and tooling."
|
|
10
10
|
spec.license = "Hippocratic-2.1"
|
|
11
11
|
|
|
12
12
|
spec.metadata = {
|
|
13
13
|
"bug_tracker_uri" => "https://github.com/bkuhlmann/spek/issues",
|
|
14
|
-
"changelog_uri" => "https://
|
|
15
|
-
"documentation_uri" => "https://
|
|
14
|
+
"changelog_uri" => "https://alchemists.io/projects/spek/versions",
|
|
15
|
+
"documentation_uri" => "https://alchemists.io/projects/spek",
|
|
16
16
|
"funding_uri" => "https://github.com/sponsors/bkuhlmann",
|
|
17
17
|
"label" => "Spek",
|
|
18
18
|
"rubygems_mfa_required" => "true",
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spek
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brooke Kuhlmann
|
|
@@ -10,25 +10,32 @@ bindir: bin
|
|
|
10
10
|
cert_chain:
|
|
11
11
|
- |
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
13
|
+
MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
|
|
14
|
+
a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
|
|
15
|
+
aW8wHhcNMjMwMzIyMTYxNDQxWhcNMjUwMzIxMTYxNDQxWjBBMQ8wDQYDVQQDDAZi
|
|
16
|
+
cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
|
|
17
|
+
GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
|
|
18
|
+
f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
|
|
19
|
+
M+7QOQ4b1xNLTvY7FYQB1wGK5a4x7TTokDrPYQxDB2jmsdDYCzVbIMrAvUfcecRi
|
|
20
|
+
khyGZCdByiiCl4fKv77P12tTT+NfsvXkLt/AYCGwjOUyGKTQ01Z6eC09T27GayPH
|
|
21
|
+
QQvIkakyFgcJtzSyGzs8bzK5q9u7wQ12MNTjJoXzW69lqp0oNvDylu81EiSUb5S6
|
|
22
|
+
QzzPxZBiRB1sgtbt1gUbVI262ZDq1gR+HxPFmp+Cgt7ZLIJZAtesQvtcMzseXpfn
|
|
23
|
+
hpmm0Sw22KGhRAy/mqHBRhDl5HqS1SJp2Ko3lcnpXeFResp0HNlt8NSu13vhC08j
|
|
24
|
+
GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
|
|
25
|
+
Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaN7MHkw
|
|
26
|
+
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
|
|
27
|
+
F5wykJEVMB8GA1UdEQQYMBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMB8GA1UdEgQY
|
|
28
|
+
MBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMA0GCSqGSIb3DQEBCwUAA4IBgQAX+EGY
|
|
29
|
+
9RLYGxF1VLZz+G1ACQc4uyrCB6kXwI06kzUa5dF9tPXqTX9ffnz3/W8ck2IQhKzu
|
|
30
|
+
MKO2FVijzbDWTsZeZGglS4E+4Jxpau1lU9HhOIcKolv6LeC6UdALTFudY+GLb8Xw
|
|
31
|
+
REXgaJkjzzhkUSILmEnRwEbY08dVSl7ZAaxVI679vfI2yapLlIwpbBgmQTiTvPr3
|
|
32
|
+
qyyLUno9flYEOv9fmGHunSrM+gE0/0niGTXa5GgXBXYGS2he4LQGgSBfGp/cTwMU
|
|
33
|
+
rDKJRcusZ12lNBeDfgqACz/BBJF8FLodgk6rGMRZz7+ZmjjHEmpG5bQpR6Q2BuWL
|
|
34
|
+
XMtYk/QzaWuhiR7pWjiF8jbdd7RO6or0ohq7iFkokz/5xrtQ/vPzU2RQ3Qc6YaKw
|
|
35
|
+
3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
|
|
36
|
+
gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
|
|
30
37
|
-----END CERTIFICATE-----
|
|
31
|
-
date: 2023-
|
|
38
|
+
date: 2023-04-18 00:00:00.000000000 Z
|
|
32
39
|
dependencies:
|
|
33
40
|
- !ruby/object:Gem::Dependency
|
|
34
41
|
name: dry-monads
|
|
@@ -104,13 +111,13 @@ files:
|
|
|
104
111
|
- lib/spek/presenter.rb
|
|
105
112
|
- lib/spek/versioner.rb
|
|
106
113
|
- spek.gemspec
|
|
107
|
-
homepage: https://
|
|
114
|
+
homepage: https://alchemists.io/projects/spek
|
|
108
115
|
licenses:
|
|
109
116
|
- Hippocratic-2.1
|
|
110
117
|
metadata:
|
|
111
118
|
bug_tracker_uri: https://github.com/bkuhlmann/spek/issues
|
|
112
|
-
changelog_uri: https://
|
|
113
|
-
documentation_uri: https://
|
|
119
|
+
changelog_uri: https://alchemists.io/projects/spek/versions
|
|
120
|
+
documentation_uri: https://alchemists.io/projects/spek
|
|
114
121
|
funding_uri: https://github.com/sponsors/bkuhlmann
|
|
115
122
|
label: Spek
|
|
116
123
|
rubygems_mfa_required: 'true'
|
|
@@ -130,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
130
137
|
- !ruby/object:Gem::Version
|
|
131
138
|
version: '0'
|
|
132
139
|
requirements: []
|
|
133
|
-
rubygems_version: 3.4.
|
|
140
|
+
rubygems_version: 3.4.12
|
|
134
141
|
signing_key:
|
|
135
142
|
specification_version: 4
|
|
136
143
|
summary: Enhances gem specifications with additional information and tooling.
|
metadata.gz.sig
CHANGED
|
Binary file
|