File: base.rb

package info (click to toggle)
ruby-versionist 2.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 244 kB
  • sloc: ruby: 798; makefile: 3
file content (21 lines) | stat: -rw-r--r-- 646 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
require 'active_support/core_ext/hash/keys'

module Versionist
  module VersioningStrategy
    class Base
      attr_reader :config

      def initialize(config={})
        raise ArgumentError, "you must pass a configuration Hash" if config.nil? || !config.is_a?(Hash)
        @config = config
        @config.symbolize_keys!
        Versionist.configuration.versioning_strategies << self if !Versionist.configuration.versioning_strategies.include?(self)
      end

      def ==(other)
        return false if other.nil? || !other.is_a?(Versionist::VersioningStrategy::Base)
        return self.config == other.config
      end
    end
  end
end