acvwilson-currency 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/currency.gemspec +3 -3
  2. data/spec/ar_spec_helper.rb +125 -0
  3. metadata +3 -3
data/currency.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{currency}
3
- s.version = "0.5.0"
3
+ s.version = "0.5.1"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["Asa Wilson"]
@@ -8,11 +8,11 @@ Gem::Specification.new do |s|
8
8
  s.description = %q{Currency conversions for Ruby}
9
9
  s.email = ["acvwilson@gmail.com"]
10
10
  s.extra_rdoc_files = ["ChangeLog", "COPYING.txt", "LICENSE.txt", "Manifest.txt", "README.txt", "Releases.txt", "TODO.txt"]
11
- s.files = ["COPYING.txt", "currency.gemspec", "examples/ex1.rb", "examples/xe1.rb", "lib/currency/active_record.rb", "lib/currency/config.rb", "lib/currency/core_extensions.rb", "lib/currency/currency/factory.rb", "lib/currency/currency.rb", "lib/currency/currency_version.rb", "lib/currency/exception.rb", "lib/currency/exchange/rate/deriver.rb", "lib/currency/exchange/rate/source/base.rb", "lib/currency/exchange/rate/source/failover.rb", "lib/currency/exchange/rate/source/federal_reserve.rb", "lib/currency/exchange/rate/source/historical/rate.rb", "lib/currency/exchange/rate/source/historical/rate_loader.rb", "lib/currency/exchange/rate/source/historical/writer.rb", "lib/currency/exchange/rate/source/historical.rb", "lib/currency/exchange/rate/source/new_york_fed.rb", "lib/currency/exchange/rate/source/provider.rb", "lib/currency/exchange/rate/source/test.rb", "lib/currency/exchange/rate/source/the_financials.rb", "lib/currency/exchange/rate/source/timed_cache.rb", "lib/currency/exchange/rate/source/xe.rb", "lib/currency/exchange/rate/source.rb", "lib/currency/exchange/rate.rb", "lib/currency/exchange/time_quantitizer.rb", "lib/currency/exchange.rb", "lib/currency/formatter.rb", "lib/currency/macro.rb", "lib/currency/money.rb", "lib/currency/money_helper.rb", "lib/currency/parser.rb", "lib/currency.rb", "LICENSE.txt", "Manifest.txt", "README.txt", "Releases.txt", "spec/ar_base_spec.rb", "spec/ar_column_spec.rb", "spec/ar_core_spec.rb", "spec/ar_simple_spec.rb", "spec/config_spec.rb", "spec/federal_reserve_spec.rb", "spec/formatter_spec.rb", "spec/historical_writer_spec.rb", "spec/macro_spec.rb", "spec/money_spec.rb", "spec/new_york_fed_spec.rb", "spec/parser_spec.rb", "spec/spec_helper.rb", "spec/time_quantitizer_spec.rb", "spec/timed_cache_spec.rb", "spec/xe_spec.rb", "TODO.txt"]
11
+ s.files = ["COPYING.txt", "currency.gemspec", "examples/ex1.rb", "examples/xe1.rb", "lib/currency/active_record.rb", "lib/currency/config.rb", "lib/currency/core_extensions.rb", "lib/currency/currency/factory.rb", "lib/currency/currency.rb", "lib/currency/currency_version.rb", "lib/currency/exception.rb", "lib/currency/exchange/rate/deriver.rb", "lib/currency/exchange/rate/source/base.rb", "lib/currency/exchange/rate/source/failover.rb", "lib/currency/exchange/rate/source/federal_reserve.rb", "lib/currency/exchange/rate/source/historical/rate.rb", "lib/currency/exchange/rate/source/historical/rate_loader.rb", "lib/currency/exchange/rate/source/historical/writer.rb", "lib/currency/exchange/rate/source/historical.rb", "lib/currency/exchange/rate/source/new_york_fed.rb", "lib/currency/exchange/rate/source/provider.rb", "lib/currency/exchange/rate/source/test.rb", "lib/currency/exchange/rate/source/the_financials.rb", "lib/currency/exchange/rate/source/timed_cache.rb", "lib/currency/exchange/rate/source/xe.rb", "lib/currency/exchange/rate/source.rb", "lib/currency/exchange/rate.rb", "lib/currency/exchange/time_quantitizer.rb", "lib/currency/exchange.rb", "lib/currency/formatter.rb", "lib/currency/macro.rb", "lib/currency/money.rb", "lib/currency/money_helper.rb", "lib/currency/parser.rb", "lib/currency.rb", "LICENSE.txt", "Manifest.txt", "README.txt", "Releases.txt", "spec/ar_spec_helper.rb", "spec/ar_column_spec.rb", "spec/ar_core_spec.rb", "spec/ar_simple_spec.rb", "spec/config_spec.rb", "spec/federal_reserve_spec.rb", "spec/formatter_spec.rb", "spec/historical_writer_spec.rb", "spec/macro_spec.rb", "spec/money_spec.rb", "spec/new_york_fed_spec.rb", "spec/parser_spec.rb", "spec/spec_helper.rb", "spec/time_quantitizer_spec.rb", "spec/timed_cache_spec.rb", "spec/xe_spec.rb", "TODO.txt"]
12
12
  s.has_rdoc = true
