Sha256: cbb47c808794d5485887699208769fec7b871756592c7a409e0712cd75f8c4db
Contents?: true
Size: 1.27 KB
Versions: 4
Compression:
Stored size: 1.27 KB
Contents
module Perkins module Build class Data class Var PATTERN = /(?:SECURE )?([\w]+)=(("|')(.*?)(\3)|\$\(.*?\)|[^"' ]+)/ class << self def create(*args) if args.size == 1 parse(args.first).map { |key, value| Var.new(key, value) } else [Var.new(*args)] end end def parse(line) secure = line =~ /^SECURE / line.scan(PATTERN).map { |match| [(secure ? "SECURE #{match[0]}" : match[0]), match[1]] } end end attr_reader :value def initialize(key, value, secure = nil) @key = key.to_s @value = value.to_s @secure = secure end def key strip_secure(@key) end def to_s if travis? false elsif secure? "export #{[key, '[secure]'].join('=')}" else "export #{[key, value].join('=')}" end end def travis? @key =~ /^TRAVIS_/ end def secure? @secure.nil? ? @key =~ /^SECURE / : @secure end private def strip_secure(string) string.gsub('SECURE ', '') end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
perkins-0.0.5 | lib/perkins/build/data/var.rb |
perkins-0.0.3 | lib/perkins/build/data/var.rb |
perkins-0.0.2 | lib/perkins/build/data/var.rb |
perkins-0.0.1 | lib/perkins/build/data/var.rb |