epitools 0.4.17 → 0.4.18
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/VERSION +1 -1
- data/epitools.gemspec +2 -2
- data/lib/epitools/basetypes.rb +29 -10
- data/spec/basetypes_spec.rb +24 -0
- metadata +2 -2
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.4. | 
| 1 | 
            +
            0.4.18
         | 
    
        data/epitools.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{epitools}
         | 
| 8 | 
            -
              s.version = "0.4. | 
| 8 | 
            +
              s.version = "0.4.18"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["epitron"]
         | 
| 12 | 
            -
              s.date = %q{2011-03- | 
| 12 | 
            +
              s.date = %q{2011-03-25}
         | 
| 13 13 | 
             
              s.description = %q{Miscellaneous utility libraries to make my life easier.}
         | 
| 14 14 | 
             
              s.email = %q{chris@ill-logic.com}
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
    
        data/lib/epitools/basetypes.rb
    CHANGED
    
    | @@ -16,8 +16,23 @@ unless defined? Enum | |
| 16 16 | 
             
            end
         | 
| 17 17 |  | 
| 18 18 | 
             
            class Object
         | 
| 19 | 
            +
              #
         | 
| 19 20 | 
             
              # Default "integer?" behaviour.
         | 
| 21 | 
            +
              #
         | 
| 20 22 | 
             
              def integer?; false; end
         | 
| 23 | 
            +
               
         | 
| 24 | 
            +
              #
         | 
| 25 | 
            +
              # `truthy?` means `not blank?`
         | 
| 26 | 
            +
              #
         | 
| 27 | 
            +
              def truthy?; not blank?; end
         | 
| 28 | 
            +
            end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            class TrueClass
         | 
| 31 | 
            +
              def truthy?; true; end
         | 
| 32 | 
            +
            end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            class FalseClass
         | 
| 35 | 
            +
              def truthy?; false; end
         | 
| 21 36 | 
             
            end
         | 
| 22 37 |  | 
| 23 38 | 
             
            class Numeric
         | 
| @@ -42,6 +57,13 @@ class NilClass | |
| 42 57 | 
             
              def blank?; true; end
         | 
| 43 58 | 
             
            end
         | 
| 44 59 |  | 
| 60 | 
            +
            class Symbol
         | 
| 61 | 
            +
              #
         | 
| 62 | 
            +
              # Symbols are never blank.
         | 
| 63 | 
            +
              #
         | 
| 64 | 
            +
              def blank?; false; end
         | 
| 65 | 
            +
            end
         | 
| 66 | 
            +
             | 
| 45 67 | 
             
            class String
         | 
| 46 68 |  | 
| 47 69 | 
             
              #
         | 
| @@ -105,6 +127,9 @@ class Integer | |
| 105 127 | 
             
              #
         | 
| 106 128 | 
             
              def blank?; self == 0; end
         | 
| 107 129 |  | 
| 130 | 
            +
              #
         | 
| 131 | 
            +
              # Convert the number into a hexadecimal string representation.
         | 
| 132 | 
            +
              #
         | 
| 108 133 | 
             
              def to_hex
         | 
| 109 134 | 
             
                "%0.2x" % self
         | 
| 110 135 | 
             
              end
         | 
| @@ -152,11 +177,6 @@ end | |
| 152 177 |  | 
| 153 178 | 
             
            class Array
         | 
| 154 179 |  | 
| 155 | 
            -
              #
         | 
| 156 | 
            -
              # 'true' if the Array is empty
         | 
| 157 | 
            -
              #
         | 
| 158 | 
            -
              def blank?; not self.any?; end
         | 
| 159 | 
            -
             | 
| 160 180 | 
             
              #
         | 
| 161 181 | 
             
              # flatten.compact.uniq
         | 
| 162 182 | 
             
              #
         | 
| @@ -210,9 +230,9 @@ module Enumerable | |
| 210 230 | 
             
              # 'true' if the Enumerable has no elements
         | 
| 211 231 | 
             
              #
         | 
| 212 232 | 
             
              def blank?
         | 
| 213 | 
            -
                not  | 
| 233 | 
            +
                not any?
         | 
| 214 234 | 
             
              end
         | 
| 215 | 
            -
             | 
| 235 | 
            +
              
         | 
| 216 236 | 
             
              #
         | 
| 217 237 | 
             
              # Split this enumerable into an array of pieces given some 
         | 
| 218 238 | 
             
              # boundary condition.
         | 
| @@ -481,9 +501,9 @@ class Hash | |
| 481 501 | 
             
              # 'true' if the Hash has no entries
         | 
| 482 502 | 
             
              #
         | 
| 483 503 | 
             
              def blank?
         | 
| 484 | 
            -
                not  | 
| 504 | 
            +
                not any?
         | 
| 485 505 | 
             
              end
         | 
| 486 | 
            -
             | 
| 506 | 
            +
              
         | 
| 487 507 | 
             
              #
         | 
| 488 508 | 
             
              # Runs "remove_blank_values" on self.
         | 
| 489 509 | 
             
              #  
         | 
| @@ -635,7 +655,6 @@ class NotWrapper < BlankSlate # :nodoc: | |
| 635 655 | 
             
              end
         | 
| 636 656 | 
             
            end
         | 
| 637 657 |  | 
| 638 | 
            -
             | 
| 639 658 | 
             
            class Object
         | 
| 640 659 |  | 
| 641 660 | 
             
              #
         | 
    
        data/spec/basetypes_spec.rb
    CHANGED
    
    | @@ -246,3 +246,27 @@ describe BlankSlate do | |
| 246 246 |  | 
| 247 247 | 
             
            end
         | 
| 248 248 |  | 
| 249 | 
            +
             | 
| 250 | 
            +
            describe "truthiness" do
         | 
| 251 | 
            +
              
         | 
| 252 | 
            +
              it "is truthy!" do
         | 
| 253 | 
            +
                {
         | 
| 254 | 
            +
                  
         | 
| 255 | 
            +
                  # truthy things
         | 
| 256 | 
            +
                  true => [
         | 
| 257 | 
            +
                    "asdf", 1, 1.7, :blah, true, [1,2,3], Enumerator.new([1,2,3], :each),
         | 
| 258 | 
            +
                    1938389127239847129803741980237498012374,
         | 
| 259 | 
            +
                  ],
         | 
| 260 | 
            +
                  
         | 
| 261 | 
            +
                  # untruthy things
         | 
| 262 | 
            +
                  false => [
         | 
| 263 | 
            +
                    "", " ", 0, 0.0, false, nil, [], Enumerator.new([], :each),
         | 
| 264 | 
            +
                  ]
         | 
| 265 | 
            +
                  
         | 
| 266 | 
            +
                }.each do |truthiness, objs|
         | 
| 267 | 
            +
                  objs.each { |obj| obj.truthy?.should == truthiness }
         | 
| 268 | 
            +
                end
         | 
| 269 | 
            +
                
         | 
| 270 | 
            +
              end
         | 
| 271 | 
            +
              
         | 
| 272 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            name: epitools
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 4 | 
             
              prerelease: 
         | 
| 5 | 
            -
              version: 0.4. | 
| 5 | 
            +
              version: 0.4.18
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors: 
         | 
| 8 8 | 
             
            - epitron
         | 
| @@ -10,7 +10,7 @@ autorequire: | |
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 12 |  | 
| 13 | 
            -
            date: 2011-03- | 
| 13 | 
            +
            date: 2011-03-25 00:00:00 -04:00
         | 
| 14 14 | 
             
            default_executable: 
         | 
| 15 15 | 
             
            dependencies: 
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency 
         |