sixarm_ruby_ramp 4.2.3 → 4.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.
- checksums.yaml +4 -4
 - checksums.yaml.gz.sig +0 -0
 - data/Rakefile +3 -2
 - data/lib/sixarm_ruby_ramp/array/join.rb +2 -0
 - data/lib/sixarm_ruby_ramp/enumerable/each.rb +149 -0
 - data/lib/sixarm_ruby_ramp/integer/rbit.rb +2 -0
 - data/lib/sixarm_ruby_ramp/integer.rb +7 -4
 - data/lib/sixarm_ruby_ramp/string.rb +1 -1
 - data/lib/sixarm_ruby_ramp.rb +1 -1
 - data/test/sixarm_ruby_ramp_test/array/join_test.rb +1 -1
 - data/test/sixarm_ruby_ramp_test/array/shuffle_test.rb +1 -1
 - data/test/sixarm_ruby_ramp_test/array_test.rb +2 -3
 - data/test/sixarm_ruby_ramp_test/class_test.rb +2 -4
 - data/test/sixarm_ruby_ramp_test/csv_test.rb +3 -5
 - data/test/sixarm_ruby_ramp_test/date_test.rb +13 -15
 - data/test/sixarm_ruby_ramp_test/enumerable/each_test.rb +337 -0
 - data/test/sixarm_ruby_ramp_test/enumerable/map_test.rb +1 -1
 - data/test/sixarm_ruby_ramp_test/enumerable/nitems_test.rb +1 -1
 - data/test/sixarm_ruby_ramp_test/enumerable/select_test.rb +1 -1
 - data/test/sixarm_ruby_ramp_test/enumerable_test.rb +2 -4
 - data/test/sixarm_ruby_ramp_test/file_test.rb +4 -6
 - data/test/sixarm_ruby_ramp_test/fixnum_test.rb +2 -4
 - data/test/sixarm_ruby_ramp_test/hash_test.rb +2 -2
 - data/test/sixarm_ruby_ramp_test/integer/rbit_test.rb +1 -1
 - data/test/sixarm_ruby_ramp_test/integer_test.rb +4 -5
 - data/test/sixarm_ruby_ramp_test/io_test.rb +2 -3
 - data/test/sixarm_ruby_ramp_test/kernel_test.rb +5 -6
 - data/test/sixarm_ruby_ramp_test/math_test.rb +2 -3
 - data/test/sixarm_ruby_ramp_test/nil_test.rb +2 -3
 - data/test/sixarm_ruby_ramp_test/numeric_test.rb +2 -2
 - data/test/sixarm_ruby_ramp_test/object_test.rb +2 -3
 - data/test/sixarm_ruby_ramp_test/pairable_test.rb +2 -2
 - data/test/sixarm_ruby_ramp_test/process_test.rb +2 -2
 - data/test/sixarm_ruby_ramp_test/string_test.rb +2 -27
 - data/test/sixarm_ruby_ramp_test/symbol_test.rb +2 -16
 - data/test/sixarm_ruby_ramp_test/time_test.rb +3 -4
 - data/test/sixarm_ruby_ramp_test/yaml_test.rb +2 -6
 - data/test/sixarm_ruby_ramp_test.rb +5 -33
 - data.tar.gz.sig +0 -0
 - metadata +85 -11
 - metadata.gz.sig +0 -0
 - data/.gemtest +0 -0
 - data/CHANGES.md +0 -24
 - data/CONTRIBUTING.md +0 -28
 - data/LICENSE.md +0 -28
 - data/README.md +0 -249
 - data/VERSION +0 -1
 - data/lib/sixarm_ruby_ramp/xml.rb +0 -0
 - data/test/sixarm_ruby_ramp_test/xml_test.rb +0 -10
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: cd28e48ca54cace863d1df36f8db7bfdd6c617af
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 5c2a913207a9b83f7da75c8910c5f44b876017a0
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 21a8671ccf5d9fe673d8f9da26a2370ec2f4d1c8d1720efaea5b167213b65088bf2b353d2566ea5dc387a3432b9262d90907f32c547183856fb0400e57548633
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: cdb4647686ddb9417adcffc32c96481033650b5d30a2668ae8609221ad9fbddbf2f27c7949e6e2b09517f91a75305e0c3fe3412c80d613b263a0a42849ad72f1
         
     | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
    
        data/Rakefile
    CHANGED
    
    
| 
         @@ -0,0 +1,149 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # -*- coding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            module Enumerable
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              # Get each element at a given index or indices.
         
     | 
| 
      
 5 
     | 
    
         
            +
              #
         
     | 
| 
      
 6 
     | 
    
         
            +
              # Example: use an index.
         
     | 
| 
      
 7 
     | 
    
         
            +
              #
         
     | 
| 
      
 8 
     | 
    
         
            +
              #   ["a", "b", "c", "d", "e"].each_at(1)
         
     | 
| 
      
 9 
     | 
    
         
            +
              #   #=> "b"
         
     | 
| 
      
 10 
     | 
    
         
            +
              #
         
     | 
| 
      
 11 
     | 
    
         
            +
              # Example: use an index that is negative when size is known.
         
     | 
| 
      
 12 
     | 
    
         
            +
              #
         
     | 
| 
      
 13 
     | 
    
         
            +
              #   ["a", "b", "c", "d", "e"].each_at(-1)
         
     | 
| 
      
 14 
     | 
    
         
            +
              #   => "e"
         
     | 
| 
      
 15 
     | 
    
         
            +
              #
         
     | 
| 
      
 16 
     | 
    
         
            +
              # Example: use a range.
         
     | 
| 
      
 17 
     | 
    
         
            +
              #
         
     | 
| 
      
 18 
     | 
    
         
            +
              #   ["a", "b", "c", "d", "e"].each_at(1..3)
         
     | 
| 
      
 19 
     | 
    
         
            +
              #   => "b", "c", "d"
         
     | 
| 
      
 20 
     | 
    
         
            +
              #
         
     | 
| 
      
 21 
     | 
    
         
            +
              # Example: use a range that has negatives when size is known.
         
     | 
| 
      
 22 
     | 
    
         
            +
              #
         
     | 
| 
      
 23 
     | 
    
         
            +
              #   ["a", "b", "c", "d", "e"].each_at(-3..-1)
         
     | 
| 
      
 24 
     | 
    
         
            +
              #   => "c", "d", "e"
         
     | 
| 
      
 25 
     | 
    
         
            +
              #
         
     | 
| 
      
 26 
     | 
    
         
            +
              # Example: use any object that responds to #each or #include?.
         
     | 
| 
      
 27 
     | 
    
         
            +
              #
         
     | 
| 
      
 28 
     | 
    
         
            +
              #   ["a", "b", "c", "d", "e"].each_at([4, 2, -2])
         
     | 
| 
      
 29 
     | 
    
         
            +
              #   => "e", "c", "d"
         
     | 
| 
      
 30 
     | 
    
         
            +
              #
         
     | 
| 
      
 31 
     | 
    
         
            +
              def each_at(filter)
         
     | 
| 
      
 32 
     | 
    
         
            +
                filter, optimize_for_whole_numbers = each_at_normalize_filter(filter)
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                # Handle variations.
         
     | 
| 
      
 35 
     | 
    
         
            +
                #
         
     | 
| 
      
 36 
     | 
    
         
            +
                # Can we call self#at?
         
     | 
| 
      
 37 
     | 
    
         
            +
                #
         
     | 
| 
      
 38 
     | 
    
         
            +
                #  * Yes: look up a self element by index.
         
     | 
| 
      
 39 
     | 
    
         
            +
                #  * No: iterate on self, comparing the loop count to filter target.
         
     | 
| 
      
 40 
     | 
    
         
            +
                #
         
     | 
| 
      
 41 
     | 
    
         
            +
                # Can we call filter#each?
         
     | 
| 
      
 42 
     | 
    
         
            +
                #
         
     | 
| 
      
 43 
     | 
    
         
            +
                #  * Yes: iterate on the filter elements.
         
     | 
| 
      
 44 
     | 
    
         
            +
                #  * No:  iterate on self, comparing the loop count to filter#include?
         
     | 
