decimalizer
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Create virtual attributes on ActiveRecord models for accessing money values stored in pence/cents as an int as decimals. Rails validation compatible.
Decimalizer
===========

Create virtual attributes on ActiveRecord models for accessing money values stored in pence/cents as an int as decimals. Rails validation compatible.

Installation
============

Rails 2.1 or greater
--------------------

To install the gem, Rails 2.1 or later, add the gem.config line in environment.rb as follows

	Rails::Initializer.run do |config|
	...
	  	config.gem "miletbaker-decimalizer", :lib => "decimalizer", :source => "http://gems.github.com"
	...
	end
	
then

	sudo rake gems:install

Earlier versions of Rails and other Ruby frameworks
----------------------------------------------

To install the gem

	gem sources -a http://gems.github.com
	sudo gem install miletbaker-decimalizer

To install as a plugin (Rails)

	cd into your Rails root folder
	script/plugin install git://github.com/miletbaker/decimalizer.git
	
Then require the library where needed, i.e. in environment.rb in older rails

	require 'decimalizer'

Example
=======
Just include Decimalizer in your model (where required)

	class MyModel < ActiveRecord::Base
		include Decimalizer
		decimalize :price # Monetary amount stored in pence / cents
	
	end

Then you will be able to access price as a decimal via the generated virtual attributes

	m = MyModel.new
	m.price = 2300
	m.price_as_decimal	# 23.00
	
You can pass in the value from a view

	m = MyModel.new({price_as_decimal => "45.99"})
	m.price 			# 4599

You can also use this virtual attribute with ActiveRecord validations, i.e.

	class MyModel < ActiveRecord::Base
		...
		validates_numericality_of :price_as_decimal, :message => "is not a valid price"
		...
	end


Copyright (c) 2009 Go Tripod Ltd, released under the MIT license

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。