latinum 0.2.3 → 0.2.4
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.
- data/README.md +1 -2
 - data/lib/latinum/collection.rb +23 -1
 - data/lib/latinum/version.rb +1 -1
 - data/test/test_collection.rb +17 -0
 - metadata +2 -2
 
    
        data/README.md
    CHANGED
    
    | 
         @@ -43,8 +43,7 @@ To add multiple currencies together, use a collection: 
     | 
|
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
            	> currencies = Set.new
         
     | 
| 
       45 
45 
     | 
    
         
             
            	> collection = Latinum::Collection.new(currencies)
         
     | 
| 
       46 
     | 
    
         
            -
            	> collection << ten
         
     | 
| 
       47 
     | 
    
         
            -
            	> collection << twenty
         
     | 
| 
      
 46 
     | 
    
         
            +
            	> collection << [ten, twenty]
         
     | 
| 
       48 
47 
     | 
    
         
             
            	> currencies.collect {|currency| collection[currency]}
         
     | 
| 
       49 
48 
     | 
    
         
             
            	=> [10.0 NZD, 20.0 AUD]
         
     | 
| 
       50 
49 
     | 
    
         | 
    
        data/lib/latinum/collection.rb
    CHANGED
    
    | 
         @@ -31,12 +31,34 @@ module Latinum 
     | 
|
| 
       31 
31 
     | 
    
         
             
            		attr :names
         
     | 
| 
       32 
32 
     | 
    
         
             
            		attr :resources
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
            		def  
     | 
| 
      
 34 
     | 
    
         
            +
            		def add resource
         
     | 
| 
       35 
35 
     | 
    
         
             
            			@resources[resource.name] += resource.amount
         
     | 
| 
      
 36 
     | 
    
         
            +
            		end
         
     | 
| 
      
 37 
     | 
    
         
            +
            		
         
     | 
| 
      
 38 
     | 
    
         
            +
            		def << object
         
     | 
| 
      
 39 
     | 
    
         
            +
            			case object
         
     | 
| 
      
 40 
     | 
    
         
            +
            			when Resource
         
     | 
| 
      
 41 
     | 
    
         
            +
            				add(object)
         
     | 
| 
      
 42 
     | 
    
         
            +
            			when Array
         
     | 
| 
      
 43 
     | 
    
         
            +
            				object.each { |resource| add(resource) }
         
     | 
| 
      
 44 
     | 
    
         
            +
            			when Collection
         
     | 
| 
      
 45 
     | 
    
         
            +
            				object.resources.each { |name, amount| @resources[name] += amount }
         
     | 
| 
      
 46 
     | 
    
         
            +
            			end
         
     | 
| 
       36 
47 
     | 
    
         | 
| 
       37 
48 
     | 
    
         
             
            			return self
         
     | 
| 
       38 
49 
     | 
    
         
             
            		end
         
     | 
| 
       39 
50 
     | 
    
         | 
| 
      
 51 
     | 
    
         
            +
            		def others
         
     | 
| 
      
 52 
     | 
    
         
            +
            			self.dup
         
     | 
| 
      
 53 
     | 
    
         
            +
            			
         
     | 
| 
      
 54 
     | 
    
         
            +
            			case others
         
     | 
| 
      
 55 
     | 
    
         
            +
            			when Array
         
     | 
| 
      
 56 
     | 
    
         
            +
            				others.each { |resource| self << resource }
         
     | 
| 
      
 57 
     | 
    
         
            +
            			when Collection
         
     | 
| 
      
 58 
     | 
    
         
            +
            				
         
     | 
| 
      
 59 
     | 
    
         
            +
            			end
         
     | 
| 
      
 60 
     | 
    
         
            +
            		end
         
     | 
| 
      
 61 
     | 
    
         
            +
            		
         
     | 
| 
       40 
62 
     | 
    
         
             
            		def [] key
         
     | 
| 
       41 
63 
     | 
    
         
             
            			Resource.new(@resources[key], key)
         
     | 
| 
       42 
64 
     | 
    
         
             
            		end
         
     | 
    
        data/lib/latinum/version.rb
    CHANGED
    
    
    
        data/test/test_collection.rb
    CHANGED
    
    | 
         @@ -24,4 +24,21 @@ class CollectionTest < Test::Unit::TestCase 
     | 
|
| 
       24 
24 
     | 
    
         
             
            		collection << resource
         
     | 
| 
       25 
25 
     | 
    
         
             
            		assert_equal resource * 2, collection["NZD"]
         
     | 
| 
       26 
26 
     | 
    
         
             
            	end
         
     | 
| 
      
 27 
     | 
    
         
            +
            	
         
     | 
| 
      
 28 
     | 
    
         
            +
            	def test_additions
         
     | 
| 
      
 29 
     | 
    
         
            +
            		resources = [
         
     | 
| 
      
 30 
     | 
    
         
            +
            			Latinum::Resource.new("10", "NZD"),
         
     | 
| 
      
 31 
     | 
    
         
            +
            			Latinum::Resource.new("10", "AUD"),
         
     | 
| 
      
 32 
     | 
    
         
            +
            			Latinum::Resource.new("10", "USD"),
         
     | 
| 
      
 33 
     | 
    
         
            +
            			Latinum::Resource.new("10", "NZD"),
         
     | 
| 
      
 34 
     | 
    
         
            +
            			Latinum::Resource.new("10", "AUD"),
         
     | 
| 
      
 35 
     | 
    
         
            +
            			Latinum::Resource.new("10", "USD")
         
     | 
| 
      
 36 
     | 
    
         
            +
            		]
         
     | 
| 
      
 37 
     | 
    
         
            +
            		
         
     | 
| 
      
 38 
     | 
    
         
            +
            		collection = Latinum::Collection.new
         
     | 
| 
      
 39 
     | 
    
         
            +
            		collection << resources
         
     | 
| 
      
 40 
     | 
    
         
            +
            		
         
     | 
| 
      
 41 
     | 
    
         
            +
            		assert_equal resources[0] * 2, collection["NZD"]
         
     | 
| 
      
 42 
     | 
    
         
            +
            		assert_equal Set.new(["NZD", "AUD", "USD"]), collection.names
         
     | 
| 
      
 43 
     | 
    
         
            +
            	end
         
     | 
| 
       27 
44 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: latinum
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.4
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2012-07- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2012-07-31 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       14 
14 
     | 
    
         
             
            description: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            email: samuel.williams@oriontransfer.co.nz
         
     |