Sha256: f5bf9b5ddec497c7599b0ddcf70ae728b3d54835af858df433ec96995ba17a9d
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
# frozen_string_literal: true require_relative '../helpers/os_helper.rb' require_relative '../github/api_interface.rb' require_relative '../github/gist.rb' module Geet module Services class CreateGist include Geet::Helpers::OsHelper API_TOKEN_KEY = 'GITHUB_API_TOKEN' DEFAULT_GIT_CLIENT = Geet::Utils::GitClient.new def initialize(out: $stdout) @out = out api_token = extract_env_api_token @api_interface = Geet::Github::ApiInterface.new(api_token) end # options: # :description # :publik: defaults to false # :no_browse defaults to false # def execute(full_filename, description: nil, publik: false, no_browse: false) content = IO.read(full_filename) gist_access = publik ? 'public' : 'private' @out.puts "Creating a #{gist_access} gist..." filename = File.basename(full_filename) gist = Geet::Github::Gist.create(filename, content, @api_interface, description: description, publik: publik) if no_browse @out.puts "Gist address: #{gist.link}" else open_file_with_default_application(gist.link) end end private def extract_env_api_token ENV[API_TOKEN_KEY] || raise("#{API_TOKEN_KEY} not set!") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
geet-0.3.3 | lib/geet/services/create_gist.rb |
geet-0.3.2 | lib/geet/services/create_gist.rb |