gitt 1.0.0 → 1.1.1

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: '0299e137ff3816d95cdc4a92ccc4af9a47bacb19756e49ce4c3ad046d7dfe701'
4
- data.tar.gz: 39829d79861e88f5e6d7af24f34202d518dbbc8faffe212503e340766a891342
3
+ metadata.gz: 355af33d53785042a41cebfff2988d6fc2bb5150de230c435ec67d6094945bbb
4
+ data.tar.gz: 93e27181cda7aca4adb2c640670ca7e2edf0a9cf6bb38e30826a76d22b27b6af
5
5
  SHA512:
6
- metadata.gz: 932f1cd9202c325642f1e829ec7a7baffe5d3d1d364db1f7c3e807f0f4081998dbe0f0e9413d97d87241646595ed838cb72738164c89391be439ad83f1b647d2
7
- data.tar.gz: f00e865926dbc62c1776fb6ecdbf62e31037b20259964c7c27985642d6693da1f7c16d0457be1ff605d7c51e2c0db3699b9c44626e95b1b334736a4370ffe9ff
6
+ metadata.gz: e65a21b3739fc262128a04fa96edaa9540630e267e693521873cce0fa23096b9a9acd93067c822af7cc25045f69030feed4621d38624ad24ef4348e9085c8a2e
7
+ data.tar.gz: 578a0c2b5e75aa1470f8a2bc8fe48e225c849fc1d82ee3857f0a0699dc95f0e8077b7dc3fead263fc52f50705b544a801abcd28be7905482bf4519268f538905
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -278,7 +278,7 @@ To test, run:
278
278
 
279
279
  [source,bash]
280
280
  ----
281
- bundle exec rake
281
+ bin/rake
282
282
  ----
283
283
 
284
284
  == link:https://www.alchemists.io/policies/license[License]
data/gitt.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "gitt"
5
- spec.version = "1.0.0"
5
+ spec.version = "1.1.1"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://www.alchemists.io/projects/gitt"
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
25
  spec.required_ruby_version = "~> 3.2"
26
+ spec.add_dependency "core", "~> 0.1"
26
27
  spec.add_dependency "dry-monads", "~> 1.6"
27
28
  spec.add_dependency "refinements", "~> 10.0"
28
29
  spec.add_dependency "zeitwerk", "~> 2.6"
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "dry/monads"
4
5
 
5
6
  module Gitt
@@ -14,14 +15,14 @@ module Gitt
14
15
 
15
16
  def call(*arguments) = shell.call "config", *arguments
16
17
 
17
- def get key, fallback = "", *arguments
18
+ def get key, fallback = Core::EMPTY_STRING, *arguments
18
19
  call(*arguments, "--get", key).fmap(&:chomp)
19
20
  .or do |error|
20
21
  block_given? ? yield(error) : Success(fallback)
21
22
  end
22
23
  end
23
24
 
24
- def origin? = !get("remote.origin.url").value_or(EMPTY_STRING).empty?
25
+ def origin? = !get("remote.origin.url").value_or(Core::EMPTY_STRING).empty?
25
26
 
26
27
  def set(key, value, *arguments) = call(*arguments, "--add", key, value).fmap { value }
27
28
 
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "dry/monads"
4
5
  require "tempfile"
5
6
 
@@ -32,7 +33,7 @@ module Gitt
32
33
 
33
34
  def call(*arguments) = shell.call "tag", *arguments
34
35
 
35
- def create version, body = EMPTY_STRING, *flags
36
+ def create version, body = Core::EMPTY_STRING, *flags
36
37
  return Failure "Unable to create Git tag without version." unless version
37
38
  return Failure "Tag exists: #{version}." if exist? version
38
39
 
@@ -57,13 +58,15 @@ module Gitt
57
58
  .or { |error| Failure error.delete_prefix("fatal: ").chomp }
58
59
  end
59
60
 
60
- def local?(version) = call("--list", version).value_or(EMPTY_STRING).match?(/\A#{version}\Z/)
61
+ def local? version
62
+ call("--list", version).value_or(Core::EMPTY_STRING).match?(/\A#{version}\Z/)
63
+ end
61
64
 
62
65
  def push = shell.call "push", "--tags"
63
66
 
64
67
  def remote? version
65
68
  shell.call("ls-remote", "--tags", "origin", version)
66
- .value_or(EMPTY_STRING)
69
+ .value_or(Core::EMPTY_STRING)
67
70
  .match?(%r(.+tags/#{version}\Z))
68
71
  end
69
72
 
@@ -71,7 +74,7 @@ module Gitt
71
74
  call(pretty_format, "--list", version).fmap { |content| parser.call content }
72
75
  end
73
76
 
74
- def tagged? = !call.value_or(EMPTY_STRING).empty?
77
+ def tagged? = !call.value_or(Core::EMPTY_STRING).empty?
75
78
 
76
79
  private
77
80
 
@@ -1,12 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
4
+
3
5
  module Gitt
4
6
  module Parsers
5
7
  # Extracts attributes from XML formatted content.
6
8
  class Attributer
7
9
  def self.with(...) = new(...)
8
10
 
9
- def initialize keys = []
11
+ def initialize keys = Core::EMPTY_ARRAY
10
12
  @keys = keys
11
13
  end
12
14
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
4
+
3
5
  module Gitt
4
6
  # Primary object/wrapper for processing all Git related commands.
5
7
  # :reek:TooManyMethods
@@ -28,7 +30,7 @@ module Gitt
28
30
 
29
31
  def config(...) = commands.fetch(__method__).call(...)
30
32
 
31
- def exist? = shell.call("rev-parse", "--git-dir").value_or(EMPTY_STRING).chomp == ".git"
33
+ def exist? = shell.call("rev-parse", "--git-dir").value_or(Core::EMPTY_STRING).chomp == ".git"
32
34
 
33
35
  def get(...) = commands.fetch(:config).get(...)
34
36
 
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
4
+
3
5
  module Gitt
4
6
  module Sanitizers
5
- Lines = -> value { value ? value.split("\n") : EMPTY_ARRAY }
7
+ Lines = -> value { value ? value.split("\n") : Core::EMPTY_ARRAY }
6
8
  end
7
9
  end
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
4
+
3
5
  module Gitt
4
6
  module Sanitizers
5
- Paragraphs = -> value { value ? value.split("\n\n").map(&:chomp) : EMPTY_ARRAY }
7
+ Paragraphs = -> value { value ? value.split("\n\n").map(&:chomp) : Core::EMPTY_ARRAY }
6
8
  end
7
9
  end
data/lib/gitt.rb CHANGED
@@ -10,7 +10,5 @@ end
10
10
 
11
11
  # Main namespace.
12
12
  module Gitt
13
- EMPTY_STRING = ""
14
- EMPTY_ARRAY = [].freeze
15
13
  SHELL = Shell.new.freeze
16
14
  end
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.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,8 +28,22 @@ cert_chain:
28
28
  CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
29
  RFE=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-12-25 00:00:00.000000000 Z
31
+ date: 2023-02-05 00:00:00.000000000 Z
32
32
  dependencies:
33
+ - !ruby/object:Gem::Dependency
34
+ name: core
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.1'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.1'
33
47
  - !ruby/object:Gem::Dependency
34
48
  name: dry-monads
35
49
  requirement: !ruby/object:Gem::Requirement
@@ -137,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
139
153
  requirements: []
140
- rubygems_version: 3.4.1
154
+ rubygems_version: 3.4.6
141
155
  signing_key:
142
156
  specification_version: 4
143
157
  summary: Provides a monadic Object API wrapper around the Git CLI.
metadata.gz.sig CHANGED
Binary file