{"id":22169324,"url":"https://github.com/spangenberg/alfred","last_synced_at":"2025-03-24T17:22:22.381Z","repository":{"id":1606179,"uuid":"2194366","full_name":"spangenberg/alfred","owner":"spangenberg","description":"Alfred provides better attr_accessor handling on your application.","archived":false,"fork":false,"pushed_at":"2014-07-03T16:03:48.000Z","size":152,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-15T07:04:54.106Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/alfred","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"dospuntocero/EventCalendar","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spangenberg.png","metadata":{"files":{"readme":"README.textile","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-11T23:20:43.000Z","updated_at":"2017-08-17T11:14:35.000Z","dependencies_parsed_at":"2022-09-06T04:50:39.327Z","dependency_job_id":null,"html_url":"https://github.com/spangenberg/alfred","commit_stats":null,"previous_names":["parcydo/alfred"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spangenberg%2Falfred","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spangenberg%2Falfred/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spangenberg%2Falfred/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spangenberg%2Falfred/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spangenberg","download_url":"https://codeload.github.com/spangenberg/alfred/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245315610,"owners_count":20595276,"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-12-02T06:30:53.085Z","updated_at":"2025-03-24T17:22:22.361Z","avatar_url":"https://github.com/spangenberg.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"h1. Alfred - the unobtrusive butler who takes care of the uninvited guests \"!https://secure.travis-ci.org/parcydo/alfred.png?branch=master!\":http://travis-ci.org/parcydo/alfred\n\nAlfred provides better attr_accessor handling on your application.\n\nh2. Contact\n* \"Github\":http://github.com/parcydo\n* \"Twitter\":http://twitter.com/parcydo\n\nh2. Documentation\n\n* \"Wiki\":http://github.com/parcydo/alfred/wiki\n* \"YARD\":http://rdoc.info/github/parcydo/alfred\n\nh2. Preview\n\nh3. Without Alfred, and with much mess:\n\n\u003cpre\u003e\n# app/models/user.rb\nclass User \u003c ActiveRecord::Base\n  attr_accessible :email, :password, :password_confirmation\n  attr_accessible :email, :password, :password_confirmation, :username, as: :admin\n  attr_accessible :email, :password, :password_confirmation, :username, as: :on_create\nend\n\u003c/pre\u003e\n\nHave to use a special role:\n\n\u003cpre\u003e\n# app/controllers/users_controlelr.rb\nclass UsersController \u003c ApplicationController\n  def create\n    @user = User.create(params[:user], as: :on_create)\n  end\nend\n\u003c/pre\u003e\n\nh3. With Alfred and no hassles:\n\n\u003cpre\u003e\n# app/models/user.rb\nclass User \u003c ActiveRecord::Base\n  alfred_accessible :email, :password\n  alfred_accessible :username, as: :admin\n  alfred_accessible :username, on: :create\nend\n\u003c/pre\u003e\n\nNothing special here:\n\n\u003cpre\u003e\n# app/controllers/users_controlelr.rb\nclass UsersController \u003c ApplicationController\n  def create\n    @user = User.create(params[:user])\n  end\nend\n\u003c/pre\u003e\n\nh2. Usage\n\nalfred_accessible and alfred_protected behaves just like attr_accessible and attr_protected on steroids.\n\nh3. accessible and protected\n\n\u003cpre\u003e\n  class User \u003c ActiveRecord::Base\n    alfred_accessible :a, :b\n    alfred_protected :c, :d\n  end\n\u003c/pre\u003e\n\nh3. roles\n\nCustom inherits from default role:\n\n\u003cpre\u003e\n  class User \u003c ActiveRecord::Base\n    alfred_accessible :a, :b\n    alfred_accessible :c, :d, as: :custom\n  end\n\u003c/pre\u003e\n\nh3. custom inheritance\n\n\u003cpre\u003e\n  class User \u003c ActiveRecord::Base\n    alfred_accessible :a, :b\n    alfred_accessible :c, :d, as: :custom\n    alfred_accessible :e, :f, as: :custom2, inherit: :custom\n  end\n\u003c/pre\u003e\n\nh3. events\n\n\u003cpre\u003e\n  class User \u003c ActiveRecord::Base\n    alfred_accessible :a, :b\n    alfred_accessible :c, :d, on: :create\n    alfred_accessible :e, :f, on: :update\n  end\n\u003c/pre\u003e\n\nh3. passwords\n\npassword_confirmation will automatically added by default.\n\n\u003cpre\u003e\n  class User \u003c ActiveRecord::Base\n    alfred_accessible :password\n  end\n\u003c/pre\u003e\n\nh2. Requirements\n\n* Ruby 1.9.2 (Ruby 1.9.1 is not supported).\n* Rails 3.1.x (Rails 3.0.x is not supported).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspangenberg%2Falfred","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspangenberg%2Falfred","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspangenberg%2Falfred/lists"}