gitt 1.1.1 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +78 -17
- data/gitt.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: 67fb49f7ebd543d63e48b98ecb8f029d8e7f0c2b432658a183832601b5cb215e
|
4
|
+
data.tar.gz: 4965f486ade08bbd43377aaac03ecab487dddfaac6fb87d8f371298562e7162a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8fbbb7d74f006bb38459dbd2945e5aa7df742940dda9956ea0fe3dac2d264ec4180e082714df8af6e4cfa85bcc92077381e5902893d10b3283cd94b18a7fccf
|
7
|
+
data.tar.gz: 25c53ca9387f38f8a77fd51572174024a0df6272bb8ddffad0686c819defeaca223dec2479a2381e16c92fcc3e23d137793801e55918ef0684fbcb61cbf739e0
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -3,17 +3,18 @@
|
|
3
3
|
:figure-caption!:
|
4
4
|
|
5
5
|
:git_link: link:https://git-scm.com[Git]
|
6
|
-
:
|
6
|
+
:rspec_link: link:https://rspec.info[RSpec]
|
7
|
+
:struct_link: link:https://alchemists.io/articles/ruby_structs[Struct]
|
7
8
|
|
8
9
|
= Gitt
|
9
10
|
|
10
11
|
Provides a monadic Object API to the {git_link} CLI. This project is also an extraction of work originally implemented within the following projects:
|
11
12
|
|
12
|
-
* link:https://
|
13
|
-
* link:https://
|
14
|
-
* link:https://
|
13
|
+
* link:https://alchemists.io/projects/git-lint[Git Lint]
|
14
|
+
* link:https://alchemists.io/projects/milestoner[Milestoner]
|
15
|
+
* link:https://alchemists.io/projects/rubysmith[Rubysmith]
|
15
16
|
|
16
|
-
If you are looking for alternatives
|
17
|
+
This project doesn't try to encompass the vast feature set natively provided by {git_link} but only exposes the most used features, limited as this may be. Over time, more of the {git_link} feature set will be implemented but it'll most likely happen slowly and organically. If you are looking for alternatives to this gem, then you might find the following of interest:
|
17
18
|
|
18
19
|
* link:https://github.com/ruby-git/ruby-git[Ruby Git]
|
19
20
|
* link:https://github.com/libgit2/rugged[Rugged]
|
@@ -22,8 +23,9 @@ toc::[]
|
|
22
23
|
|
23
24
|
== Features
|
24
25
|
|
25
|
-
* Wraps
|
26
|
-
* Answers link:https://dry-rb.org/gems/dry-monads[monads]
|
26
|
+
* Wraps a subset of native {git_link} commands with additional enhancements to improve your working experience.
|
27
|
+
* Answers link:https://dry-rb.org/gems/dry-monads[monads] you can pipe together -- or link:https://alchemists.io/projects/transactable[transact] -- for more powerful and complex workflows.
|
28
|
+
* Provides _optional_ {rspec_link} shared contexts that speed up the testing of your own Git related implementations.
|
27
29
|
|
28
30
|
== Requirements
|
29
31
|
|
@@ -61,7 +63,7 @@ git.set # Equivalent to `get config set`.
|
|
61
63
|
git.tag # Equivalent to `git tag <arguments>`.
|
62
64
|
git.tag? # Answers if local or remote tag exists.
|
63
65
|
git.tag_create # Create a new tag.
|
64
|
-
git.tag_last #
|
66
|
+
git.tag_last # Answers last tag created.
|
65
67
|
git.tag_local? # Answers if local tag exists?
|
66
68
|
git.tag_parse # Parses and answers a tag record.
|
67
69
|
git.tag_remote? # Answers if remote tag exists?
|
@@ -73,7 +75,7 @@ git.uncommitted # Parses a file and answers an unsaved commit message.
|
|
73
75
|
=== Commands
|
74
76
|
|
75
77
|
Should you want to use individual commands instead of interacting with the `Repository` object, you
|
76
|
-
can leverage any of the objects in the `Commands` namespace which -- at a minimum -- use the link:https://
|
78
|
+
can leverage any of the objects in the `Commands` namespace which -- at a minimum -- use the link:https://alchemists.io/articles/interactor_pattern[Command Pattern]. Here are the _select_ commands which are enhanced further:
|
77
79
|
|
78
80
|
==== link:https://git-scm.com/docs/git-branch[Branch]
|
79
81
|
|
@@ -254,6 +256,65 @@ The attributes break down as follows:
|
|
254
256
|
* `space`: Answers either a space or an empty string with the former being invalid.
|
255
257
|
* `value`: Answers the value associated with the key.
|
256
258
|
|
259
|
+
=== RSpec
|
260
|
+
|
261
|
+
For fans of {rspec_link}, this gem provides shared contexts you can use within your own test suites. These shared contexts are _optional_ and must be manually required to use.
|
262
|
+
|
263
|
+
==== Git Commit
|
264
|
+
|
265
|
+
Provides a default `git_commit` record of `Gitt::Commits::Model` with minimal information for testing purposes and can be used as follows:
|
266
|
+
|
267
|
+
[source,ruby]
|
268
|
+
----
|
269
|
+
require "gitt/shared_contexts/git_commit"
|
270
|
+
|
271
|
+
describe Demo do
|
272
|
+
include_context "with Git commit"
|
273
|
+
end
|
274
|
+
----
|
275
|
+
|
276
|
+
==== Git Repository
|
277
|
+
|
278
|
+
Provides a simple Git repository with a single commit for testing purposes. This repository is set up and torn down _around_ each spec. The repository is built within your project's `tmp` directory and provides a `git_repo_dir` pathname you can interact with. Here's how to use it:
|
279
|
+
|
280
|
+
[source,ruby]
|
281
|
+
----
|
282
|
+
require "gitt/shared_contexts/git_repo"
|
283
|
+
require "refinemenets/pathnames"
|
284
|
+
|
285
|
+
describe Demo do
|
286
|
+
include_context "with Git repository"
|
287
|
+
|
288
|
+
using Refinements::Pathnames
|
289
|
+
|
290
|
+
it "is a demo" do
|
291
|
+
git_repo_dir.change_dir { # Your expectation goes here. }
|
292
|
+
end
|
293
|
+
end
|
294
|
+
----
|
295
|
+
|
296
|
+
==== Temporary Directory
|
297
|
+
|
298
|
+
Provides a temporary directory (i.e. `tmp/rspec`) for creating directories and or files you want set up and torn down _around_ each spec. Access to the `temp_dir` pathname is also provided for you. Here's how to use it:
|
299
|
+
|
300
|
+
[source,ruby]
|
301
|
+
----
|
302
|
+
require "gitt/shared_contexts/temp_dir"
|
303
|
+
require "refinemenets/pathnames"
|
304
|
+
|
305
|
+
describe Demo do
|
306
|
+
include_context "with temporary directory"
|
307
|
+
|
308
|
+
using Refinements::Pathnames
|
309
|
+
|
310
|
+
it "is a demo" do
|
311
|
+
temp_dir.change_dir { # Your expectation goes here. }
|
312
|
+
end
|
313
|
+
end
|
314
|
+
----
|
315
|
+
|
316
|
+
💡 The Git Repository shared context -- mentioned above -- includes this shared context by default so you don't have to manually include this shared context when using the Git Repository shared context.
|
317
|
+
|
257
318
|
== Development
|
258
319
|
|
259
320
|
To contribute, run:
|
@@ -281,19 +342,19 @@ To test, run:
|
|
281
342
|
bin/rake
|
282
343
|
----
|
283
344
|
|
284
|
-
== link:https://
|
345
|
+
== link:https://alchemists.io/policies/license[License]
|
285
346
|
|
286
|
-
== link:https://
|
347
|
+
== link:https://alchemists.io/policies/security[Security]
|
287
348
|
|
288
|
-
== link:https://
|
349
|
+
== link:https://alchemists.io/policies/code_of_conduct[Code of Conduct]
|
289
350
|
|
290
|
-
== link:https://
|
351
|
+
== link:https://alchemists.io/policies/contributions[Contributions]
|
291
352
|
|
292
|
-
== link:https://
|
353
|
+
== link:https://alchemists.io/projects/gitt/versions[Versions]
|
293
354
|
|
294
|
-
== link:https://
|
355
|
+
== link:https://alchemists.io/community[Community]
|
295
356
|
|
296
357
|
== Credits
|
297
358
|
|
298
|
-
* Built with link:https://
|
299
|
-
* Engineered by link:https://
|
359
|
+
* Built with link:https://alchemists.io/projects/gemsmith[Gemsmith].
|
360
|
+
* Engineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
|
data/gitt.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "gitt"
|
5
|
-
spec.version = "1.1.
|
5
|
+
spec.version = "1.1.3"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
|
-
spec.homepage = "https://
|
8
|
+
spec.homepage = "https://alchemists.io/projects/gitt"
|
9
9
|
spec.summary = "Provides a monadic Object API wrapper around the Git CLI."
|
10
10
|
spec.license = "Hippocratic-2.1"
|
11
11
|
|
12
12
|
spec.metadata = {
|
13
13
|
"bug_tracker_uri" => "https://github.com/bkuhlmann/gitt/issues",
|
14
|
-
"changelog_uri" => "https://
|
15
|
-
"documentation_uri" => "https://
|
14
|
+
"changelog_uri" => "https://alchemists.io/projects/gitt/versions",
|
15
|
+
"documentation_uri" => "https://alchemists.io/projects/gitt",
|
16
16
|
"funding_uri" => "https://github.com/sponsors/bkuhlmann",
|
17
17
|
"label" => "Gitt",
|
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: gitt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
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-30 00:00:00.000000000 Z
|
32
39
|
dependencies:
|
33
40
|
- !ruby/object:Gem::Dependency
|
34
41
|
name: core
|
@@ -125,13 +132,13 @@ files:
|
|
125
132
|
- lib/gitt/shared_contexts/git_repo.rb
|
126
133
|
- lib/gitt/shared_contexts/temp_dir.rb
|
127
134
|
- lib/gitt/shell.rb
|
128
|
-
homepage: https://
|
135
|
+
homepage: https://alchemists.io/projects/gitt
|
129
136
|
licenses:
|
130
137
|
- Hippocratic-2.1
|
131
138
|
metadata:
|
132
139
|
bug_tracker_uri: https://github.com/bkuhlmann/gitt/issues
|
133
|
-
changelog_uri: https://
|
134
|
-
documentation_uri: https://
|
140
|
+
changelog_uri: https://alchemists.io/projects/gitt/versions
|
141
|
+
documentation_uri: https://alchemists.io/projects/gitt
|
135
142
|
funding_uri: https://github.com/sponsors/bkuhlmann
|
136
143
|
label: Gitt
|
137
144
|
rubygems_mfa_required: 'true'
|
@@ -151,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
158
|
- !ruby/object:Gem::Version
|
152
159
|
version: '0'
|
153
160
|
requirements: []
|
154
|
-
rubygems_version: 3.4.
|
161
|
+
rubygems_version: 3.4.12
|
155
162
|
signing_key:
|
156
163
|
specification_version: 4
|
157
164
|
summary: Provides a monadic Object API wrapper around the Git CLI.
|
metadata.gz.sig
CHANGED
Binary file
|