{"id":38481864,"url":"https://github.com/canmod/oor","last_synced_at":"2026-01-17T05:30:06.088Z","repository":{"id":110066385,"uuid":"553801790","full_name":"canmod/oor","owner":"canmod","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-22T13:47:26.000Z","size":87,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-09T22:28:13.457Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","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/canmod.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-18T19:47:32.000Z","updated_at":"2025-08-22T13:47:29.000Z","dependencies_parsed_at":"2025-08-22T15:25:32.928Z","dependency_job_id":"dcd68628-caf5-4e72-ada6-b3c3ad9cb6d1","html_url":"https://github.com/canmod/oor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/canmod/oor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canmod%2Foor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canmod%2Foor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canmod%2Foor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canmod%2Foor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/canmod","download_url":"https://codeload.github.com/canmod/oor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canmod%2Foor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28499726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2026-01-17T05:30:03.490Z","updated_at":"2026-01-17T05:30:06.029Z","avatar_url":"https://github.com/canmod.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lightweight Tools for Object Oriented Programming\n\n[![R-CMD-check](https://github.com/canmod/oor/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/canmod/oor/actions/workflows/R-CMD-check.yaml)\n\n## Why?\n\nMany object oriented programming frameworks exist for R, so why another? I wanted minimal magic, to develop a very solid understanding and use of basic R concepts (e.g. environments), and to have no dependencies on third-party packages. \n\n\n## Installation\n\nTo install the development version please use this.\n```\nremotes::install_github(\"canmod/oor\")\n```\n\nTo install the stable version please use this.\n```\ninstall.packages(\"oor\", repos = \"https://canmod.github.io/drat\", type = \"source\")\n```\n\n\n## Roadmap\n\nWe intend for this to be a very stable and simple package. To get to this point, the roadmap consists of the following two items that we hope will never change.\n\n1. Remove or simplify the complexities of traits and other fancy types of inheritance.\n2. Test\n\n\n## Hello world\n\n```\nPrinter = function(x) {\n  self = Base()\n  self$.x = x\n  self$print = function() print(self$.x)\n  return_object(self, \"Printer\")\n}\nprinter = Printer(\"something to print\")\nprinter$print()\n\nSupportivePrinter = function(x) {\n  self = Printer(x)\n  self$print = function() {\n    print(paste(sQuote(self$.x), \"is a very nice thing to say\"))\n  }\n  return_object(self, \"Supportive\")\n}\nsupportive_printer = SupportivePrinter(\"something to print\")\nsupportive_printer$print()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanmod%2Foor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanmod%2Foor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanmod%2Foor/lists"}