Sha256: 5ad89c6abc6f08e55e3a758c82bf4abe87fc76cbafade6d8888657e00a6412ed

Contents?: true

Size: 624 Bytes

Versions: 3

Compression:

Stored size: 624 Bytes

Contents

module HubLink
  module Api
    class Review < SimpleDelegator
      BOTS = %w(houndci-bot cookpad-devel)

      def reviewer
        user&.login
      end

      def approval?
        state == "APPROVED"
      end

      def invalid?
        bot? || driveby? || draft?
      end

      def to_h
        Slicer.new(self, columns: %i(id pull_request_id submitted_at reviewer approval?)).to_h
      end

      private

        def bot?
          BOTS.include?(reviewer)
        end

        def driveby?
          state == "COMMENTED"
        end

        def draft?
          state == "PENDING"
        end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hub_link-0.11.0 lib/hub_link/api/review.rb
hub_link-0.10.0 lib/hub_link/api/review.rb
hub_link-0.9.1 lib/hub_link/api/review.rb