Sha256: 470a23a14117b351a71bac41d69f3579654251c1f4faf6f28c35e5bfdad8f62f

Contents?: true

Size: 749 Bytes

Versions: 27

Compression:

Stored size: 749 Bytes

Contents

module Approvals
  class Scrubber
    def initialize(string, hash = nil)
      @hash = hash
      @string = scrub(string)
    end

    def hash
      @hash ||= {
        'current_dir' => File.expand_path('.')
      }
    end

    def scrub(string)
      hash.each do |key, value|
        string = string.gsub(value, wrap(key))
      end
      string
    end

    def unscrub(string = @string)
      hash.each do |key, value|
        string = string.gsub(wrap(key), value)
      end
      string
    end

    def wrap(string)
      "{{#{string}}}"
    end

    def to_s
      @string
    end

    #def to_executable(&block)
    #  Approvals::Executable.new(@string) do |scrubbed|
    #    block.call(unscrub(scrubbed))
    #  end
    #end

  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
approvals-0.1.7 lib/approvals/scrubber.rb
approvals-0.0.26 lib/approvals/scrubber.rb
approvals-0.0.25 lib/approvals/scrubber.rb
approvals-0.0.24 lib/approvals/scrubber.rb
br-approvals-0.0.22 lib/approvals/scrubber.rb
approvals-0.0.22 lib/approvals/scrubber.rb
approvals-0.0.21 lib/approvals/scrubber.rb
approvals-0.0.20 lib/approvals/scrubber.rb
approvals-0.0.19 lib/approvals/scrubber.rb
approvals-0.0.18 lib/approvals/scrubber.rb
approvals-0.0.17 lib/approvals/scrubber.rb
approvals-0.0.16 lib/approvals/scrubber.rb
approvals-0.0.15 lib/approvals/scrubber.rb
approvals-0.0.14 lib/approvals/scrubber.rb
approvals-0.0.13 lib/approvals/scrubber.rb
approvals-0.0.12 lib/approvals/utilities/scrubber.rb
approvals-0.0.11 lib/approvals/utilities/scrubber.rb
approvals-0.0.10 lib/approvals/utilities/scrubber.rb
approvals-0.0.9 lib/approvals/utilities/scrubber.rb
approvals-0.0.8 lib/approvals/utilities/scrubber.rb