shuber / attr_encrypted
- Source
- Commits
- Network (5)
- Issues (3)
- Downloads (8)
- Wiki (2)
- Graphs
-
Branch:
master
-
Comments
-
Hi Sean,
I'm wondering if you have plans to put attr_encrypted up on Gemcutter (or even RubyForge) in the future. Github dropping gem building has a lot of people standing on their heads! Thanks,
Steve
Comments
Oh that sucks. I'll throw all my gems up on Gemcutter then. Thanks for the heads up!
laserlemon
Fri Oct 16 13:00:06 -0700 2009
| link
Still planning on it? FYI: http://github.com/blog/515-gem-building-is-defunct
GitHub gem building is officially kaput. Bummer. -
validates_numericality_of fails to run on attr_encrypted fields
0 comments Created 25 days ago by gabetaxThe validates_numericality_of method in ActiveRecord specifically sends (activerecord/lib/active_record/validations.rb:1019, in rails-2.3.5):
record.send("#{attr_name}_before_type_cast")
While this method exists for any native-columns in ActiveRecord, it doesn't with the virtual non-encrypted fields.
Example:
class AchPayment < ActiveRecord::Baseattr_encrypted :account_number, :key => $encryption_key attr_encrypted :routing_number, :key => $encryption_key
validates_length_of :account_number, :in => 2..15 validates_numericality_of :account_number, :only_integer => true validates_length_of :routing_number, :is => 9 validates_numericality_of :account_number, :only_integer => true end
Produces:
a = Factory.build(:ach_payment) => # a.save NoMethodError: undefined method `account_number_before_type_cast' for #<AchPayment:0x102e380c0>
from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/attribute_methods.rb:255:in `method_missing' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/validations.rb:1019:in `send' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/validations.rb:1019:in `validates_numericality_of' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/validations.rb:468:in `validates_each' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/validations.rb:465:in `each' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/validations.rb:465:in `validates_each' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `call' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `evaluate_method' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:166:in `call' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `run' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `each' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `send' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `run' from /Users/user/Desktop/project/vendor/rails/activesupport/lib/active_support/callbacks.rb:276:in `run_callbacks' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/validations.rb:1098:in `valid_without_callbacks?' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/callbacks.rb:315:in `valid?' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/validations.rb:1077:in `save_without_dirty' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/dirty.rb:79:in `save_without_transactions' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `send' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `with_transaction_returning_status' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/transactions.rb:182:in `transaction' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/transactions.rb:228:in `with_transaction_returning_status' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in `save' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/transactions.rb:208:in `rollback_active_record_state!' from /Users/user/Desktop/project/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in `save'would it make sense to add a _before_type_cast match to Huberry::AttrEncrypted::Adapters::ActiveRecord::method_missing_with_attr_encrypted ?
Comments




