Sha256: 23fb3d29cbd173a4c724962f39f11566a0480f99ea7971cdef56729aad3a1557

Contents?: true

Size: 995 Bytes

Versions: 3

Compression:

Stored size: 995 Bytes

Contents

# frozen_string_literal: true

require_relative 'abstract_issue'

module Geet
  module GitHub
    class Gist
      def self.create(repository, filename, content, api_helper, description: nil, publik: false)
        request_address = "#{api_helper.base_link}/gists"
        request_data = prepare_request_data(filename, content, description, publik)

        response = api_helper.send_request(request_address, data: request_data)

        id = response.fetch('id')

        new(id)
      end

      def initialize(id)
        @id = id
      end

      def link
        "https://gist.github.com/#{@id}"
      end

      private

      def self.prepare_request_data(filename, content, description, publik)
        request_data = {
          "public" => publik,
          "files" => {
            filename => {
              "content" => content
            }
          }
        }

        request_data['description'] = description if description

        request_data
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
geet-0.1.4 lib/geet/git_hub/gist.rb
geet-0.1.3 lib/geet/git_hub/gist.rb
geet-0.1.2 lib/geet/git_hub/gist.rb