hashtrain / acts_as_random_id
- Source
- Commits
- Network (1)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Thu May 07 04:40:52 -0700 2009 | |
| |
MIT-LICENSE | Fri Apr 24 12:50:23 -0700 2009 | |
| |
README.rdoc | Fri May 08 11:53:44 -0700 2009 | |
| |
Rakefile | Fri May 08 05:42:58 -0700 2009 | |
| |
acts_as_random_id.gemspec | Fri May 08 05:42:58 -0700 2009 | |
| |
init.rb | Thu Apr 23 03:45:00 -0700 2009 | |
| |
install.rb | Thu Apr 23 03:45:00 -0700 2009 | |
| |
lib/ | Fri May 08 04:39:49 -0700 2009 | |
| |
rdoc/ | Thu May 07 04:35:14 -0700 2009 | |
| |
tasks/ | Sun Apr 26 03:12:05 -0700 2009 | |
| |
test/ | Fri May 08 04:39:49 -0700 2009 | |
| |
uninstall.rb | Thu Apr 23 03:45:00 -0700 2009 |
ActsAsRandomId
Generating unique random id for ActiveRecord models
Example
class Comment < ActiveRecord::Base
acts_as_random_id
end
class Group < ActiveRecord::Base
acts_as_random_id do
rand(3_14159265) + 1
end
end
class Article < ActiveRecord::Base
acts_as_random_id :field => :secure_identifier do
Time.now.to_i
end
end
Install
gem install hashtrain-acts_as_random_id --source http://gems.github.com
Usage
As you know rails generates field ID easy auto_incriment. Thus, there is an opportunity to check how many objects in the DB. Sometimes it’s secret information.
Using the plugin "acts_as_random_id" could generate a unique value id. Generation of ID will be until you will find a unique value ID. Of course you go to the full responsibility for the range.
By default, the plugin "acts_as_random_id" generates a unique id in the range of 1 to 2_147_483_647 (mysql and SQLite type integer)
class Comment < ActiveRecord::Base
acts_as_random_id
end
You can specify a range of transfer method "acts_as_random_id" block where the generator is implemented
class Group < ActiveRecord::Base
acts_as_random_id do
rand(3_14159265) + 1
end
end
License
Copyright © 2009 hashtrain.com and author idea Stanislav Pogrebnyak (stanislav.pogrebnyak@gmail.com), released under the MIT license.
