Sha256: d5628eaeaf3adf33ecd903f8bb7f9d90b472955c8a469ebff3044c55f9c8fa46

Contents?: true

Size: 858 Bytes

Versions: 4

Compression:

Stored size: 858 Bytes

Contents

module Dude
  module Gitlab
    class Base
      include Service
      include Settings

      def initialize(*)
        super
        configure_gitlab
      end

      def check_input_data
        throw_error if options[:issue_id].to_i.zero? || !issue_exists?
      end

      def throw_error
        Interface.new.throw_error(options[:issue_id], options[:project_title])
      end

      def issue_exists?
        !::Gitlab.issue(project_id, options[:issue_id]).nil?
      rescue StandardError
        nil
      end

      def project_id
        @project_id ||= ::Gitlab.project_search(options[:project_title])[0]&.id
      end

      def configure_gitlab
        ::Gitlab.configure do |config|
          config.endpoint       = settings['GITLAB_ENDPOINT']
          config.private_token  = settings['GITLAB_TOKEN']
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dude-cli-1.0.2 lib/dude/gitlab/base.rb
dude-cli-1.0.1 lib/dude/gitlab/base.rb
dude-cli-1.0.0 lib/dude/gitlab/base.rb
dude-cli-0.6.2.pre.rc1 lib/dude/gitlab/base.rb