Sha256: e6a830a93b2db6971fef9ead9373bdfeb93e6d702ddf01fca250e1b5d0572b5a

Contents?: true

Size: 746 Bytes

Versions: 1

Compression:

Stored size: 746 Bytes

Contents

# Rookbook based gemspec detection module
#
module Baltix::Loader::Rookbook
   def rookbook propfile
      dir = File.dirname(propfile)

      props = IO.read(propfile)
                .split("\n")
                .map do |line|
                     /^(?<key>[^:]+):\s*(?<value>.*)$/ =~ line
                     [ key, value ]
                  end
                .to_h

      specfile = Dir.glob(File.join(dir, '**', '*.gemspec')).first

      # fix specfile
      oldspec = IO.read(specfile)
      newspec = oldspec.split("\n").map do |x|
         props.reduce(x) { |x, (key, value)| x.gsub(/\$#{key}[: ]*\$/i, value) }
      end
      if oldspec != newspec
         File.open(specfile, 'w+') {|file| file.puts newspec }
      end
   end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
baltix-0.1.1 lib/baltix/loader/rookbook.rb