Sha256: 5c666c0b9cfbf18557ce1970420a8351093862bc89a3df8fc19db9910c77ac71

Contents?: true

Size: 893 Bytes

Versions: 97

Compression:

Stored size: 893 Bytes

Contents

module CC
  class Config
    class Engine
      DEFAULT_CHANNEL = "stable".freeze

      attr_accessor :channel
      attr_reader :name, :config, :exclude_patterns
      attr_writer :enabled

      def initialize(name, enabled: false, channel: nil, config: nil, exclude_patterns: [])
        @name = name
        @enabled = enabled
        @channel = channel || DEFAULT_CHANNEL
        @config = config || {}
        @exclude_patterns = exclude_patterns
      end

      def enabled?
        @enabled
      end

      def plugin?
        !DefaultAdapter::ENGINES.keys.include?(name)
      end

      def container_label
        @container_label ||= SecureRandom.uuid
      end

      def hash
        name.hash
      end

      def eql?(other)
        other.is_a?(self.class) && name.eql?(other.name)
      end
      alias_method :==, :eql?
      alias_method :equal?, :eql?
    end
  end
end

Version data entries

97 entries across 97 versions & 2 rubygems

Version Path
codeclimate-0.96.0 lib/cc/config/engine.rb
codeclimate-0.95.0 lib/cc/config/engine.rb
codeclimate-0.94.1 lib/cc/config/engine.rb
codeclimate-0.94.0 lib/cc/config/engine.rb
codeclimate-0.93.0 lib/cc/config/engine.rb
codeclimate-0.92.1 lib/cc/config/engine.rb
codeclimate-0.92.0 lib/cc/config/engine.rb
codeclimate-0.91.0 lib/cc/config/engine.rb
codeclimate-0.90.0 lib/cc/config/engine.rb
codeclimate-0.89.0 lib/cc/config/engine.rb
codeclimate-0.88.0 lib/cc/config/engine.rb
codeclimate-0.87.5 lib/cc/config/engine.rb
codeclimate-0.87.4 lib/cc/config/engine.rb
codeclimate-0.87.3 lib/cc/config/engine.rb
codeclimate-0.87.2 lib/cc/config/engine.rb
codeclimate-0.87.1 lib/cc/config/engine.rb
codeclimate-0.87.0 lib/cc/config/engine.rb
codeclimate-0.86.0 lib/cc/config/engine.rb
codeclimate-0.85.29 lib/cc/config/engine.rb
codeclimate-0.85.28 lib/cc/config/engine.rb