{"id":17003833,"url":"https://github.com/cldwalker/alias","last_synced_at":"2025-03-22T16:30:46.108Z","repository":{"id":485112,"uuid":"111032","full_name":"cldwalker/alias","owner":"cldwalker","description":"Creates, manages and saves aliases for class methods, instance methods, constants, delegated methods and more.","archived":false,"fork":false,"pushed_at":"2012-09-14T02:12:29.000Z","size":336,"stargazers_count":25,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-18T13:32:15.279Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://tagaholic.me/alias/","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/cldwalker.png","metadata":{"files":{"readme":"README.rdoc","changelog":"CHANGELOG.rdoc","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":"2009-01-20T11:45:47.000Z","updated_at":"2022-11-28T16:03:12.000Z","dependencies_parsed_at":"2022-07-20T15:18:07.473Z","dependency_job_id":null,"html_url":"https://github.com/cldwalker/alias","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Falias","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Falias/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Falias/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Falias/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cldwalker","download_url":"https://codeload.github.com/cldwalker/alias/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244986297,"owners_count":20542991,"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-14T04:32:49.661Z","updated_at":"2025-03-22T16:30:45.644Z","avatar_url":"https://github.com/cldwalker.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"== Description\n\nCreates aliases for class methods, instance methods, constants, delegated methods and more. Aliases\ncan be easily searched or saved as YAML config files to load later. Custom alias types are easy to\ncreate with the DSL Alias provides.  Although Alias was created with the irb user in mind, any Ruby\nconsole program can hook into Alias for creating configurable aliases.\n\n== Setup\n\nInstall the gem with:\n\n    sudo gem install alias\n\nTo setup, simply drop these two lines in your .irbrc:\n\n    require 'alias' \n    Alias.create\n\nThis will assume a file in config/alias.yml or ~/.alias.yml. If you want it somewhere else,\npass a :file option to create():\n\n    Alias.create :file=\u003e\"/path/to/my/clandestine_aliases.yml\"\n\nIf you'd like to define your aliases without a config file, pass Alias.create() an :aliases option:\n\n    Alias.create :verbose=\u003etrue, :aliases=\u003e{\n      :constant=\u003e{'Array' = 'A'},\n      :instance_method=\u003e{'String'=\u003e{'downcase'=\u003e'dc' }, 'Array'=\u003e{'select'=\u003e's'}}\n    }\n\n== Usage\n\nAn example within Rails' script/console:\n\n    bash\u003e script/console\n    \u003e\u003e require 'alias'\n    =\u003e true\n\n    # Import alias methods\n    \u003e\u003e extend Alias::Console\n    =\u003e main\n\n    # First let's see what ruby code Alias generates to create an alias.\n    \u003e\u003e create_aliases :class_method, {\"ActiveRecord::Base\"=\u003e{'find'=\u003e'[]'}}, :pretend=\u003etrue\n\n    class ::ActiveRecord::Base; class\u003c\u003c self; alias_method :[], :find; end; end\n    =\u003e true\n\n    # Create the above class method alias\n    \u003e\u003e create_aliases :class_method, \"ActiveRecord::Base\"=\u003e{'find'=\u003e'[]'}\n    =\u003e true\n\n    # Create the above constant alias\n    \u003e\u003e create_aliases :constant, \"ActiveRecord::Base\"=\u003e\"AB\"\n    =\u003e true\n    # Verify that it worked\n    \u003e\u003e AB\n    =\u003e ActiveRecord::Base\n\n    # If we try to create the constant alias again, Alias prevents us and warns us\n    \u003e\u003e create_aliases :constant, \"ActiveRecord::Base\"=\u003e\"AB\"\n    Constant 'AB' not created since it already exists\n    =\u003e false\n    # We can force Alias to override a method, class or constant that already exists\n    \u003e\u003e create_aliases :constant, {\"ActiveRecord::Base\"=\u003e\"AB\"}, :force=\u003etrue\n    =\u003e true\n\n    # Create the above instance method alias\n    \u003e\u003e create_aliases :instance_method, \"ActiveRecord::Base\"=\u003e{\"update_attribute\"=\u003e'ua'}\n    =\u003e true\n\n    # By default aliases are saved to config/alias.yml in rails or ~/.alias.yml if not.\n    \u003e\u003e save_aliases\n    Saved created aliases to config/alias.yml.\n    =\u003e true\n\n== Configuration\n\nFor an example config file see test/aliases.yml.\nFor an explanation of the config file format see Alias.config_file.\n \n== Creating Custom Alias Types\n\nSee Alias::Creator.\n\n== Links\n* http://tagaholic.me/2009/07/07/alias-quickness-in-the-ruby-console.html\n\n==  Todo\n* Fix tests\n* Allow loading of select aliases in a file.\n* Provide a way to autogenerate aliases with a given proc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldwalker%2Falias","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcldwalker%2Falias","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldwalker%2Falias/lists"}