2017-05-07 12 views
1

私は基本的にoctokit github api ruby​​ toolkitを使って自分のリポジトリの名前を取得しようとしています。私はオプションパラメータはハッシュですが、リポジトリ名を取得するには、引数を指定する方法のI'amまだ少し混乱していることを理解github apiのためにoctokit ruby​​ toolkitを使ってリポジトリ名を取得する

# Get a single repository 
    # 
    # @see https://developer.github.com/v3/repos/#get 
    # @see https://developer.github.com/v3/licenses/#get-a-repositorys-license 
    # @param repo [Integer, String, Hash, Repository] A GitHub repository 
    # @return [Sawyer::Resource] Repository information 
    def repository(repo, options = {}) 
    get Repository.path(repo), options 
    end 
    alias :repo :repository 

    # Edit a repository 
    # 
    # @see https://developer.github.com/v3/repos/#edit 
    # @param repo [String, Hash, Repository] A GitHub repository 
    # @param options [Hash] Repository information to update 
    # @option options [String] :name Name of the repo 
    # @option options [String] :description Description of the repo 
    # @option options [String] :homepage Home page of the repo 
    # @option options [String] :private `true` makes the repository private, and `false` makes it public. 
    # @option options [String] :has_issues `true` enables issues for this repo, `false` disables issues. 
    # @option options [String] :has_wiki `true` enables wiki for this repo, `false` disables wiki. 
    # @option options [String] :has_downloads `true` enables downloads for this repo, `false` disables downloads. 
    # @option options [String] :default_branch Update the default branch for this repository. 
    # @return [Sawyer::Resource] Repository information 

:私は文書で、そのコードファイル内に見えました。など、私自身または他の誰かgithubの名を取得することができ、私のacess_token I'am、電子メール、組織、と

require 'octokit' 
require 'netrc' 

class Base 
# attr_accessor :un, :pw 

# un = username 
# pw = password 

def initialize 
    @client = Octokit::Client.new(:access_token => 
    '<access_token>') 

    print "Username you want to search?\t" 
    @username = gets.chomp.to_s 

    @user = @client.user(@username) 

    puts "#{@username} email is:\t\t#{@user.email}" 
    puts @user.repository('converse', :options => name) 
end 
end 



start = Base.new 

が、私はメソッドを使用する場合...彼らは常にオプションパラメータを持っていると私:ここに私のコードですこのために正しい引数を指定するのは苦労しています。

答えて

3

あなたはuserメソッドの代わりにreposメソッドを使用する必要があります:the GitHub API documentationを参照して、可能な応答の完全なリストについては

require 'octokit' 
require 'netrc' 

class Base 

    def initialize 
    @client = Octokit::Client.new(:access_token => ENV['GITHUB_API']) 

    print "Username you want to search?\t" 
    @username = ARGV[0] || gets.chomp.to_s 

    @user = @client.user(@username) 

    puts "#{@username} email is:\t\t#{@user.email}" 

    @client.repos(@username).each do |r| 
     puts r[:name] 
    end 
    end 

end 

start = Base.new 

は、私はまた、二つの小さな変更を加えました:
  1. 環境変数(ENV['GITHUB_API'])の代わりに、それをハードコーディングであなたのGitHubのAPIトークンを置きます。テストで

  2. 、私は手で私のテストユーザー名を入力するのは病気になったので、私は、フォールバックとして手動入力でデフォルトとしてコマンドラインパラメータを使用のための:

    @username = ARGV[0] || gets.chomp.to_s 
    
+0

おかげで多くのことをアドバイス。これは多くの助けとなりました。 :) –

関連する問題