13
13
  s.homepage = %q{http://currency.rubyforge.org/}
14
14
  s.rdoc_options = ["--main", "README.txt"]
15
15
  s.require_paths = ["lib"]
16
16
  s.rubygems_version = %q{1.2.0}
17
- s.summary = %q{currency 0.5.0}
17
+ s.summary = %q{currency 0.5.1}
18
18
  end
@@ -0,0 +1,125 @@
1
+ # Copyright (C) 2006-2007 Kurt Stephens <ruby-currency(at)umleta.com>
2
+ # Copyright (C) 2008 Asa Wilson <acvwilson(at)gmail.com>
3
+ # See LICENSE.txt for details.
4
+
5
+ require File.dirname(__FILE__) + '/spec_helper'
6
+
7
+ require 'active_record'
8
+ require 'active_record/migration'
9
+ require File.dirname(__FILE__) + '/../lib/currency/active_record'
10
+
11
+ AR_M = ActiveRecord::Migration
12
+ AR_B = ActiveRecord::Base
13
+
14
+ def ar_setup
15
+ AR_B.establish_connection(database_spec)
16
+
17
+ # Subclasses can override this.
18
+ @currency_test_migration ||= nil
19
+ @currency_test ||= nil
20
+
21
+ # schema_down
22
+
23
+ schema_up
24
+
25
+ end
26
+
27
+ def database_spec
28
+ # TODO: Get from ../config/database.yml:test
29
+ # Create test database on:
30
+
31
+ # MYSQL:
32
+ #
33
+ # sudo mysqladmin create test;
34
+ # sudo mysql
35
+ # grant all on test.* to test@localhost identified by 'test';
36
+ # flush privileges;
37
+
38
+ # POSTGRES:
39
+ #
40
+ # CREATE USER test PASSWORD 'test';
41
+ # CREATE DATABASE test WITH OWNER = test;
42
+ #
43
+
44
+ # @database_spec = {
45
+ # :adapter => ENV['TEST_DB_ADAPTER'] || 'mysql',
46
+ # :host => ENV['TEST_DB_HOST'] || 'localhost',
47
+ # :username => ENV['TEST_DB_USER'] || 'test',
48
+ # :password => ENV['TEST_DB_PASS'] || 'test',
49
+ # :database => ENV['TEST_DB_TEST'] || 'test'
50
+ # }
51
+
52
+ @database_spec = {
53
+ :adapter => ENV['TEST_DB_ADAPTER'] || 'mysql',
54
+ :host => ENV['TEST_DB_HOST'] || 'localhost',
55
+ :username => ENV['TEST_DB_USER'] || 'root',
56
+ :password => ENV['TEST_DB_PASS'] || '',
57
+ :database => ENV['TEST_DB_TEST'] || 'currency_gem_test'
58
+ }
59
+
60
+ end
61
+
62
+ def schema_up
63
+ return unless @currency_test_migration
64
+ begin
65
+ @currency_test_migration.migrate(:up)
66
+ rescue Object =>e
67
+ $stderr.puts "Warning: #{e}"
68
+ end
69
+ end
70
+
71
+ def schema_down
72
+ return unless @currency_test_migration
73
+ begin
74
+ @currency_test_migration.migrate(:down)
75
+ rescue Object => e
76
+ $stderr.puts "Warning: #{e}"
77
+ end
78
+ end
79
+
80
+ ##################################################
81
+ # Scaffold
82
+ #
83
+
84
+ def insert_records
85
+ delete_records
86
+
87
+ @currency_test.reset_column_information
88
+
89
+ @usd = @currency_test.new(:name => '#1: USD', :amount => Currency::Money.new("12.34", :USD))
90
+ @usd.save
91
+
92
+ @cad = @currency_test.new(:name => '#2: CAD', :amount => Currency::Money.new("56.78", :CAD))
93
+ @cad.save
94
+ end
95
+
96
+ def delete_records
97
+ @currency_test.destroy_all
98
+ end
99
+
100
+ ##################################################
101
+
102
+ def assert_equal_money(a,b)
103
+ a.should_not be_nil
104
+ b.should_not be_nil
105
+ # Make sure a and b are not the same object.
106
+ b.object_id.should_not == a.object_id
107
+ b.id.should == a.id
108
+ a.amount.should.not == nil
109
+ a.amount.should be_kind_of(Money)
110
+ b.amount.should.not == nil
111
+ b.amount.should be_kind_of(Money)
112
+ # Make sure that what gets stored in the database comes back out
113
+ # when converted back to the original currency.
114
+ b.amount.rep.should == a.amount.convert(b.amount.currency).rep
115
+ end
116
+
117
+
118
+ def assert_equal_currency(a,b)
119
+ assert_equal_money a, b
120
+
121
+ b.amount.rep.should == a.amount.rep
122
+ b.amount.currency.should == a.amount.currency
123
+ b.amount.currency.code.should == a.amount.currency.code
124
+
125
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acvwilson-currency
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asa Wilson
@@ -68,7 +68,7 @@ files:
68
68
  - Manifest.txt
69
69
  - README.txt
70
70
  - Releases.txt
71
- - spec/ar_base_spec.rb
71
+ - spec/ar_spec_helper.rb
72
72
  - spec/ar_column_spec.rb
73
73
  - spec/ar_core_spec.rb
74
74
  - spec/ar_simple_spec.rb
@@ -112,6 +112,6 @@ rubyforge_project:
112
112
  rubygems_version: 1.2.0
113
113
  signing_key:
114
114
  specification_version: 2
115
- summary: currency 0.5.0
115
+ summary: currency 0.5.1
116
116
  test_files: []
117
117