Sha256: 0ea39c8219f046f656c589f06eea9b0d6a826b62cf9e010c048fa97b91da848d

Contents?: true

Size: 698 Bytes

Versions: 3

Compression:

Stored size: 698 Bytes

Contents

require 'cap-util'

module CapUtil

  # the class should be use as a superclass for fetching server roles yaml.

  class ServerRolesYaml
    include CapUtil
    attr_reader :desc, :source

    def initialize(cap, opts = nil)
      opts ||= {}

      @cap    = cap
      @desc   = opts[:desc]   ? "#{opts[:desc]} server roles" : "server roles"
      @source = opts[:source] ? " from #{opts[:source]}" : ""
    end

    def get
      say "Applying #{color @desc, :bold, :cyan}#{@source}."

      validate
      valid? ? read : halt
    end

    def validate; raise NotImplementedError; end
    def valid?;   raise NotImplementedError; end
    def read;     raise NotImplementedError; end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cap-util-1.5.2 lib/cap-util/server_roles_yaml.rb
cap-util-1.5.1 lib/cap-util/server_roles_yaml.rb
cap-util-1.5.0 lib/cap-util/server_roles_yaml.rb