我正在使用实现Github API v3的ruby gem 'octokit'。大多数工作得很好但我似乎无法按日期过滤。我相信我的语法和时间格式是正确的,但看起来我的选项被忽略,API返回过去的35个条目,无论是日期还是日期。
这是一个可重复性最小的例子(安装octokit gem之后)。
require 'octokit'
require 'time'
@day = "2012-09-27"
@until = DateTime.parse(@date).iso8601
@since = (DateTime.parse(@day) - 60*60*48).iso8601
a = Octokit.commits({:username => "cboettig", :repo => "labnotebook", :since => @since, :until => @until})
查看最后一项输出的日期
a.last.commit.author.date
明确的日子不起作用
b = Octokit.commits({:username => "cboettig", :repo => "labnotebook", :since => "2012-09-27T00:00:00+00:00"})
b.last.commit.author.date
我在两个例子中得到的日期是8月份,超出给定的指定范围。我错过了什么?
背景:我正在尝试编写一个小的Jekyll插件,该插件使用API在帖子当天返回对指定仓库的提交。
答案 0 :(得分:2)
joeyw gives a great answer to this question here。
第二个参数应该是sha或branch,而options应该是第三个参数,例如
Octokit.commits("cboettig/labnotebook", "master", :since => "2012-09-28T00:00:00+00:00").length
或
Octokit.commits("cboettig/labnotebook", nil, :since => "2012-09-28T00:00:00+00:00").length