| 
      
 45 
     | 
    
         
            +
                #
         
     | 
| 
      
 46 
     | 
    
         
            +
                # Can we optimize for whole numbers?
         
     | 
| 
      
 47 
     | 
    
         
            +
                #
         
     | 
| 
      
 48 
     | 
    
         
            +
                #  * Yes: we know that all filter targets are whole numbers.
         
     | 
| 
      
 49 
     | 
    
         
            +
                #  * No: we must convert the filter target to an index size each time.
         
     | 
| 
      
 50 
     | 
    
         
            +
                #
         
     | 
| 
      
 51 
     | 
    
         
            +
                if self.respond_to?(:at) && filter.respond_to?(:each)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  if optimize_for_whole_numbers
         
     | 
| 
      
 53 
     | 
    
         
            +
                    # each_at_strategy_with_self_at_and_filter_each_and_whole_numbers(filter)
         
     | 
| 
      
 54 
     | 
    
         
            +
                    filter.each{|i|
         
     | 
| 
      
 55 
     | 
    
         
            +
                      yield(at(i))
         
     | 
| 
      
 56 
     | 
    
         
            +
                    }
         
     | 
| 
      
 57 
     | 
    
         
            +
                  else
         
     | 
| 
      
 58 
     | 
    
         
            +
                    # each_at_strategy_with_self_at_and_filter_each(filter)
         
     | 
| 
      
 59 
     | 
    
         
            +
                    filter.each{|i|
         
     | 
| 
      
 60 
     | 
    
         
            +
                      yield(at(i >= 0 ? i : i + self.size))
         
     | 
| 
      
 61 
     | 
    
         
            +
                    }
         
     | 
| 
      
 62 
     | 
    
         
            +
                  end
         
     | 
| 
      
 63 
     | 
    
         
            +
                elsif filter.respond_to?(:include?)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  # each_at_strategy_with_count(filter)
         
     | 
| 
      
 65 
     | 
    
         
            +
                  i = 0
         
     | 
| 
      
 66 
     | 
    
         
            +
                  s = respond_to?(:size) ? size : nil
         
     | 
| 
      
 67 
     | 
    
         
            +
                  each{|e|
         
     | 
| 
      
 68 
     | 
    
         
            +
                    yield(e) if (filter.include?(i) || (size && filter.include(i - size)))
         
     | 
| 
      
 69 
     | 
    
         
            +
                    i += 1
         
     | 
| 
      
 70 
     | 
    
         
            +
                  }
         
     | 
| 
      
 71 
     | 
    
         
            +
                else
         
     | 
| 
      
 72 
     | 
    
         
            +
                  raise ArgumentError
         
     | 
| 
      
 73 
     | 
    
         
            +
                end
         
     | 
| 
      
 74 
     | 
    
         
            +
              end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
              # Implement #each_at by using a strategy with no optimization.
         
     | 
| 
      
 77 
     | 
    
         
            +
              #
         
     | 
| 
      
 78 
     | 
    
         
            +
              # When #each_at tests that either self#at is unavailable or filter#each
         
     | 
| 
      
 79 
     | 
    
         
            +
              # is unavailable, then #each_at calls this strategy.
         
     | 
| 
      
 80 
     | 
    
         
            +
              #
         
     | 
| 
      
 81 
     | 
    
         
            +
              # This strategy uses a loop counter and iteration on the self elements,
         
     | 
| 
      
 82 
     | 
    
         
            +
              # and each iteration, test whether the counter is in the filter.
         
     | 
| 
      
 83 
     | 
    
         
            +
              #
         
     | 
| 
      
 84 
     | 
    
         
            +
              # This strategy is the slowest, and for the worst-case need.
         
     | 
| 
      
 85 
     | 
    
         
            +
              # This strategy is rarely needed in the wild.
         
     | 
| 
      
 86 
     | 
    
         
            +
              #
         
     | 
| 
      
 87 
     | 
    
         
            +
              def each_at_strategy_with_optimization_off(filter)
         
     | 
| 
      
 88 
     | 
    
         
            +
                i = 0
         
     | 
| 
      
 89 
     | 
    
         
            +
                if respond_to?(:size)
         
     | 
