Sha256: ebcab73dd7534bfe36ed1b39af4aac00c114329ab7e6adec741efeb1322ac738

Contents?: true

Size: 1.42 KB

Versions: 45

Compression:

Stored size: 1.42 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

module Multiverse
  # Reads an envfile.rb and converts it into gemfiles that can be used by
  # bundler
  class Envfile
    attr_accessor :file_path, :condition
    attr_reader :before, :after, :mode, :skip_message, :omit_collector

    def initialize(file_path)
      self.file_path = file_path
      @gemfiles = []
      @mode = 'fork'
      if File.exist? file_path
        @text = File.read self.file_path
        instance_eval @text
      end
      @gemfiles = [''] if @gemfiles.empty?
    end

    def suite_condition(skip_message, &block)
      @skip_message = skip_message
      @condition = block
    end

    def gemfile(content)
      @gemfiles.push content
    end

    def omit_collector!
      @omit_collector = true
    end

    def before_suite(&block)
      @before = block
    end

    def after_suite(&block)
      @after = block
    end

    def execute_mode(mode)
      valid_modes = %w| fork spawn |
      unless valid_modes.member? mode
        raise ArgumentError, "#{mode.inspect} is not a valid execute mode.  Valid modes: #{valid_modes.inspect}"
      end
      @mode = mode
    end

    include Enumerable
    def each(&block)
      @gemfiles.each(&block)
    end

    def [](key)
      @gemfiles[key]
    end

    def size
      @gemfiles.size
    end

  end
end

Version data entries

45 entries across 45 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-4.0.0.332 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.18.1.330 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.18.0.329 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.17.2.327 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.17.1.326 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.17.0.325 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.16.3.323 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.16.2.321 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.16.1.320 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.16.0.318 test/multiverse/lib/multiverse/envfile.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.15.2.317 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.15.1.316 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.15.0.314 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.14.3.313 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.14.2.312 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.14.1.311 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.14.0.305 test/multiverse/lib/multiverse/envfile.rb
newrelic_rpm-3.13.2.302 test/multiverse/lib/multiverse/envfile.rb