Module: ForemanFogProxmox::Semver
- Defined in:
- lib/foreman_fog_proxmox/semver.rb
Overview
You should have received a copy of the GNU General Public License along with ForemanFogProxmox. If not, see <www.gnu.org/licenses/>.
Defined Under Namespace
Classes: SemverClass
Constant Summary collapse
- SEMVER_REGEX =
/^(\d+)[.]{1}(\d+)[.]{1}(\d+)[-]{0,1}(\w+){0,1}$/
Class Method Summary collapse
Class Method Details
.is_semver?(version) ⇒ Boolean
90 91 92 |
# File 'lib/foreman_fog_proxmox/semver.rb', line 90 def self.is_semver?(version) version.is_a?(String) && version.match(SEMVER_REGEX) end |
.to_semver(version) ⇒ Object
93 94 95 96 97 98 99 100 101 |
# File 'lib/foreman_fog_proxmox/semver.rb', line 93 def self.to_semver(version) raise ArgumentError unless self.is_semver?(version) version_a = version.scan(SEMVER_REGEX) raise ArgumentError if version_a.empty? semver_a = version_a.first raise ArgumentError if semver_a.empty? raise ArgumentError if semver_a.size < 4 SemverClass.new(semver_a[0],semver_a[1],semver_a[2],semver_a[3]) end |