| 
      
 90 
     | 
    
         
            +
                  each{|e|
         
     | 
| 
      
 91 
     | 
    
         
            +
                    yield(e) if (filter.include?(i) || (size && filter.include?(i - size)))
         
     | 
| 
      
 92 
     | 
    
         
            +
                    i += 1
         
     | 
| 
      
 93 
     | 
    
         
            +
                  }
         
     | 
| 
      
 94 
     | 
    
         
            +
                else
         
     | 
| 
      
 95 
     | 
    
         
            +
                  each{|e|
         
     | 
| 
      
 96 
     | 
    
         
            +
                    yield(e) if (filter.include?(i))
         
     | 
| 
      
 97 
     | 
    
         
            +
                    i += 1
         
     | 
| 
      
 98 
     | 
    
         
            +
                  }
         
     | 
| 
      
 99 
     | 
    
         
            +
                end
         
     | 
| 
      
 100 
     | 
    
         
            +
              end
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
              # Implement #each_at by using a strategy with some optimization.
         
     | 
| 
      
 103 
     | 
    
         
            +
              #
         
     | 
| 
      
 104 
     | 
    
         
            +
              # When #each_at tests that both self#at is available and filter#each
         
     | 
| 
      
 105 
     | 
    
         
            +
              # is available, yet cannot test that all indexes are whole numbers,
         
     | 
| 
      
 106 
     | 
    
         
            +
              # then #each_at calls this strategy.
         
     | 
| 
      
 107 
     | 
    
         
            +
              #
         
     | 
| 
      
 108 
     | 
    
         
            +
              def each_at_strategy_with_optimization_min(filter)
         
     | 
| 
      
 109 
     | 
    
         
            +
                filter.each{|i|
         
     | 
| 
      
 110 
     | 
    
         
            +
                  yield(at(i >= 0 ? i : i + self.size))
         
     | 
| 
      
 111 
     | 
    
         
            +
                }
         
     | 
| 
      
 112 
     | 
    
         
            +
              end
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
              # Implement #each_at by using a strategy with full optimization.
         
     | 
| 
      
 115 
     | 
    
         
            +
              #
         
     | 
| 
      
 116 
     | 
    
         
            +
              # When #each_at tests that both self#at is available and filter#each
         
     | 
| 
      
 117 
     | 
    
         
            +
              # is available, and can test that all indexes are whole numbers,
         
     | 
| 
      
 118 
     | 
    
         
            +
              # then #each_at calls this strategy.
         
     | 
| 
      
 119 
     | 
    
         
            +
              #
         
     | 
| 
      
 120 
     | 
    
         
            +
              def each_at_strategy_with_optimization_max(filter)
         
     | 
| 
      
 121 
     | 
    
         
            +
                filter.each{|i|
         
     | 
| 
      
 122 
     | 
    
         
            +
                  yield(at(i))
         
     | 
| 
      
 123 
     | 
    
         
            +
                }
         
     | 
| 
      
 124 
     | 
    
         
            +
              end
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
              # Normalize the filter to make it respond to #each and #include?.
         
     | 
| 
      
 127 
     | 
    
         
            +
              #
         
     | 
| 
      
 128 
     | 
    
         
            +
              # If we can guarantee the filter is all whole numbers,
         
     | 
| 
      
 129 
     | 
    
         
            +
              # then subsequent method calls can optimize the index lookup,
         
     | 
| 
      
 130 
     | 
    
         
            +
              # by looking for the whole numbers instead of negative numbers.
         
     | 
| 
      
 131 
     | 
    
         
            +
              #
         
     | 
| 
      
 132 
     | 
    
         
            +
              def each_at_normalize_filter(filter)
         
     | 
| 
      
 133 
     | 
    
         
            +
                case filter
         
     | 
| 
      
 134 
     | 
    
         
            +
                when Numeric
         
     | 
| 
      
 135 
     | 
    
         
            +
                  return [filter.to_i], filter >= 0
         
     | 
| 
      
 136 
     | 
    
         
            +
                when Range
         
     | 
| 
      
 137 
     | 
    
         
            +
                  if filter.first < 0 || filter.last < 0
         
     | 
