date_common 0.11 → 0.12
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/lib/date_common.rb +30 -1
 - data/lib/date_common/version.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b4124a026dcc1b6c0c8abef95bb600c0cd586bded79e66ffecee7f3718b29ff9
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: ac4a31fc20511049109384f3550cb5d23731309ff85c2f342458f7028053ad4d
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 8f56dbee72ca222c9d7663a24ce6c3f78c2183378132926a740a7d3f2009ebdef9c3f74315d22e86138998c9b5df1673080a14fba72f813f2e6acef966396719
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: b7df486c831afefdb21a66d31b5881a9ebd3ca684865c53035234c465d265ce94cb83fdb0340f2f44751b6dd3ad42f91feb4775dfb7e761d60d47fe10ac79c8e
         
     | 
    
        data/lib/date_common.rb
    CHANGED
    
    | 
         @@ -92,7 +92,7 @@ module DateCommon 
     | 
|
| 
       92 
92 
     | 
    
         
             
              # TESTED
         
     | 
| 
       93 
93 
     | 
    
         
             
              def self.last_date_of_month(date)
         
     | 
| 
       94 
94 
     | 
    
         
             
                # fucking god awful approach but it works; refactor
         
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
       96 
96 
     | 
    
         
             
                # the 31st
         
     | 
| 
       97 
97 
     | 
    
         
             
                begin
         
     | 
| 
       98 
98 
     | 
    
         
             
                  date_end = Date.new(date.year, date.month, 31)      
         
     | 
| 
         @@ -189,11 +189,13 @@ module DateCommon 
     | 
|
| 
       189 
189 
     | 
    
         
             
              # 
         
     | 
| 
       190 
190 
     | 
    
         
             
              def self.parse_date(text)
         
     | 
| 
       191 
191 
     | 
    
         
             
                date_text = extract_date_string(text)
         
     | 
| 
      
 192 
     | 
    
         
            +
                puts date_text
         
     | 
| 
       192 
193 
     | 
    
         
             
                date = recognize_date(date_text)
         
     | 
| 
       193 
194 
     | 
    
         
             
                return date
         
     | 
| 
       194 
195 
     | 
    
         
             
              end
         
     | 
| 
       195 
196 
     | 
    
         | 
| 
       196 
197 
     | 
    
         
             
              def self.extract_date_string(text)
         
     | 
| 
      
 198 
     | 
    
         
            +
                #raise "foo"
         
     | 
| 
       197 
199 
     | 
    
         
             
                patterns = []
         
     | 
| 
       198 
200 
     | 
    
         
             
                patterns << / (o?n?|l?a?s?t?) ?(monday) ?/i
         
     | 
| 
       199 
201 
     | 
    
         
             
                patterns << / (o?n?|l?a?s?t?) ?(tuesday) ?/i
         
     | 
| 
         @@ -219,8 +221,12 @@ module DateCommon 
     | 
|
| 
       219 
221 
     | 
    
         | 
| 
       220 
222 
     | 
    
         
             
                patterns = []
         
     | 
| 
       221 
223 
     | 
    
         
             
                patterns << / on ([0-9]+) ([0-9]+) ?/
         
     | 
| 
      
 224 
     | 
    
         
            +
                patterns << /[0-9]+\/[0-9]+/
         
     | 
| 
      
 225 
     | 
    
         
            +
                patterns << /[0-9]+-[0-9]+/
         
     | 
| 
      
 226 
     | 
    
         
            +
                patterns << /[0-9]+ [0-9]+/
         
     | 
| 
       222 
227 
     | 
    
         
             
                patterns.each do |pattern|
         
     | 
| 
       223 
228 
     | 
    
         
             
                  if text =~ pattern
         
     | 
| 
      
 229 
     | 
    
         
            +
                    
         
     | 
| 
       224 
230 
     | 
    
         
             
                    current_year = Date.today.year
         
     | 
| 
       225 
231 
     | 
    
         
             
                    return Date.new(current_year, $1.to_i, $2.to_i).to_s.downcase
         
     | 
| 
       226 
232 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -257,6 +263,29 @@ module DateCommon 
     | 
|
| 
       257 
263 
     | 
    
         
             
                  parts = text.split("-")
         
     | 
| 
       258 
264 
     | 
    
         
             
                  return Date.new(parts[0].to_i, parts[1].to_i, parts[2].to_i)
         
     | 
| 
       259 
265 
     | 
    
         
             
                end
         
     | 
| 
      
 266 
     | 
    
         
            +
             
     | 
| 
      
 267 
     | 
    
         
            +
                if text =~ /[0-9]+\/[0-9]+\/[0-9]+/
         
     | 
| 
      
 268 
     | 
    
         
            +
                  parts = text.split("/")
         
     | 
| 
      
 269 
     | 
    
         
            +
                  return Date.new(parts[0].to_i, parts[1].to_i, parts[2].to_i)
         
     | 
| 
      
 270 
     | 
    
         
            +
                end
         
     | 
| 
      
 271 
     | 
    
         
            +
             
     | 
| 
      
 272 
     | 
    
         
            +
                if text =~ /[0-9]+-[0-9]+-[0-9]+/
         
     | 
| 
      
 273 
     | 
    
         
            +
                  parts = text.split("-")
         
     | 
| 
      
 274 
     | 
    
         
            +
                  return Date.new(parts[0].to_i, parts[1].to_i, parts[2].to_i)
         
     | 
| 
      
 275 
     | 
    
         
            +
                end
         
     | 
| 
      
 276 
     | 
    
         
            +
             
     | 
| 
      
 277 
     | 
    
         
            +
                if text =~ /([0-9]+)\/([0-9]+)/
         
     | 
| 
      
 278 
     | 
    
         
            +
                  #parts = text.split("-")
         
     | 
| 
      
 279 
     | 
    
         
            +
                  year = Date.today.year
         
     | 
| 
      
 280 
     | 
    
         
            +
                  return Date.new(year, $1.to_i, $2.to_i)
         
     | 
| 
      
 281 
     | 
    
         
            +
                end
         
     | 
| 
      
 282 
     | 
    
         
            +
                
         
     | 
| 
      
 283 
     | 
    
         
            +
                if text =~ /([0-9]+)-([0-9]+)/
         
     | 
| 
      
 284 
     | 
    
         
            +
                  #parts = text.split("-")
         
     | 
| 
      
 285 
     | 
    
         
            +
                  year = Date.today.year
         
     | 
| 
      
 286 
     | 
    
         
            +
                  return Date.new(year, $1.to_i, $2.to_i)
         
     | 
| 
      
 287 
     | 
    
         
            +
                end
         
     | 
| 
      
 288 
     | 
    
         
            +
             
     | 
| 
       260 
289 
     | 
    
         | 
| 
       261 
290 
     | 
    
         
             
                # monday / tuesday / wednesday. 
         
     | 
| 
       262 
291 
     | 
    
         
             
                if text =~ /.+day/
         
     | 
    
        data/lib/date_common/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: date_common
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: '0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: '0.12'
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Scott Johnson
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2020-09- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2020-09-24 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       13 
13 
     | 
    
         
             
            description: A small library of date handling routines that I use on almost every
         
     | 
| 
       14 
14 
     | 
    
         
             
              project.
         
     |