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

Version Path
fedux_org-stdlib-0.7.21 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.20 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.19 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.18 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.17 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.16 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.15 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.14 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.12 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.11 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.10 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.8 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.7 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.6 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.5 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.4 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.3 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.2 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.1 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb
fedux_org-stdlib-0.7.0 lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb