amyf 0.2.0 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06a8535163e2016b9ccfa2669ff2b424c5ce1c52f3180a80bdda673c5c7b3744
4
- data.tar.gz: 0bd48d7cec14acf97dcaae34ffe202aaf5869d8a3b4b60ded9db816cb5094f83
3
+ metadata.gz: 47fc48d7036d8947f83ac05f431bc5f54b817bee4f5f7e777aeb94bd1c5163f2
4
+ data.tar.gz: 0dbf5cc99c6169ac6a7f47274e641f6c0da669e644c34b03602f5e5b27d30dff
5
5
  SHA512:
6
- metadata.gz: 2e2cdda31fa1f1531dff35fbcfc6a4f4f6a1db34fc05661926f0b1dc10e43490ea2a7d37b3ccfd2af19fb0d2139cca800dfc8b74b7f271781728cf480804192f
7
- data.tar.gz: 56cc70ff66e14f1ef83e26e385d75d625e8066cbd817c596cd06ae344031702f0351854da73ebaf6f43bf759fb41cbc1c0ccfd010dabaf1f4ee36f552cae1769
6
+ metadata.gz: f6a99c0111e227a59fa6e1911608cf7b721280b294fb5261206e3e493f591800d5b0dbd7f59cd3ed462d0cf2e5e57a7986812df4ee14c2d7410c2fdfc0b8b6be
7
+ data.tar.gz: '04249b3092be1786bea50118acafdb01d7c147b310e027640dce75d887897641d6149d26a539a5796375c52bcfadec130ae3af3b0885b1419271605d0331610c'
data/lib/amyf.rb CHANGED
@@ -9,6 +9,7 @@ module Amy
9
9
  # Meditate.
10
10
  # Medicate.
11
11
  # Meditate.
12
+ # - IDLES
12
13
  def self.meditate
13
14
  options = {}
14
15
  OptionParser.new do |opts|
@@ -11,27 +11,27 @@ RSpec.describe VersionParser do
11
11
  describe '#prerelease_version' do
12
12
  it 'with major, minor, patch - it returns nil for prerelease name and version' do
13
13
  result = parser.parse('1.2.3')
14
- expect(result).to eq Version.new(1, 2, 3, nil, nil)
14
+ expect(result).to eq VersionParser::Version.new(1, 2, 3, nil, nil)
15
15
  end
16
16
 
17
17
  it 'with major, minor, patch, prerelease and no prerelease version - it assigns it a 0' do
18
18
  result = parser.parse('99.2.3-beta')
19
- expect(result).to eq Version.new(99, 2, 3, 'beta', 0)
19
+ expect(result).to eq VersionParser::Version.new(99, 2, 3, 'beta', 0)
20
20
  end
21
21
 
22
22
  it "with major, minor, patch, prerelease and prerelease version'" do
23
23
  result = parser.parse('1.02.3-alpha.238')
24
- expect(result).to eq Version.new(1, 2, 3, 'alpha', 238)
24
+ expect(result).to eq VersionParser::Version.new(1, 2, 3, 'alpha', 238)
25
25
  end
26
26
 
27
27
  it 'with no patch version - it assign it a 0' do
28
28
  result = parser.parse('1.2-rc')
29
- expect(result).to eq Version.new(1, 2, 0, 'rc', 0)
29
+ expect(result).to eq VersionParser::Version.new(1, 2, 0, 'rc', 0)
30
30
  end
31
31
 
32
32
  it 'with no minor version - it assigns 0 to minor and patch' do
33
33
  result = parser.parse('874-random')
34
- expect(result).to eq Version.new(874, 0, 0, 'random', 0)
34
+ expect(result).to eq VersionParser::Version.new(874, 0, 0, 'random', 0)
35
35
  end
36
36
  end
37
37
  end
@@ -3,7 +3,7 @@
3
3
  require 'rspec'
4
4
  require_relative '../version'
5
5
 
6
- RSpec.describe Version do
6
+ RSpec.describe VersionParser::Version do
7
7
  describe '#to_s' do
