{"id":16604843,"url":"https://github.com/844196/log_parser","last_synced_at":"2026-04-24T04:31:49.242Z","repository":{"id":71721127,"uuid":"49443382","full_name":"844196/log_parser","owner":"844196","description":null,"archived":false,"fork":false,"pushed_at":"2016-01-16T15:28:35.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-05T12:42:43.313Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/844196.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-11T17:49:16.000Z","updated_at":"2016-01-11T17:50:02.000Z","dependencies_parsed_at":"2023-02-23T15:45:19.079Z","dependency_job_id":null,"html_url":"https://github.com/844196/log_parser","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/844196%2Flog_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/844196%2Flog_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/844196%2Flog_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/844196%2Flog_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/844196","download_url":"https://codeload.github.com/844196/log_parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242752627,"owners_count":20179547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T00:59:50.735Z","updated_at":"2025-12-24T04:32:10.225Z","avatar_url":"https://github.com/844196.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LogParser\n\n[![Required Ruby](https://img.shields.io/badge/ruby-%3E%3D%202.2.4-red.svg)](#)\n[![Travis branch](https://img.shields.io/travis/844196/log_parser.svg)](https://travis-ci.org/844196/log_parser)\n[![Coveralls branch](https://img.shields.io/coveralls/844196/log_parser/master.svg)](https://coveralls.io/github/844196/log_parser)\n[![Code Climate](https://img.shields.io/codeclimate/github/844196/log_parser.svg)](https://codeclimate.com/github/844196/log_parser)\n\n## Usage\n\n```ruby\nrequire 'log_parser'\nrequire 'csv'\n\nLogParser.yaml_load :file_obj =\u003e DATA\n\ncsv = \u003c\u003c-EOS\nPC00101,ak1111054,2000/01/01,0:00:00,0:01:00\nPC00203,sushi_tabetai,2000/01/01,12:34:56,15:31:58\nEOS\n\nrecords = []\nCSV.parse(csv) do |client_id, user_id, use_date, startup_time, shutdown_time|\n  records \u003c\u003c LogParser::Record.parse({\n    :client_id     =\u003e client_id,\n    :user_id       =\u003e user_id,\n    :use_date      =\u003e Date.parse(use_date),\n    :startup_time  =\u003e Time.parse(\"#{use_date} #{startup_time}\"),\n    :shutdown_time =\u003e Time.parse(\"#{use_date} #{shutdown_time}\")\n  })\nend\n\nrecords[0].pc.place              #=\u003e \"1F\"\nrecords[0].user.department       #=\u003e \"keiei_keizai\"\nrecords[1].user.student?         #=\u003e false\nrecords[1].use_date_time.uptime  #=\u003e 10622\n\n__END__\n:faculty:\n  keizai:\n    - ak\n  hoken:\n    - ah\n\n:department:\n  keiei_keizai:\n    - 11\n    - 12\n  hoken_fukushi:\n    - 61\n    - 62\n\n:place:\n  1F: !ruby/regexp /PC001../\n  2F: !ruby/regexp /PC002../\n\n:student_id:\n  :legal_pattern:\n    !ruby/regexp /\\A(?\u003cfaculty\u003e\\w{2})(?\u003cjoin_year\u003e\\d{1,2})(?\u003cdepartment\u003e\\d{2})(?\u003crange_number\u003e\\d{3})\\z/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F844196%2Flog_parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F844196%2Flog_parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F844196%2Flog_parser/lists"}