chb/has_named_bootstraps
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= HasNamedBootstraps This is alpha code. The API is subject (and almost certain) to change. It shouldn't hurt your computer or data, but if it does, I am not obligated to do anything, even feel sorry for you. has_named_bootstraps is a simple way to load bootstrapped records into class-level constants, making application-level data integrity easier. You can also generate a list in another constant of all such bootstraps, which is handy for generating <select>s and writing certain kinds of tests. Getting the bootstrapped data in beforehand is up to you. I like seed_fu (http://github.com/mbleigh/seed-fu) for this personally. If has_named_bootstraps can't find a bootstrap, by default it'll raise an error. It's also possible to have it log a warning and continue, or continue silently. = Example class Department < ActiveRecord::Base has_named_bootstraps( :R_AND_D => 'R&D', :MARKETING => 'Marketing', :HANDSOME_DEVILS => 'Web Development' ) end >> Department.find(:all) => [#<Department id: 1, name: "R&D">, #<Department id: 2, name: "Marketing">, #<Department id: 3, name: "Web Development">] >> Department::R_AND_D => #<Department id: 1, name: "R&D"> >> Department::MARKETING => #<Department id: 2, name: "Marketing"> >> Department::HANDSOME_DEVILS => #<Department id: 3, name: "Web Development"> With a master list: class Dog < ActiveRecord::Base has_named_bootstraps( {:FIDO => 'Fido', :ROVER => 'Rover', :SPOT => 'Spot'}, :master_list => :GOOD_DOGS ) end >> Dog.find(:all) => [#<Dog id: 1, name: "Spot">, #<Dog id: 2, name: "Fido">, #<Dog id: 3, name: "Rover">] >> Dog::GOOD_DOGS => [#<Dog id: 1, name: "Spot">, #<Dog id: 2, name: "Fido">, #<Dog id: 3, name: "Rover">] See HasNamedBootstraps::ClassMethods for other options. = TODO make should_have_named_bootstraps detect multiple missing bootstraps (not just the first) write tests for shoulda macros, document same Markdown README for GitHub = License and copyright Copyright (c) 2010 Children's Hospital Boston, released under the GNU Lesser General Public License. = Acknowledgements Thanks to Wyatt Greene for feedback, Dan Croak for patches and Harold Gimenez for Markdown advice. Boston.rb can beat up your Ruby group.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published