{"id":16086837,"url":"https://github.com/olekscode/transformationrule","last_synced_at":"2026-02-02T00:01:58.901Z","repository":{"id":88081653,"uuid":"302888365","full_name":"olekscode/TransformationRule","owner":"olekscode","description":"Transformation rule reification based on the Refactoring rules","archived":false,"fork":false,"pushed_at":"2021-07-02T01:00:44.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-16T04:18:07.149Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Smalltalk","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/olekscode.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}},"created_at":"2020-10-10T11:40:09.000Z","updated_at":"2021-07-02T01:00:47.000Z","dependencies_parsed_at":"2023-05-18T05:00:19.100Z","dependency_job_id":null,"html_url":"https://github.com/olekscode/TransformationRule","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/olekscode/TransformationRule","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2FTransformationRule","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2FTransformationRule/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2FTransformationRule/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2FTransformationRule/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olekscode","download_url":"https://codeload.github.com/olekscode/TransformationRule/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2FTransformationRule/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28996568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"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":[],"created_at":"2024-10-09T13:25:32.591Z","updated_at":"2026-02-02T00:01:58.878Z","avatar_url":"https://github.com/olekscode.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TransformationRule\n\n[![Build Status](https://travis-ci.org/olekscode/TransformationRule.svg?branch=master)](https://travis-ci.org/olekscode/TransformationRule)\n[![Build status](https://ci.appveyor.com/api/projects/status/xyq3u97y1dg1br6f?svg=true)](https://ci.appveyor.com/project/olekscode/transformationrule)\n[![Coverage Status](https://coveralls.io/repos/github/olekscode/TransformationRule/badge.svg?branch=master)](https://coveralls.io/github/olekscode/TransformationRule?branch=master)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/olekscode/TransformationRule/master/LICENSE)\n\n## How to install it?\n\nTo install `TransformationRule`, go to the Playground (Ctrl+OW) in your [Pharo](https://pharo.org/) image and execute the following Metacello script (select it and press Do-it button or Ctrl+D):\n\n```Smalltalk\nMetacello new\n  baseline: 'TransformationRule';\n  repository: 'github://olekscode/TransformationRule/src';\n  load.\n```\n\n## How to depend on it?\n\nIf you want to add a dependency on `TransformationRule` to your project, include the following lines into your baseline method:\n\n```Smalltalk\nspec\n  baseline: 'TransformationRule'\n  with: [ spec repository: 'github://olekscode/TransformationRule/src' ].\n```\n\nIf you are new to baselines and Metacello, check out the [Baselines](https://github.com/pharo-open-documentation/pharo-wiki/blob/master/General/Baselines.md) tutorial on Pharo Wiki.\n\n## How to use it?\n\n```Smalltalk\nrule := TransformationRule\n  antecedent: '`@rec doWithIndex: `@arg'\n  consequent: '`@rec withIndexDo: `@arg'.\n```\n\n```Smalltalk\nrule := ('`@rec doWithIndex: `@arg' -\u003e '`@rec withIndexDo: `@arg') asTransformationRule.\n```\n\n```Smalltalk\nrule antecedent. \"`@rec doWithIndex: `@arg\"\nrule consequent. \"`@rec withIndexDo: `@arg\"\n\nrule antecedentAST. \"RBMessageNode(`@rec doWithIndex: `@arg)\"\nrule consequentAST. \"RBMessageNode(`@rec withIndexDo: `@arg)\"\n\nrule isValid. \"true\"\n```\n\n```Smalltalk\nrule applyTo: (Object \u003e\u003e #copySameFrom:).\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folekscode%2Ftransformationrule","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folekscode%2Ftransformationrule","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folekscode%2Ftransformationrule/lists"}