Sha256: 260299000b8dc0c85f8c1c381b5f251ac82550e1014c62d96c789032dd21848b

Contents?: true

Size: 1.66 KB

Versions: 8

Compression:

Stored size: 1.66 KB

Contents

module Percy
  class Client
    module Builds
      def create_build(repo, options = {})
        pull_request_number = options[:pull_request_number] ||
          Percy::Client::Environment.pull_request_number
        commit_data = options[:commit_data] || Percy::Client::Environment.commit
        resources = options[:resources]

        data = {
          'data' => {
            'type' => 'builds',
            'attributes' => {
              'branch' => commit_data[:branch],
              'commit-sha' => commit_data[:sha],
              'commit-committed-at' => commit_data[:committed_at],
              'commit-author-name' => commit_data[:author_name],
              'commit-author-email' => commit_data[:author_email],
              'commit-committer-name' => commit_data[:committer_name],
              'commit-committer-email' => commit_data[:committer_email],
              'commit-message' => commit_data[:message],
              'pull-request-number' => pull_request_number,
            },
          }
        }

        if resources
          if !resources.respond_to?(:each)
            raise ArgumentError.new(
              'resources argument must be an iterable of Percy::Client::Resource objects')
          end
          relationships_data = {
            'relationships' => {
              'resources' => {
                'data' => resources.map { |r| r.serialize },
              },
            },
          }
          data['data'].merge!(relationships_data)
        end

        post("#{config.api_url}/repos/#{repo}/builds/", data)
      end

      def finalize_build(build_id)
        post("#{config.api_url}/builds/#{build_id}/finalize", {})
      end
    end
  end
end


Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
percy-client-0.7.0 lib/percy/client/builds.rb
percy-client-0.6.0 lib/percy/client/builds.rb
percy-client-0.5.0 lib/percy/client/builds.rb
percy-client-0.4.1 lib/percy/client/builds.rb
percy-client-0.4.0 lib/percy/client/builds.rb
percy-client-0.3.2 lib/percy/client/builds.rb
percy-client-0.3.1 lib/percy/client/builds.rb
percy-client-0.3.0 lib/percy/client/builds.rb