Skip to content

Commit

Permalink
User built-in Gem::Version class
Browse files Browse the repository at this point in the history
  • Loading branch information
sferik committed Aug 9, 2023
1 parent 1f731c4 commit 0f597f4
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 55 deletions.
2 changes: 1 addition & 1 deletion lib/x/client_defaults.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ module ClientDefaults
DEFAULT_OBJECT_CLASS = Hash
DEFAULT_OPEN_TIMEOUT = 60 # seconds
DEFAULT_READ_TIMEOUT = 60 # seconds
DEFAULT_USER_AGENT = "X-Client/#{Version} Ruby/#{RUBY_VERSION}".freeze
DEFAULT_USER_AGENT = "X-Client/#{VERSION} Ruby/#{RUBY_VERSION}".freeze
end
end
40 changes: 3 additions & 37 deletions lib/x/version.rb
Original file line number Diff line number Diff line change
@@ -1,39 +1,5 @@
module X
# The version of this library
module Version
module_function

def major
0
end

def minor
4
end

def patch
0
end
require "rubygems/version"

def pre
nil
end

def to_h
{
major: major,
minor: minor,
patch: patch,
pre: pre
}
end

def to_a
[major, minor, patch, pre].compact
end

def to_s
to_a.join(".")
end
end
module X
VERSION = Gem::Version.create("0.4.0")
end
28 changes: 12 additions & 16 deletions test/x/test_version.rb
Original file line number Diff line number Diff line change
@@ -1,32 +1,28 @@
require "test_helper"

# Tests for X::Version module
# Tests for X::VERSION module
class VersionTest < Minitest::Test
def test_major_version
refute_nil X::Version.major
def test_that_it_has_a_version_number
refute_nil ::X::VERSION
end

def test_minor_version
refute_nil X::Version.minor
def test_segments_array
assert_kind_of Array, X::VERSION.segments
end

def test_patch_version
refute_nil X::Version.patch
def test_major_version_integer
assert_kind_of Integer, X::VERSION.segments[0]
end

def test_to_h
assert_kind_of Hash, X::Version.to_h
def test_minor_version_integer
assert_kind_of Integer, X::VERSION.segments[1]
end

def test_to_a
assert_kind_of Array, X::Version.to_a
def test_patch_version_integer
assert_kind_of Integer, X::VERSION.segments[2]
end

def test_to_s
assert_kind_of String, X::Version.to_s
end

def test_that_it_has_a_version_number
refute_nil ::X::Version
assert_kind_of String, X::VERSION.to_s
end
end
2 changes: 1 addition & 1 deletion x.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ require_relative "lib/x/version"

Gem::Specification.new do |spec|
spec.name = "x"
spec.version = X::Version
spec.version = X::VERSION
spec.authors = ["Erik Berlin"]
spec.email = ["[email protected]"]

Expand Down

0 comments on commit 0f597f4

Please sign in to comment.