8
8
  it 'converts a simple version without prerelease info' do
9
9
  version = described_class.new(1, 2, 3)
@@ -44,22 +44,29 @@ RSpec.describe Version do
44
44
  describe '#bump_minor' do
45
45
  it 'increments the minor version by 1' do
46
46
  version = described_class.new(1, 2, 3).bump_minor
47
- expect(version.to_h).to eq described_class.new(1, 3, 3).to_h
47
+ expect(version.to_h).to eq described_class.new(1, 3, 0).to_h
48
48
  end
49
49
 
50
50
  it 'handles single-digit minor versions correctly' do
51
51
  version = described_class.new(2, 0, 5).bump_minor
52
- expect(version.to_h).to eq described_class.new(2, 1, 5).to_h
52
+ expect(version.to_h).to eq described_class.new(2, 1, 0).to_h
53
53
  end
54
54
 
55
55
  it 'handles larger minor numbers correctly' do
56
56
  version = described_class.new(5, 99, 10).bump_minor
57
- expect(version.to_h).to eq described_class.new(5, 100, 10).to_h
57
+ expect(version.to_h).to eq described_class.new(5, 100, 0).to_h
58
58
  end
59
59
 
60
60
  it 'works with prerelease version' do
61
61
  version = described_class.new(5, 99, 10, 'beta', 2).bump_minor
62
- expect(version.to_h).to eq described_class.new(5, 100, 10, 'beta', 2).to_h
62
+ expect(version.to_h).to eq described_class.new(5, 100, 0, 'beta', nil).to_h
63
+ end
64
+ end
65
+
66
+ describe '#bump_prerelease' do
67
+ it 'bumps a prerelease with no version' do
68
+ version = described_class.new(1, 2, 3, 'beta', nil).bump_prerelease
69
+ expect(version.to_h).to eq described_class.new(1, 2, 3, 'beta', 1).to_h
63
70
  end
64
71
  end
65
72
  end
data/lib/version.rb CHANGED
@@ -1,16 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Version = Struct.new(:major, :minor, :patch, :prerelease_name, :prerelease_version) do
4
- def to_s
5
- return "#{major}.#{minor}.#{patch}-#{prerelease_name}.#{prerelease_version}" if prerelease_name && prerelease_version
6
- return "#{major}.#{minor}.#{patch}-#{prerelease_name}" if prerelease_name && !prerelease_version
7
- return "#{major}.#{minor}.#{patch}" if patch
8
- return "#{major}.#{minor}" if minor
3
+ module VersionParser
4
+ Version = Struct.new(:major, :minor, :patch, :prerelease_name, :prerelease_version) do
5
+ def to_s
6
+ return "#{major}.#{minor}.#{patch}-#{prerelease_name}.#{prerelease_version}" if prerelease_name && prerelease_version
7
+ return "#{major}.#{minor}.#{patch}-#{prerelease_name}" if prerelease_name && !prerelease_version
8
+ return "#{major}.#{minor}.#{patch}" if patch
9
+ return "#{major}.#{minor}" if minor
9
10
 
10
- major.to_s
11
- end
11
+ major.to_s
12
+ end
13
+
14
+ def bump_major
15
+ Version.new(major + 1, 0, 0, prerelease_name, nil)
16
+ end
17
+
18
+ def bump_minor
19
+ Version.new(major, minor + 1, 0, prerelease_name, nil)
20
+ end
21
+
22
+ def bump_patch
23
+ Version.new(major, minor, patch + 1, prerelease_name, nil)
24
+ end
12
25
 
13
- def bump_minor
14
- Version.new(major, minor + 1, patch, prerelease_name, prerelease_version)
26
+ def bump_prerelease
27
+ Version.new(major, minor, patch, prerelease_name, prerelease_version ? prerelease_version + 1 : 1)
28
+ end
15
29
  end
16
30
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amyf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - fdiaz
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-02-02 00:00:00.000000000 Z
10
+ date: 2025-02-08 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: Impossible to live without it
13
13
  email: