Sha256: 5ad26e8e03406d5fce68994851488a1a80a07eb59487fd7751e3911c2ed65ab2
Contents?: true
Size: 573 Bytes
Versions: 64
Compression:
Stored size: 573 Bytes
Contents
# encoding: utf-8 require 'json' require 'fedux_org_stdlib/version_management/exceptions' module FeduxOrgStdlib module VersionManagement class RubygemVersionFileParser attr_reader :version, :modules def parse(file) data = File.read(file) @version = data.match(/(?:VERSION|Version)\s+=\s+["']([^'"]+)["']/) { $1 } @modules = data.scan( /^\s*module\s+([A-Z][A-Za-z0-9]+(?:::[A-Z][A-Z0-9a-z]+)*)$/x ).flatten raise Exceptions::VersionFileInvalid, JSON.dump(file: file) if self.version.blank? end end end end
Version data entries
64 entries across 64 versions & 1 rubygems