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.78.0 lib/cc/config/engine.rb
codeclimate-0.77.0 lib/cc/config/engine.rb
codeclimate-0.76.0 lib/cc/config/engine.rb
codeclimate-0.75.0 lib/cc/config/engine.rb
codeclimate-0.74.0 lib/cc/config/engine.rb
codeclimate-0.73.0 lib/cc/config/engine.rb
codeclimate-0.72.0 lib/cc/config/engine.rb
codeclimate-0.71.2 lib/cc/config/engine.rb
codeclimate-0.71.1 lib/cc/config/engine.rb
codeclimate-0.71.0 lib/cc/config/engine.rb
codeclimate-0.70.6 lib/cc/config/engine.rb
codeclimate-0.70.5 lib/cc/config/engine.rb
codeclimate-0.70.4 lib/cc/config/engine.rb
codeclimate-0.70.3 lib/cc/config/engine.rb
codeclimate-0.70.2 lib/cc/config/engine.rb
codeclimate-0.70.1 lib/cc/config/engine.rb
codeclimate-0.70.0 lib/cc/config/engine.rb