{"id":15647551,"url":"https://github.com/ioquatix/ffi-clang","last_synced_at":"2025-05-16T18:10:37.448Z","repository":{"id":8916361,"uuid":"10642976","full_name":"ioquatix/ffi-clang","owner":"ioquatix","description":"Ruby FFI bindings for libclang 3.4+.","archived":false,"fork":false,"pushed_at":"2025-02-16T20:55:29.000Z","size":434,"stargazers_count":45,"open_issues_count":10,"forks_count":35,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-12T17:46:37.999Z","etag":null,"topics":["cpp","ffi","libclang","ruby"],"latest_commit_sha":null,"homepage":"","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/ioquatix.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ioquatix"}},"created_at":"2013-06-12T13:06:10.000Z","updated_at":"2025-02-16T20:25:51.000Z","dependencies_parsed_at":"2024-06-19T17:13:09.942Z","dependency_job_id":"64cc59f2-55ec-4d64-8cb8-39239411606d","html_url":"https://github.com/ioquatix/ffi-clang","commit_stats":{"total_commits":219,"total_committers":20,"mean_commits":10.95,"dds":0.6027397260273972,"last_synced_commit":"6590178c4e44335a0ba18474950a8dc6590dac72"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioquatix%2Fffi-clang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioquatix%2Fffi-clang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioquatix%2Fffi-clang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioquatix%2Fffi-clang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioquatix","download_url":"https://codeload.github.com/ioquatix/ffi-clang/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110367,"owners_count":22016391,"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":["cpp","ffi","libclang","ruby"],"created_at":"2024-10-03T12:19:49.962Z","updated_at":"2025-05-16T18:10:37.424Z","avatar_url":"https://github.com/ioquatix.png","language":"Ruby","funding_links":["https://github.com/sponsors/ioquatix"],"categories":[],"sub_categories":[],"readme":"# FFI::Clang\n\nA light-weight wrapper for Ruby exposing [libclang](http://llvm.org/devmtg/2010-11/Gregor-libclang.pdf). Works for libclang v3.4+.\n\n[![Development Status](https://github.com/ioquatix/ffi-clang/workflows/Test/badge.svg)](https://github.com/ioquatix/ffi-clang/actions?workflow=Test)\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem 'ffi-clang'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install ffi-clang\n\n## Usage\n\nTraverse the AST in the given file:\n\n    index = Index.new\n    translation_unit = index.parse_translation_unit(\"list.c\")\n    cursor = translation_unit.cursor\n    cursor.visit_children do |cursor, parent|\n    \tputs \"#{cursor.kind} #{cursor.spelling.inspect}\"\n    \t\n    \tnext :recurse \n    end\n\n### Library Version\n\nDue to issues figuring out which library to use, we require you to manually specify it. For example, to run the tests, with MacPorts llvm/clang 3.4, use the following:\n\n    LLVM_CONFIG=llvm-config-mp-3.4 rake\n\n## Releases\n\n## Contributing\n\nWe welcome contributions to this project.\n\n1.  Fork it.\n2.  Create your feature branch (`git checkout -b my-new-feature`).\n3.  Commit your changes (`git commit -am 'Add some feature'`).\n4.  Push to the branch (`git push origin my-new-feature`).\n5.  Create new Pull Request.\n\n### Developer Certificate of Origin\n\nThis project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this project must agree to this document to have their contributions accepted.\n\n### Contributor Covenant\n\nThis project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fioquatix%2Fffi-clang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fioquatix%2Fffi-clang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fioquatix%2Fffi-clang/lists"}