class PartyFoul::InstallGenerator

Private Class Methods

installation_message() click to toggle source
# File lib/generators/party_foul/install_generator.rb, line 29
def self.installation_message
  'Generates the initializer'
end

Public Instance Methods

create_initializer_file() click to toggle source
# File lib/generators/party_foul/install_generator.rb, line 10
def create_initializer_file
  login         = ask 'GitHub login:'
  password      = ask 'GitHub password:'
  @owner        = ask_with_default "\nRepository owner:", login
  @repo         = ask 'Repository name:'
  @api_endpoint = ask_with_default 'Api Endpoint:', 'https://api.github.com'
  @web_url      = ask_with_default 'Web URL:', 'https://github.com'

  begin
    octokit      = Octokit::Client.new :login => login, :password => password, :api_endpoint => @api_endpoint
    @oauth_token = octokit.create_authorization(scopes: ['repo'], note: "PartyFoul #{@owner}/#{@repo}", note_url: "#{@web_url}/#{@owner}/#{@repo}").token
    template 'party_foul.rb', 'config/initializers/party_foul.rb'
  rescue Octokit::Unauthorized
    say 'There was an error retrieving your GitHub OAuth token'
  end
end

Private Instance Methods

ask_with_default(prompt, default) click to toggle source
# File lib/generators/party_foul/install_generator.rb, line 35
def ask_with_default(prompt, default)
  value = ask("#{prompt} [#{default}]")
  value.blank? ? default : value
end