Sha256: 01211ee0accafd51af8f41ba4f00e4e4ed91fc8ed544a34f18cea281a0f457c7

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

module MultiDaemons
  class Validate
    class << self
      def valid_daemon?(daemon)
        name = daemon.name
        return daemon_name_error unless name && name.length > 1

        daemon.name = name.to_s if name.is_a?(Symbol)
        case daemon.type
        when :proc, 'proc'
          return daemon_proc_error unless daemon.daemon.is_a?(Proc)
        end
        true
      end

      def valid_multi_daemon?(multi_daemon)
        if multi_daemon.is_a?(Array) && !multi_daemon.empty?
          if multi_daemon.all? { |daemon| daemon.is_a?(MultiDaemons::Daemon) }
            return true
          end
        end
        invalid_multi_daemon_option
        false
      end

      private

      def invalid_multi_daemon_option
        Log.log 'Daemons are not present or invalid'
      end

      def daemon_name_error
        Log.log 'Daemon name should not be empty'
        false
      end

      def daemon_proc_error
        Log.log 'Daemons type is proc but proc block has not been passed'
        false
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
multi_daemons-1.0.1 lib/multi_daemons/validate.rb