| 
      
 138 
     | 
    
         
            +
                    min = filter.first.to_i; min += size if min < 0
         
     | 
| 
      
 139 
     | 
    
         
            +
                    max = filter.last.to_i; max += size if max < 0
         
     | 
| 
      
 140 
     | 
    
         
            +
                    max -= 1 if filter.exclude_end?
         
     | 
| 
      
 141 
     | 
    
         
            +
                    filter = min..max
         
     | 
| 
      
 142 
     | 
    
         
            +
                  end
         
     | 
| 
      
 143 
     | 
    
         
            +
                  return filter, true
         
     | 
| 
      
 144 
     | 
    
         
            +
                else
         
     | 
| 
      
 145 
     | 
    
         
            +
                  return filter, false
         
     | 
| 
      
 146 
     | 
    
         
            +
                end
         
     | 
| 
      
 147 
     | 
    
         
            +
              end
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -6,21 +6,24 @@ class Integer 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
              # Syntactic sugar to yield n times to a block.
         
     | 
| 
       8 
8 
     | 
    
         
             
              #
         
     | 
| 
       9 
     | 
    
         
            -
              # Comparison to Integer#times 
     | 
| 
      
 9 
     | 
    
         
            +
              # ## Comparison to Integer#times
         
     | 
| 
      
 10 
     | 
    
         
            +
              #
         
     | 
| 
       10 
11 
     | 
    
         
             
              # Integer#maps is similar to Integer#times except that the output from each
         
     | 
| 
       11 
12 
     | 
    
         
             
              # call to the block is captured in an array element and that array is
         
     | 
| 
       12 
13 
     | 
    
         
             
              # returned to the calling code.
         
     | 
| 
       13 
14 
     | 
    
         
             
              #
         
     | 
| 
       14 
     | 
    
         
            -
              # @return an array of  
     | 
| 
      
 15 
     | 
    
         
            +
              # @return an array of results
         
     | 
| 
       15 
16 
     | 
    
         
             
              #
         
     | 
| 
       16 
17 
     | 
    
         
             
              # @example Generate an array of three random numbers
         
     | 
| 
       17 
18 
     | 
    
         
             
              #   3.maps{rand}
         
     | 
| 
       18 
19 
     | 
    
         
             
              #   => [0.0248131784304143, 0.814666170190905, 0.15812816258206]
         
     | 
| 
       19 
20 
     | 
    
         
             
              #
         
     | 
| 
       20 
     | 
    
         
            -
              
         
     | 
| 
      
 21 
     | 
    
         
            +
              # @example Multiply the current index
         
     | 
| 
      
 22 
     | 
    
         
            +
              #   3.maps{|i| i * 2}
         
     | 
| 
      
 23 
     | 
    
         
            +
              #   => [0, 2, 4]
         
     | 
| 
      
 24 
     | 
    
         
            +
              #
         
     | 
| 
       21 
25 
     | 
    
         
             
              def maps
         
     | 
| 
       22 
26 
     | 
    
         
             
                return (0...self).map{|item| yield item}
         
     | 
| 
       23 
27 
     | 
    
         
             
              end
         
     | 
| 
       24 
28 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
29 
     | 
    
         
             
            end
         
     | 
| 
         @@ -221,7 +221,7 @@ class String 
     | 
|
| 
       221 
221 
     | 
    
         
             
             # This method defaults to length = self.lorem_length.
         
     | 
| 
       222 
222 
     | 
    
         | 
| 
       223 
223 
     | 
    
         
             
             def self.lorem(length=self.lorem_length)
         
     | 
| 
       224 
     | 
    
         
            -
              ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']. 
     | 
| 
      
 224 
     | 
    
         
            +
              ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'].sample(length).join
         
     | 
| 
       225 
225 
     | 
    
         
             
             end
         
     | 
| 
       226 
226 
     | 
    
         | 
| 
       227 
227 
     | 
    
         | 
    
        data/lib/sixarm_ruby_ramp.rb
    CHANGED
    
    | 
         @@ -11,6 +11,7 @@ Please see README 
     | 
|
| 
       11 
11 
     | 
    
         
             
              'csv',
         
     | 
