Sha256: 09bfb3bd1928756042cdb0e665285e58145da397009b5fc344e5eb1dc1fe2cf5

Contents?: true

Size: 1.03 KB

Versions: 68

Compression:

Stored size: 1.03 KB

Contents

require 'r10k/errors'
require 'r10k/settings/collection'

module R10K
  module Settings
    module Helpers
      def self.included(klass)
        klass.send(:include, InstanceMethods)
        klass.send(:extend, ClassMethods)
      end

      module InstanceMethods
        # Assign a parent collection to this setting. Parent may only be
        # assigned once.
        #
        # @param new_parent [R10K::Settings::Collection] Parent collection
        def parent=(new_parent)
          unless @parent.nil?
            raise R10K::Error.new(_("%{class} instances cannot be reassigned to a new parent.") % {class: self.class} )
          end

          unless new_parent.is_a?(R10K::Settings::Collection) || new_parent.is_a?(R10K::Settings::List)
            raise R10K::Error.new(_("%{class} instances may only belong to a settings collection or list.") % {class: self.class} )
          end

          @parent = new_parent
        end

        def parent
          @parent
        end
      end

      module ClassMethods
      end
    end
  end
end

Version data entries

68 entries across 68 versions & 2 rubygems

Version Path
r10k-5.0.0 lib/r10k/settings/helpers.rb
r10k-4.1.0 lib/r10k/settings/helpers.rb
r10k-4.0.2 lib/r10k/settings/helpers.rb
r10k-4.0.1 lib/r10k/settings/helpers.rb
r10k-4.0.0 lib/r10k/settings/helpers.rb
r10k-4.0.0.pre lib/r10k/settings/helpers.rb
r10k-3.16.0 lib/r10k/settings/helpers.rb
r10k-3.15.4 lib/r10k/settings/helpers.rb
r10k-3.15.3 lib/r10k/settings/helpers.rb
r10k-3.15.2 lib/r10k/settings/helpers.rb
r10k-3.15.1 lib/r10k/settings/helpers.rb
r10k-3.15.0 lib/r10k/settings/helpers.rb
akerl-r10k-3.14.2.1 lib/r10k/settings/helpers.rb
r10k-3.14.2 lib/r10k/settings/helpers.rb
r10k-3.14.1 lib/r10k/settings/helpers.rb
r10k-3.14.0 lib/r10k/settings/helpers.rb
r10k-3.13.0 lib/r10k/settings/helpers.rb
r10k-3.12.1 lib/r10k/settings/helpers.rb
r10k-3.12.0 lib/r10k/settings/helpers.rb
r10k-3.11.0 lib/r10k/settings/helpers.rb