ice_cube 0.2.12 → 0.2.13
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/lib/ice_cube/schedule.rb +15 -6
 - data/lib/ice_cube/version.rb +1 -1
 - metadata +3 -3
 
    
        data/lib/ice_cube/schedule.rb
    CHANGED
    
    | 
         @@ -51,11 +51,7 @@ module IceCube 
     | 
|
| 
       51 
51 
     | 
    
         
             
                  time = date.to_time
         
     | 
| 
       52 
52 
     | 
    
         
             
                  occurrences_between(time.beginning_of_day, time.end_of_day).any?
         
     | 
| 
       53 
53 
     | 
    
         
             
                end
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
                def occurrences_between(begin_time, end_time)
         
     | 
| 
       56 
     | 
    
         
            -
                  find_occurrences { |head| head.between(begin_time, end_time) }
         
     | 
| 
       57 
     | 
    
         
            -
                end
         
     | 
| 
       58 
     | 
    
         
            -
                
         
     | 
| 
      
 54 
     | 
    
         
            +
                    
         
     | 
| 
       59 
55 
     | 
    
         
             
                # Return all possible occurrences 
         
     | 
| 
       60 
56 
     | 
    
         
             
                # In order to make this call, all rules in the schedule must have
         
     | 
| 
       61 
57 
     | 
    
         
             
                # either an until date or an occurrence count
         
     | 
| 
         @@ -104,7 +100,20 @@ module IceCube 
     | 
|
| 
       104 
100 
     | 
    
         
             
                end
         
     | 
| 
       105 
101 
     | 
    
         | 
| 
       106 
102 
     | 
    
         
             
                attr_reader :rdates, :exdates
         
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                def occurrences_between(begin_time, end_time)
         
     | 
| 
      
 105 
     | 
    
         
            +
                  exclude_dates, include_dates = Set.new(@exdates), SortedSet.new(@rdates)
         
     | 
| 
      
 106 
     | 
    
         
            +
                  @rrule_occurrence_heads.each do |rrule_occurrence_head|
         
     | 
| 
      
 107 
     | 
    
         
            +
                    include_dates.merge(rrule_occurrence_head.between(begin_time, end_time))
         
     | 
| 
      
 108 
     | 
    
         
            +
                  end
         
     | 
| 
      
 109 
     | 
    
         
            +
                  @exrule_occurrence_heads.each do |exrule_occurrence_head|
         
     | 
| 
      
 110 
     | 
    
         
            +
                    exclude_dates.merge(exrule_occurrence_head.between(begin_time, end_time))
         
     | 
| 
      
 111 
     | 
    
         
            +
                  end
         
     | 
| 
      
 112 
     | 
    
         
            +
                  # reject all of the ones outside of the range
         
     | 
| 
      
 113 
     | 
    
         
            +
                  include_dates.reject! { |date| exclude_dates.include?(date) || date < begin_time || date > end_time }
         
     | 
| 
      
 114 
     | 
    
         
            +
                  include_dates.to_a
         
     | 
| 
      
 115 
     | 
    
         
            +
                end
         
     | 
| 
      
 116 
     | 
    
         
            +
                
         
     | 
| 
       108 
117 
     | 
    
         
             
                private
         
     | 
| 
       109 
118 
     | 
    
         | 
| 
       110 
119 
     | 
    
         
             
                # Find all occurrences (following rules and exceptions) from the schedule's start date to end_date.
         
     | 
    
        data/lib/ice_cube/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 2
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0.2. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 13
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.2.13
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - John Crepezzi
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2010-04- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-04-21 00:00:00 -04:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |