flash_extensions 3.1.1 → 3.2.0
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.
- checksums.yaml +4 -4
- data/README.md +16 -0
- data/lib/flash_extensions/extensions/enumerable_extension.rb +13 -0
- data/lib/flash_extensions/version.rb +1 -1
- data/spec/lib/enumerable_extension_spec.rb +24 -0
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 29bc0da7ad03da1d52f8eee6a230cf349c977bf7
         | 
| 4 | 
            +
              data.tar.gz: 4ff32a8160e43520e058d9376bcef76ee0718803
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f29027c054f49c5a80423aabb8c70bdd7f6b223a0b6565fcd4e2df10eba781b0f148106c907c0867923a57cd63acf350c01b604fbf1a8198f268e42848932faa
         | 
| 7 | 
            +
              data.tar.gz: 1e22b5d041b52897ec998a05ec5edec1c583a85cd8ffd95b43c62e38ee99794f7bfde795165165e3feca097e6951676a834dd2f41493aeacebb10de6291ad904
         | 
    
        data/README.md
    CHANGED
    
    | @@ -154,6 +154,14 @@ Use the `several?` method to return if there are several types of an element. | |
| 154 154 | 
             
            [].several? #=> false
         | 
| 155 155 | 
             
            ```
         | 
| 156 156 |  | 
| 157 | 
            +
            ####Standard Deviation:####
         | 
| 158 | 
            +
            Use the `standard_deviation` method to return the standard deviation of elements of a collection.
         | 
| 159 | 
            +
             | 
| 160 | 
            +
            ```ruby
         | 
| 161 | 
            +
            [1,2,6].variance #=> 2.6457513110645907
         | 
| 162 | 
            +
            [].variance #=> nil
         | 
| 163 | 
            +
            ```
         | 
| 164 | 
            +
             | 
| 157 165 | 
             
            ####Sum:####
         | 
| 158 166 | 
             
            Use the `sum` method to to return the sum of a collection of numbers.
         | 
| 159 167 |  | 
| @@ -180,6 +188,14 @@ Use the `take_last_while` method to return the last number of elements of a coll | |
| 180 188 | 
             
            [].take_last_while(&:odd?) #=> []
         | 
| 181 189 | 
             
            ```
         | 
| 182 190 |  | 
| 191 | 
            +
            ####Variance:####
         | 
| 192 | 
            +
            Use the `variance` method to return the variance of elements of a collection.
         | 
| 193 | 
            +
             | 
| 194 | 
            +
            ```ruby
         | 
| 195 | 
            +
            [1,2,6].variance #=> 7
         | 
| 196 | 
            +
            [].variance #=> nil
         | 
| 197 | 
            +
            ```
         | 
| 198 | 
            +
             | 
| 183 199 | 
             
            ### HashExtensions
         | 
| 184 200 |  | 
| 185 201 | 
             
            ####Except:####
         | 
| @@ -110,6 +110,11 @@ module Enumerable | |
| 110 110 | 
             
                (found_count > 1) ? true : false
         | 
| 111 111 | 
             
              end
         | 
| 112 112 |  | 
| 113 | 
            +
              def standard_deviation
         | 
| 114 | 
            +
                return if length < 2
         | 
| 115 | 
            +
                Math.sqrt(variance)
         | 
| 116 | 
            +
              end
         | 
| 117 | 
            +
             | 
| 113 118 | 
             
              def take_last(n)
         | 
| 114 119 | 
             
                array = to_a
         | 
| 115 120 |  | 
| @@ -125,4 +130,12 @@ module Enumerable | |
| 125 130 | 
             
                result
         | 
| 126 131 | 
             
              end
         | 
| 127 132 |  | 
| 133 | 
            +
              def variance
         | 
| 134 | 
            +
                collection_length = length
         | 
| 135 | 
            +
             | 
| 136 | 
            +
                return if collection_length < 1
         | 
| 137 | 
            +
                sum = inject(0) { |accumulator, value| accumulator + (value - mean) ** 2 }
         | 
| 138 | 
            +
                sum / (collection_length.to_f - 1)
         | 
| 139 | 
            +
              end
         | 
| 140 | 
            +
             | 
| 128 141 | 
             
            end
         | 
| @@ -158,6 +158,20 @@ describe Enumerable do | |
| 158 158 | 
             
                end
         | 
| 159 159 | 
             
              end
         | 
| 160 160 |  | 
| 161 | 
            +
              describe '#standard_deviation' do
         | 
| 162 | 
            +
                it 'to be the square root of the #variance' do
         | 
| 163 | 
            +
                  expect([1,2,6].standard_deviation).to eq(2.6457513110645907)
         | 
| 164 | 
            +
                end
         | 
| 165 | 
            +
             | 
| 166 | 
            +
                it 'to be nil for single element arrays' do
         | 
| 167 | 
            +
                  expect([1].standard_deviation).to be_nil
         | 
| 168 | 
            +
                end
         | 
| 169 | 
            +
             | 
| 170 | 
            +
                it 'to be nil if empty' do
         | 
| 171 | 
            +
                  expect([].standard_deviation).to be_nil
         | 
| 172 | 
            +
                end
         | 
| 173 | 
            +
              end
         | 
| 174 | 
            +
             | 
| 161 175 | 
             
              describe "#sum" do
         | 
| 162 176 | 
             
                it "to be 0" do
         | 
| 163 177 | 
             
                  expect([].sum).to eq(0)
         | 
| @@ -192,4 +206,14 @@ describe Enumerable do | |
| 192 206 | 
             
                end
         | 
| 193 207 | 
             
              end
         | 
| 194 208 |  | 
| 209 | 
            +
              describe '#variance' do
         | 
| 210 | 
            +
                it 'to be the mean squared deviation of the sample (n - 1 denominator)' do
         | 
| 211 | 
            +
                  expect([1,2,6].variance).to eq(7)
         | 
| 212 | 
            +
                end
         | 
| 213 | 
            +
             | 
| 214 | 
            +
                it 'to be nil if empty' do
         | 
| 215 | 
            +
                  expect([].variance).to be_nil
         | 
| 216 | 
            +
                end
         | 
| 217 | 
            +
              end
         | 
| 218 | 
            +
             | 
| 195 219 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: flash_extensions
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3. | 
| 4 | 
            +
              version: 3.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Juan Gomez
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-11- | 
| 11 | 
            +
            date: 2014-11-23 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |