If you have the binary data you want to store in YAML, I believe you can use
the !binary directive to encode that data into your YAML file- some info is
at http://yaml.org/type/binary.html.
I think you might want to write a bit of code that will get the relevant
binary data and convert it to Base64. Then you can store that string into
your YAML and not have to worry about it again.
I think you can also do ''require'' in your YAML (in a <%
%> block) in the
same way as in any other code, though the Rails load order may make this
difficult in practice.
On 4/17/06, michael lascarides <michael@electrotone.com>
wrote:>
> Hi all,
>
> I have a shopping application I am testing, and one of the models is an
> Order model, within which a credit card number is encrypted and stored
> in the db (mysql) as a BLOB field. When trying to run my unit tests, I
> cannot get my model fixtures to load the encrypted data.
>
> If, in my dynamic fixture (YAML) file, I could have access to my
app''s
> models, the problem would be trivial.. instead of:
>
> valid_order:
> id: 1
> storefront_id: 1
> total_charge: 50.00
> tax_charge: 5.00
> ship_charge: 10.00
> ...
> payment_number: 4111111111111111
>
> (which doesn''t work), I could insert:
>
> valid_order:
> id: 1
> storefront_id: 1
> total_charge: 50.00
> tax_charge: 5.00
> ship_charge: 10.00
> ...
> payment_number: <%= Order.encrypt("4111111111111111")
%>
>
> which would give me what I want.
>
> My question is one of two things: a) Is there any ruby code I can put in
> the YAML file to "require" the Order model? Or, b) is there a way
to get
> the BLOB data out of the database and stick it in a fixture?
>
> thanks,
>
> Michael
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://wrath.rubyonrails.org/pipermail/rails/attachments/20060419/a8ff976a/attachment.html