Class: Copper::DataTypes::Semver

Inherits:
DataType
  • Object
show all
Defined in:
lib/copper/data_types/semver.rb

Constant Summary

Constants inherited from DataType

DataType::CLASS_MAP, DataType::DATATYPE_MAP

Instance Method Summary collapse

Methods inherited from DataType

#as, factory, get_class, #value

Constructor Details

#initialize(value) ⇒ Semver

Returns a new instance of Semver.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/copper/data_types/semver.rb', line 7

def initialize(value)
	if value.is_a? ::String
		@value = ::Semantic::Version.new(value)
	elsif value.is_a? ::Semantic::Version
		@value = ::Semantic::Version.new(value.to_s)
	else
		raise ::Copper::RuntimeError, "cannot convert #{value} to Semver"
	end
rescue ArgumentError => exc
	raise ::Copper::RuntimeError, exc.message
end

Instance Method Details

#buildObject



31
32
33
# File 'lib/copper/data_types/semver.rb', line 31

def build
	@value.build
end

#majorObject



19
20
21
# File 'lib/copper/data_types/semver.rb', line 19

def major
	@value.major
end

#minorObject



23
24
25
# File 'lib/copper/data_types/semver.rb', line 23

def minor
	@value.minor
end

#patchObject



27
28
29
# File 'lib/copper/data_types/semver.rb', line 27

def patch
	@value.patch
end

#preObject



35
36
37
# File 'lib/copper/data_types/semver.rb', line 35

def pre
	@value.pre
end

#satisfies(condition) ⇒ Object



39
40
41
# File 'lib/copper/data_types/semver.rb', line 39

def satisfies(condition)
	@value.satisfies?(condition)
end