| 
       12 
12 
     | 
    
         
             
              'date',
         
     | 
| 
       13 
13 
     | 
    
         
             
              'enumerable',
         
     | 
| 
      
 14 
     | 
    
         
            +
              'enumerable/each',
         
     | 
| 
       14 
15 
     | 
    
         
             
              'enumerable/map',
         
     | 
| 
       15 
16 
     | 
    
         
             
              'enumerable/nitems',
         
     | 
| 
       16 
17 
     | 
    
         
             
              'enumerable/select',
         
     | 
| 
         @@ -30,7 +31,6 @@ Please see README 
     | 
|
| 
       30 
31 
     | 
    
         
             
              'string',
         
     | 
| 
       31 
32 
     | 
    
         
             
              'symbol',
         
     | 
| 
       32 
33 
     | 
    
         
             
              'time',
         
     | 
| 
       33 
     | 
    
         
            -
              'xml',
         
     | 
| 
       34 
34 
     | 
    
         
             
              'yaml'
         
     | 
| 
       35 
35 
     | 
    
         
             
            ].map{|x|
         
     | 
| 
       36 
36 
     | 
    
         
             
              require File.dirname(__FILE__) + "/sixarm_ruby_ramp/#{x}.rb"
         
     | 
| 
         @@ -1,11 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # -*- coding: utf-8 -*-
         
     | 
| 
       2 
     | 
    
         
            -
            require " 
     | 
| 
       3 
     | 
    
         
            -
            require "sixarm_ruby_ramp"
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
            require "sixarm_ruby_ramp_test"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "sixarm_ruby_ramp/class"
         
     | 
| 
       5 
4 
     | 
    
         | 
| 
       6 
5 
     | 
    
         
             
            class ClassTest < Minitest::Test
         
     | 
| 
       7 
6 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
              
         
     | 
| 
       9 
7 
     | 
    
         
             
              METHOD_REGEXP = /^[abc]\W*$/
         
     | 
| 
       10 
8 
     | 
    
         
             
              def test_publicize_methods
         
     | 
| 
       11 
9 
     | 
    
         | 
| 
         @@ -1,7 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # -*- coding: utf-8 -*-
         
     | 
| 
       2 
     | 
    
         
            -
            require " 
     | 
| 
       3 
     | 
    
         
            -
            require "sixarm_ruby_ramp"
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
            require "sixarm_ruby_ramp_test"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "sixarm_ruby_ramp/csv"
         
     | 
| 
       5 
4 
     | 
    
         | 
| 
       6 
5 
     | 
    
         
             
            class CSVTest < Minitest::Test
         
     | 
| 
       7 
6 
     | 
    
         | 
| 
         @@ -42,6 +41,5 @@ class MockRequest 
     | 
|
| 
       42 
41 
     | 
    
         
             
              def env
         
     | 
| 
       43 
42 
     | 
    
         
             
                @env
         
     | 
| 
       44 
43 
     | 
    
         
             
              end
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       46 
45 
     | 
    
         
             
            end
         
     | 
| 
       47 
     | 
    
         
            -
             
         
     | 
| 
         @@ -1,14 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # -*- coding: utf-8 -*-
         
     | 
| 
       2 
     | 
    
         
            -
            require " 
     | 
| 
       3 
     | 
    
         
            -
            require "sixarm_ruby_ramp"
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
            require "sixarm_ruby_ramp_test"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "sixarm_ruby_ramp/date"
         
     | 
| 
       5 
4 
     | 
    
         | 
| 
       6 
5 
     | 
    
         
             
            class DateTest < Minitest::Test
         
     | 
| 
       7 
6 
     | 
    
         | 
| 
       8 
7 
     | 
    
         | 
| 
       9 
8 
     | 
    
         
             
              def test_weekday
         
     | 
| 
       10 
9 
     | 
    
         
             
                # Start on Monday, January 1, 2007
         
     | 
| 
       11 
     | 
    
         
            -
                assert( Date.new(2007,1,1).weekday?) 
     | 
| 
      
 10 
     | 
    
         
            +
                assert( Date.new(2007,1,1).weekday?)
         
     | 
| 
       12 
11 
     | 
    
         
             
                assert( Date.new(2007,1,2).weekday?)
         
     | 
| 
       13 
12 
     | 
    
         
             
                assert( Date.new(2007,1,3).weekday?)
         
     | 
| 
       14 
13 
     | 
    
         
             
                assert( Date.new(2007,1,4).weekday?)
         
     | 
| 
         @@ -21,14 +20,14 @@ class DateTest < Minitest::Test 
     | 
|
| 
       21 
20 
     | 
    
         | 
| 
       22 
21 
     | 
    
         
             
              def test_weekend
         
     | 
| 
       23 
22 
     | 
    
         
             
                # Start on Monday, January 1, 2007
         
     | 
| 
       24 
     | 
    
         
            -
                assert(!Date.new(2007,1,1).weekend?) 
     | 
| 
       25 
     | 
    
         
            -
                assert(!Date.new(2007,1,2).weekend?) 
     | 
| 
       26 
     | 
    
         
            -
                assert(!Date.new(2007,1,3).weekend?) 
     | 
| 
       27 
     | 
    
         
            -
                assert(!Date.new(2007,1,4).weekend?) 
     | 
| 
       28 
     | 
    
         
            -
                assert(!Date.new(2007,1,5).weekend?) 
     | 
| 
       29 
     | 
    
         
            -
                assert( Date.new(2007,1,6).weekend?) 
     | 
| 
       30 
     | 
    
         
            -
                assert( Date.new(2007,1,7).weekend?) 
     | 
| 
       31 
     | 
    
         
            -
                assert(!Date.new(2007,1,8).weekend?) 
     | 
| 
      
 23 
     | 
    
         
            +
                assert(!Date.new(2007,1,1).weekend?)
         
     | 
| 
      
 24 
     | 
    
         
            +
                assert(!Date.new(2007,1,2).weekend?)
         
     | 
| 
      
 25 
     | 
    
         
            +
                assert(!Date.new(2007,1,3).weekend?)
         
     | 
| 
      
 26 
     | 
    
         
            +
                assert(!Date.new(2007,1,4).weekend?)
         
     | 
| 
      
 27 
     | 
    
         
            +
                assert(!Date.new(2007,1,5).weekend?)
         
     | 
| 
      
 28 
     | 
    
         
            +
                assert( Date.new(2007,1,6).weekend?)
         
     | 
| 
      
 29 
     | 
    
         
            +
                assert( Date.new(2007,1,7).weekend?)
         
     | 
| 
      
 30 
     | 
    
         
            +
                assert(!Date.new(2007,1,8).weekend?)
         
     | 
| 
       32 
31 
     | 
    
         
             
              end
         
     | 
| 
       33 
32 
     | 
    
         | 
| 
       34 
33 
     | 
    
         | 
| 
         @@ -43,8 +42,8 @@ class DateTest < Minitest::Test 
     | 
|
| 
       43 
42 
     | 
    
         | 
| 
       44 
43 
     | 
    
         | 
| 
       45 
44 
     | 
    
         
             
              def test_between
         
     | 
| 
       46 
     | 
    
         
            -
                d1= Date.parse('2008-01-01') 
     | 
| 
       47 
     | 
    
         
            -
                d2= Date.parse('2009-01-01') 
     | 
| 
      
 45 
     | 
    
         
            +
                d1= Date.parse('2008-01-01')
         
     | 
| 
      
 46 
     | 
    
         
            +
                d2= Date.parse('2009-01-01')
         
     | 
| 
       48 
47 
     | 
    
         
             
                d3= Date.between(d1,d2)
         
     | 
| 
       49 
48 
     | 
    
         
             
                assert(d3>=d1)
         
     | 
| 
       50 
49 
     | 
    
         
             
                assert(d3<=d2)
         
     | 
| 
         @@ -57,4 +56,3 @@ class DateTest < Minitest::Test 
     | 
|
| 
       57 
56 
     | 
    
         | 
| 
       58 
57 
     | 
    
         | 
| 
       59 
58 
     | 
    
         
             
            end
         
     | 
| 
       60 
     | 
    
         
            -
             
     |