所以我可以使用以下命令从repo中获取提交:
commits = Octokit.commits('tansaku/gitimmersion')
但我无法弄清楚如何获取提交日期。如果我提交个人提交,我可以看到日期存在:
#<Sawyer::Resource:0x007fb045935358
@_agent=<Sawyer::Agent https://api.github.com/>,
@_fields=#<Set: {:author, :committer, :message, :tree, :comment_count}>,
@_metaclass=#<Class:#<Sawyer::Resource:0x007fb045935358>>,
@_rels=#<Sawyer::Relation::Map: [:self]>,
@attrs=
{:author=>
#<Sawyer::Resource:0x007fb045932590
@_agent=<Sawyer::Agent https://api.github.com/>,
@_fields=#<Set: {:name, :email, :date}>,
@_metaclass=#<Class:#<Sawyer::Resource:0x007fb045932590>>,
@_rels=#<Sawyer::Relation::Map: []>,
@attrs=
{:name=>"Sam Joseph",
:email=>"tansaku@gmail.com",
:date=>2014-03-10 14:35:53 UTC}>,
:committer=>
#<Sawyer::Resource:0x007fb0459302b8
@_agent=<Sawyer::Agent https://api.github.com/>,
@_fields=#<Set: {:name, :email, :date}>,
@_metaclass=#<Class:#<Sawyer::Resource:0x007fb0459302b8>>,
@_rels=#<Sawyer::Relation::Map: []>,
@attrs=
{:name=>"Sam Joseph",
:email=>"tansaku@gmail.com",
:date=>2014-03-10 14:35:53 UTC}>,
:message=>"using command lines",
:tree=>
#<Sawyer::Resource:0x007fb045927aa0
@_agent=<Sawyer::Agent https://api.github.com/>,
@_fields=#<Set: {:sha}>,
@_metaclass=#<Class:#<Sawyer::Resource:0x007fb045927aa0>>,
@_rels=#<Sawyer::Relation::Map: [:self]>,
@attrs={:sha=>"11b345c2fc315b5f7ae6db2e0f6b0570780c20d1"}>,
:comment_count=>0}>
但我似乎无法从这些Sawyer对象中提取它们。
1.9.3-p392 :043 > pp commits[0].author.date
nil
=> nil
1.9.3-p392 :047 > pp commits[0].committer.date
nil
=> nil
现在显然我真的很蠢,但有人可以解释我如何从Sawyer对象中获取这些日期吗?
非常感谢提前 CHEERS&GT; SAM
答案 0 :(得分:3)
这可以解决你的困境吗?
commits[0].commit.author[:date]
=> 2014-03-10 14:35:53 UTC
commits[0].commit.committer[:date]
=> 2014-03-10 14:35:53 UTC