{"id":18474396,"url":"https://github.com/codecop/javaclass-rb","last_synced_at":"2026-02-27T14:41:50.193Z","repository":{"id":56878369,"uuid":"238035320","full_name":"codecop/javaclass-rb","owner":"codecop","description":"Java Class File Parser for Ruby","archived":false,"fork":false,"pushed_at":"2020-10-04T18:51:40.000Z","size":977,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-07T21:41:32.731Z","etag":null,"topics":["classfile-parser","gem","java","ruby"],"latest_commit_sha":null,"homepage":"https://www.code-cop.org/api/javaclass-rb/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codecop.png","metadata":{"files":{"readme":"README.md","changelog":"history.txt","contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-03T18:40:41.000Z","updated_at":"2025-09-22T10:08:21.000Z","dependencies_parsed_at":"2022-08-20T23:10:19.137Z","dependency_job_id":null,"html_url":"https://github.com/codecop/javaclass-rb","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/codecop/javaclass-rb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fjavaclass-rb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fjavaclass-rb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fjavaclass-rb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fjavaclass-rb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codecop","download_url":"https://codeload.github.com/codecop/javaclass-rb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fjavaclass-rb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29900035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T14:30:36.354Z","status":"ssl_error","status_checked_at":"2026-02-27T14:30:01.989Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["classfile-parser","gem","java","ruby"],"created_at":"2024-11-06T10:29:20.572Z","updated_at":"2026-02-27T14:41:50.159Z","avatar_url":"https://github.com/codecop.png","language":"Ruby","readme":"# Java Class File Parser for Ruby\r\n\r\n## Description\r\n\r\njavaclass-rb (Java Class File Parser for Ruby) is a\r\nparser and disassembler for Java class files, similar to the javap command.\r\nIt provides access to the package, protected, and public fields and methods\r\nof the classes passed to it together with a list of all outgoing references.\r\n\r\n## Motivation\r\n\r\nI am still doing Java most of the time. I used to be quite enthusiastic about\r\nit, but after 11 years I can see the advantages of being a polyglot. So I use\r\nRuby for all kind of stuff, just for fun. When I needed some Java class\r\nanalysis I wrote it in Ruby. As I am a puritan, I did not\r\nwant to call `javap` from my script, so I started disassembling the class files,\r\nwhich might be the base for some serious static code analysis tools. (I\r\nstarted adding methods to that end...)\r\n\r\n## Goals\r\n\r\n* searching and accessing class files\r\n* parsing meta data of class files\r\n* displaying this meta data\r\n* analysing the structure of class files (down to field/method level)\r\n* calculating numbers based on this structure\r\n* calculating higher metrics\r\n* \"static code analysis\"\r\n\r\n## Non Goals\r\n\r\n* parsing the actual byte code\r\n* verifying byte code\r\n* generating byte code\r\n* generating class files\r\n* executing byte code\r\n\r\n## Documentation\r\n\r\nModule `JavaClass` is the entry point for basic functions. All advanced functions are\r\navailable in Object through the `JavaClass::Dsl::Mixin`. The main class or the parser\r\nis `JavaClass::ClassFile::JavaClassHeader` which provides access to all information\r\nof a Java class file.\r\nRead the [API RDoc](https://www.code-cop.org/api/javaclass-rb/).\r\n\r\n### License\r\n\r\n[The 2-Clause BSD License](http://opensource.org/licenses/bsd-license.php), see `license.txt` in repository.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecop%2Fjavaclass-rb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodecop%2Fjavaclass-rb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecop%2Fjavaclass-rb/lists"}