{"action":"created","comment":{"url":"https://api.github.com/repos/rubinius/rubinius/pulls/comments/31246171","id":31246171,"diff_hunk":"@@ -104,6 +104,28 @@ def self.atime(path)\n   end\n \n   ##\n+  # Returns the change time for the named file (the\n+  # time at which directory information about the\n+  # file was changed, not the file itself).\n+  #\n+  #  File.ctime(\"testfile\")   #=> Wed Apr 09 08:53:13 CDT 2003\n+  def self.ctime(path)\n+    Stat.new(path).ctime\n+  end\n+\n+  def self.birthtime(path)\n+    Stat.new(path).birthtime\n+  end","path":"kernel/common/file.rb","position":15,"original_position":15,"commit_id":"91dcc522b5e0d54b9aabf32e64af637dd9e2fe83","original_commit_id":"91dcc522b5e0d54b9aabf32e64af637dd9e2fe83","user":{"login":"jemc","id":4623870,"avatar_url":"https://avatars.githubusercontent.com/u/4623870?v=3","gravatar_id":"","url":"https://api.github.com/users/jemc","html_url":"https://github.com/jemc","followers_url":"https://api.github.com/users/jemc/followers","following_url":"https://api.github.com/users/jemc/following{/other_user}","gists_url":"https://api.github.com/users/jemc/gists{/gist_id}","starred_url":"https://api.github.com/users/jemc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jemc/subscriptions","organizations_url":"https://api.github.com/users/jemc/orgs","repos_url":"https://api.github.com/users/jemc/repos","events_url":"https://api.github.com/users/jemc/events{/privacy}","received_events_url":"https://api.github.com/users/jemc/received_events","type":"User","site_admin":false},"body":"I think this method should have a documentation comment above it as well to be consistent with the other two.","created_at":"2015-05-28T15:36:24Z","updated_at":"2015-05-28T15:36:24Z","html_url":"https://github.com/rubinius/rubinius/pull/3414#discussion_r31246171","pull_request_url":"https://api.github.com/repos/rubinius/rubinius/pulls/3414","_links":{"self":{"href":"https://api.github.com/repos/rubinius/rubinius/pulls/comments/31246171"},"html":{"href":"https://github.com/rubinius/rubinius/pull/3414#discussion_r31246171"},"pull_request":{"href":"https://api.github.com/repos/rubinius/rubinius/pulls/3414"}}},"pull_request":{"url":"https://api.github.com/repos/rubinius/rubinius/pulls/3414","id":36382309,"html_url":"https://github.com/rubinius/rubinius/pull/3414","diff_url":"https://github.com/rubinius/rubinius/pull/3414.diff","patch_url":"https://github.com/rubinius/rubinius/pull/3414.patch","issue_url":"https://api.github.com/repos/rubinius/rubinius/issues/3414","number":3414,"state":"open","locked":false,"title":"Implemented File birthtime","user":{"login":"tak1n","id":675705,"avatar_url":"https://avatars.githubusercontent.com/u/675705?v=3","gravatar_id":"","url":"https://api.github.com/users/tak1n","html_url":"https://github.com/tak1n","followers_url":"https://api.github.com/users/tak1n/followers","following_url":"https://api.github.com/users/tak1n/following{/other_user}","gists_url":"https://api.github.com/users/tak1n/gists{/gist_id}","starred_url":"https://api.github.com/users/tak1n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tak1n/subscriptions","organizations_url":"https://api.github.com/users/tak1n/orgs","repos_url":"https://api.github.com/users/tak1n/repos","events_url":"https://api.github.com/users/tak1n/events{/privacy}","received_events_url":"https://api.github.com/users/tak1n/received_events","type":"User","site_admin":false},"body":"Opening this pr because I'm not sure if I did it the \"right\" way.\r\n\r\nThe configure script checks if on your system in `stat.h` the function `birthtime()` is defined.\r\nIf it is a `HAVE_ST_BIRTHTIME` macro is set which can be used in c++ to check whether to return `st_.st_birthtime` as Time Object or return a `Primitives::failure()`.\r\n\r\nIn the ruby Stat#birthtime method a `NotImplementedError` is raised if the primitive fails.\r\nAlso updated the specs for the specific platforms, the problem here I'm not sure which platform supports `birthtime()` and which don't.\r\n\r\nBelongs to #3264 ","created_at":"2015-05-28T08:24:03Z","updated_at":"2015-05-28T15:36:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f4061e72fe13d610f32a6dd3a6f83fbb7e3e3d1c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/rubinius/rubinius/pulls/3414/commits","review_comments_url":"https://api.github.com/repos/rubinius/rubinius/pulls/3414/comments","review_comment_url":"https://api.github.com/repos/rubinius/rubinius/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rubinius/rubinius/issues/3414/comments","statuses_url":"https://api.github.com/repos/rubinius/rubinius/statuses/91dcc522b5e0d54b9aabf32e64af637dd9e2fe83","head":{"label":"rubinius:file-birthtime","ref":"file-birthtime","sha":"91dcc522b5e0d54b9aabf32e64af637dd9e2fe83","user":{"login":"rubinius","id":317747,"avatar_url":"https://avatars.githubusercontent.com/u/317747?v=3","gravatar_id":"","url":"https://api.github.com/users/rubinius","html_url":"https://github.com/rubinius","followers_url":"https://api.github.com/users/rubinius/followers","following_url":"https://api.github.com/users/rubinius/following{/other_user}","gists_url":"https://api.github.com/users/rubinius/gists{/gist_id}","starred_url":"https://api.github.com/users/rubinius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubinius/subscriptions","organizations_url":"https://api.github.com/users/rubinius/orgs","repos_url":"https://api.github.com/users/rubinius/repos","events_url":"https://api.github.com/users/rubinius/events{/privacy}","received_events_url":"https://api.github.com/users/rubinius/received_events","type":"Organization","site_admin":false},"repo":{"id":27,"name":"rubinius","full_name":"rubinius/rubinius","owner":{"login":"rubinius","id":317747,"avatar_url":"https://avatars.githubusercontent.com/u/317747?v=3","gravatar_id":"","url":"https://api.github.com/users/rubinius","html_url":"https://github.com/rubinius","followers_url":"https://api.github.com/users/rubinius/followers","following_url":"https://api.github.com/users/rubinius/following{/other_user}","gists_url":"https://api.github.com/users/rubinius/gists{/gist_id}","starred_url":"https://api.github.com/users/rubinius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubinius/subscriptions","organizations_url":"https://api.github.com/users/rubinius/orgs","repos_url":"https://api.github.com/users/rubinius/repos","events_url":"https://api.github.com/users/rubinius/events{/privacy}","received_events_url":"https://api.github.com/users/rubinius/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rubinius/rubinius","description":"The Rubinius Language Platform","fork":false,"url":"https://api.github.com/repos/rubinius/rubinius","forks_url":"https://api.github.com/repos/rubinius/rubinius/forks","keys_url":"https://api.github.com/repos/rubinius/rubinius/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rubinius/rubinius/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rubinius/rubinius/teams","hooks_url":"https://api.github.com/repos/rubinius/rubinius/hooks","issue_events_url":"https://api.github.com/repos/rubinius/rubinius/issues/events{/number}","events_url":"https://api.github.com/repos/rubinius/rubinius/events","assignees_url":"https://api.github.com/repos/rubinius/rubinius/assignees{/user}","branches_url":"https://api.github.com/repos/rubinius/rubinius/branches{/branch}","tags_url":"https://api.github.com/repos/rubinius/rubinius/tags","blobs_url":"https://api.github.com/repos/rubinius/rubinius/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rubinius/rubinius/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rubinius/rubinius/git/refs{/sha}","trees_url":"https://api.github.com/repos/rubinius/rubinius/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rubinius/rubinius/statuses/{sha}","languages_url":"https://api.github.com/repos/rubinius/rubinius/languages","stargazers_url":"https://api.github.com/repos/rubinius/rubinius/stargazers","contributors_url":"https://api.github.com/repos/rubinius/rubinius/contributors","subscribers_url":"https://api.github.com/repos/rubinius/rubinius/subscribers","subscription_url":"https://api.github.com/repos/rubinius/rubinius/subscription","commits_url":"https://api.github.com/repos/rubinius/rubinius/commits{/sha}","git_commits_url":"https://api.github.com/repos/rubinius/rubinius/git/commits{/sha}","comments_url":"https://api.github.com/repos/rubinius/rubinius/comments{/number}","issue_comment_url":"https://api.github.com/repos/rubinius/rubinius/issues/comments{/number}","contents_url":"https://api.github.com/repos/rubinius/rubinius/contents/{+path}","compare_url":"https://api.github.com/repos/rubinius/rubinius/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rubinius/rubinius/merges","archive_url":"https://api.github.com/repos/rubinius/rubinius/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rubinius/rubinius/downloads","issues_url":"https://api.github.com/repos/rubinius/rubinius/issues{/number}","pulls_url":"https://api.github.com/repos/rubinius/rubinius/pulls{/number}","milestones_url":"https://api.github.com/repos/rubinius/rubinius/milestones{/number}","notifications_url":"https://api.github.com/repos/rubinius/rubinius/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rubinius/rubinius/labels{/name}","releases_url":"https://api.github.com/repos/rubinius/rubinius/releases{/id}","created_at":"2008-01-12T16:46:52Z","updated_at":"2015-05-27T09:46:47Z","pushed_at":"2015-05-28T11:25:22Z","git_url":"git://github.com/rubinius/rubinius.git","ssh_url":"git@github.com:rubinius/rubinius.git","clone_url":"https://github.com/rubinius/rubinius.git","svn_url":"https://github.com/rubinius/rubinius","homepage":"http://rubini.us","size":206055,"stargazers_count":2412,"watchers_count":2412,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":578,"mirror_url":null,"open_issues_count":189,"forks":578,"open_issues":189,"watchers":2412,"default_branch":"master"}},"base":{"label":"rubinius:2.2","ref":"2.2","sha":"f21d58d735383a30156575a2c51b0982b6bae217","user":{"login":"rubinius","id":317747,"avatar_url":"https://avatars.githubusercontent.com/u/317747?v=3","gravatar_id":"","url":"https://api.github.com/users/rubinius","html_url":"https://github.com/rubinius","followers_url":"https://api.github.com/users/rubinius/followers","following_url":"https://api.github.com/users/rubinius/following{/other_user}","gists_url":"https://api.github.com/users/rubinius/gists{/gist_id}","starred_url":"https://api.github.com/users/rubinius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubinius/subscriptions","organizations_url":"https://api.github.com/users/rubinius/orgs","repos_url":"https://api.github.com/users/rubinius/repos","events_url":"https://api.github.com/users/rubinius/events{/privacy}","received_events_url":"https://api.github.com/users/rubinius/received_events","type":"Organization","site_admin":false},"repo":{"id":27,"name":"rubinius","full_name":"rubinius/rubinius","owner":{"login":"rubinius","id":317747,"avatar_url":"https://avatars.githubusercontent.com/u/317747?v=3","gravatar_id":"","url":"https://api.github.com/users/rubinius","html_url":"https://github.com/rubinius","followers_url":"https://api.github.com/users/rubinius/followers","following_url":"https://api.github.com/users/rubinius/following{/other_user}","gists_url":"https://api.github.com/users/rubinius/gists{/gist_id}","starred_url":"https://api.github.com/users/rubinius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubinius/subscriptions","organizations_url":"https://api.github.com/users/rubinius/orgs","repos_url":"https://api.github.com/users/rubinius/repos","events_url":"https://api.github.com/users/rubinius/events{/privacy}","received_events_url":"https://api.github.com/users/rubinius/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rubinius/rubinius","description":"The Rubinius Language Platform","fork":false,"url":"https://api.github.com/repos/rubinius/rubinius","forks_url":"https://api.github.com/repos/rubinius/rubinius/forks","keys_url":"https://api.github.com/repos/rubinius/rubinius/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rubinius/rubinius/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rubinius/rubinius/teams","hooks_url":"https://api.github.com/repos/rubinius/rubinius/hooks","issue_events_url":"https://api.github.com/repos/rubinius/rubinius/issues/events{/number}","events_url":"https://api.github.com/repos/rubinius/rubinius/events","assignees_url":"https://api.github.com/repos/rubinius/rubinius/assignees{/user}","branches_url":"https://api.github.com/repos/rubinius/rubinius/branches{/branch}","tags_url":"https://api.github.com/repos/rubinius/rubinius/tags","blobs_url":"https://api.github.com/repos/rubinius/rubinius/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rubinius/rubinius/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rubinius/rubinius/git/refs{/sha}","trees_url":"https://api.github.com/repos/rubinius/rubinius/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rubinius/rubinius/statuses/{sha}","languages_url":"https://api.github.com/repos/rubinius/rubinius/languages","stargazers_url":"https://api.github.com/repos/rubinius/rubinius/stargazers","contributors_url":"https://api.github.com/repos/rubinius/rubinius/contributors","subscribers_url":"https://api.github.com/repos/rubinius/rubinius/subscribers","subscription_url":"https://api.github.com/repos/rubinius/rubinius/subscription","commits_url":"https://api.github.com/repos/rubinius/rubinius/commits{/sha}","git_commits_url":"https://api.github.com/repos/rubinius/rubinius/git/commits{/sha}","comments_url":"https://api.github.com/repos/rubinius/rubinius/comments{/number}","issue_comment_url":"https://api.github.com/repos/rubinius/rubinius/issues/comments{/number}","contents_url":"https://api.github.com/repos/rubinius/rubinius/contents/{+path}","compare_url":"https://api.github.com/repos/rubinius/rubinius/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rubinius/rubinius/merges","archive_url":"https://api.github.com/repos/rubinius/rubinius/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rubinius/rubinius/downloads","issues_url":"https://api.github.com/repos/rubinius/rubinius/issues{/number}","pulls_url":"https://api.github.com/repos/rubinius/rubinius/pulls{/number}","milestones_url":"https://api.github.com/repos/rubinius/rubinius/milestones{/number}","notifications_url":"https://api.github.com/repos/rubinius/rubinius/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rubinius/rubinius/labels{/name}","releases_url":"https://api.github.com/repos/rubinius/rubinius/releases{/id}","created_at":"2008-01-12T16:46:52Z","updated_at":"2015-05-27T09:46:47Z","pushed_at":"2015-05-28T11:25:22Z","git_url":"git://github.com/rubinius/rubinius.git","ssh_url":"git@github.com:rubinius/rubinius.git","clone_url":"https://github.com/rubinius/rubinius.git","svn_url":"https://github.com/rubinius/rubinius","homepage":"http://rubini.us","size":206055,"stargazers_count":2412,"watchers_count":2412,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":578,"mirror_url":null,"open_issues_count":189,"forks":578,"open_issues":189,"watchers":2412,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rubinius/rubinius/pulls/3414"},"html":{"href":"https://github.com/rubinius/rubinius/pull/3414"},"issue":{"href":"https://api.github.com/repos/rubinius/rubinius/issues/3414"},"comments":{"href":"https://api.github.com/repos/rubinius/rubinius/issues/3414/comments"},"review_comments":{"href":"https://api.github.com/repos/rubinius/rubinius/pulls/3414/comments"},"review_comment":{"href":"https://api.github.com/repos/rubinius/rubinius/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rubinius/rubinius/pulls/3414/commits"},"statuses":{"href":"https://api.github.com/repos/rubinius/rubinius/statuses/91dcc522b5e0d54b9aabf32e64af637dd9e2fe83"}}}}