Sha256: 20c0a07fcaff036619ab9281f0618021c9b7f3041569889b1699cff8e7863a6b

Contents?: true

Size: 863 Bytes

Versions: 4

Compression:

Stored size: 863 Bytes

Contents

# frozen_string_literal: true

require_relative '../helpers/os_helper.rb'

module Geet
  module Services
    class CreateGist
      include Geet::Helpers::OsHelper

      # options:
      #   :description
      #   :publik:      defaults to false
      #   :no_browse    defaults to false
      #
      def execute(repository, full_filename, description: nil, publik: false, no_browse: false, output: $stdout)
        content = IO.read(full_filename)

        gist_access = publik ? 'public' : 'private'
        output.puts "Creating a #{gist_access} gist..."

        filename = File.basename(full_filename)
        gist = repository.create_gist(filename, content, description: description, publik: publik)

        if no_browse
          output.puts "Gist address: #{gist.link}"
        else
          os_open(gist.link)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
geet-0.1.12 lib/geet/services/create_gist.rb
geet-0.1.11 lib/geet/services/create_gist.rb
geet-0.1.10 lib/geet/services/create_gist.rb
geet-0.1.9 lib/geet/services/create_gist.rb