Skip to content

Instantly share code, notes, and snippets.

.Album
%table
- @albums.each_with_index do |album, i|
- if i % 3 == 0
%tr
%td
= link_to image_tag(album.cover_photo_url(:thumb), :class => "polaroid"), user_album_path(album.user, album)
.caption
= link_to album.name, user_album_path(album.user, album)
def update
@user.attributes = params[:user]
@metro_areas, @states = setup_locations_for(@user)
unless params[:metro_area_id].blank?
@user.metro_area = MetroArea.find(params[:metro_area_id])
@user.state = (@user.metro_area && @user.metro_area.state) ? @user.metro_area.state : nil
@user.country = @user.metro_area.country if (@user.metro_area && @user.metro_area.country)
else
@user.metro_area = @user.state = @user.country = nil
C:\statemachine>irb
irb(main):001:0> class Foo
irb(main):002:1> def Bar
irb(main):003:2> end
irb(main):004:1> end
=> nil
irb(main):005:0> @foo = Foo
=> Foo
irb(main):006:0> @foo.Bar
NoMethodError: undefined method `Bar' for Foo:Class
class TransactionAccount < ActiveRecord::Base
composed_of :balance, :class_name => "Money", :mapping => [%w(cents account_balance_cents), %w(currency currency) ]
belongs_to :user
has_many sent_transactions, :class_name => "TransactionItem",
:foreign_key => "transaction_sender_account_id"
has_many received_transactions, :class_name => "TransactionItem",
:foreign_key => "transaction_receiver_account_id"
end
class TransactionAccount < ActiveRecord::Base
composed_of :balance, :class_name => "Money", :mapping => [%w(cents account_balance_cents), %w(currency currency) ]
belongs_to :user
has_many :sent_transactions, :class_name => "TransactionItem",
:foreign_key => "transaction_sender_account_id"
has_many :received_transactions, :class_name => "TransactionItem",
:foreign_key => "transaction_receiver_account_id"
end
def update_balance
calculated_balance = Money.new(0)
sent_transactions.each do |transaction|
calculated_balance += transaction.sender_amount
end
received_transactions.each do |transaction|
calculated_balance += transaction.receiver_amount
end
self.balance = calculated_balance
>> @item
=> #<TransactionItemDeposit id: 3, type: "TransactionItemDeposit", transaction_sender_account_id: nil, transaction_receiver_account_id: 1, transaction_object_id: nil, transaction_o
bject_type: nil, description: "signup bonus", cents: 2099, currency: "USD", status: "Complete", created_at: "2009-02-17 13:39:06", updated_at: "2009-02-17 13:39:06">
>> @item.save
=> true
>> @item
=> #<TransactionItemDeposit id: 3, type: "TransactionItemDeposit", transaction_sender_account_id: nil, transaction_receiver_account_id: 1, transaction_object_id: nil, transaction_o
bject_type: nil, description: "signup bonus", cents: 2099, currency: "USD", status: "Complete", created_at: "2009-02-17 13:39:06", updated_at: "2009-02-17 13:39:06">
>> TransactionItem.find(3)
=> #<TransactionItemDeposit id: 3, type: "TransactionItemDeposit", transaction_sender_account_id: nil, transaction_receiver_account_id: 1, transaction_object_id: nil, transaction_o
class TransactionAccount < ActiveRecord::Base
composed_of :balance, :class_name => "Money", :mapping => [%w(account_balance_cents cents), %w(currency currency) ]
belongs_to :user
has_many :sent_transactions, :class_name => "TransactionItem",
:foreign_key => "transaction_sender_account_id"
has_many :received_transactions, :class_name => "TransactionItem",
:foreign_key => "transaction_receiver_account_id"
>> @item.update_attribute(:status, "Complete")
=> true
>> @item.save
=> true
>> @item
=> #<TransactionItemDeposit id: 3, type: "TransactionItemDeposit", transaction_sender_account_id: nil, transaction_receiver_account_id: 1, transaction_object_id: nil, transaction_o
bject_type: nil, description: "signup bonus", cents: 2099, currency: "USD", status: "Complete", created_at: "2009-02-17 13:39:06", updated_at: "2009-02-17 13:39:06">
>> TransactionItem.find(3)
=> #<TransactionItemDeposit id: 3, type: "TransactionItemDeposit", transaction_sender_account_id: nil, transaction_receiver_account_id: 1, transaction_object_id: nil, transaction_o
bject_type: nil, description: "signup bonus", cents: 2099, currency: "USD", status: "Pending", created_at: "2009-02-17 13:39:06", updated_at: "2009-02-17 13:39:06">
def update_balance
received_query = "select sum(receiver_cents) as receiver_cents, receiver_currency from `transaction_items` where `transaction_receiver_account_id`='"+user.id.to_s+"' and `receiver_accounted`='1' group by `receiver_currency`;"
sent_query = "select sum(sender_cents) as sender_cents, sender_currency from `transaction_items` where `transaction_sender_account_id`='"+user.id.to_s+"' and `sender_accounted`='1' group by `sender_currency`;"
calculated_balance = Money.new(0, "USD")
# There are very few reasons you should ever need to do this...
# This could be considered one of them -_-
result = connection.execute(received_query);
result.each_hash do |t|