Sha256: f46cdd2f96a70087d0ae41b4f346f49d415d7a4d67c18d7e2f19327e468e4308

Contents?: true

Size: 953 Bytes

Versions: 12

Compression:

Stored size: 953 Bytes

Contents

class Mite::TimeEntryGroup < Mite::Base
  self.collection_name = "time_entries"
  
  attr_accessor :time_entries_params
  
  class << self
    def find_every(options={})
      return Mite::TimeEntry.all(options) if !options[:params] || !options[:params][:group_by]
      
      returning super(options) do |records|
        records.each do |record| 
          if record.attributes["time_entries_params"]
            record.time_entries_params = record.attributes.delete("time_entries_params").attributes.stringify_keys
          end
        end
      end
    end
  end
  
  def time_entries(options={})
    return [] unless time_entries_params.is_a?(Hash)
    
    empty_result = false
    
    options[:params] ||= {}
    options[:params].stringify_keys!
    options[:params].merge!(time_entries_params) do |key, v1, v2|
      empty_result = (v1 != v2)
      v2
    end
    
    return [] if empty_result
    
    Mite::TimeEntry.all(options)
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
mite-rb-0.4.4 lib/mite/time_entry_group.rb
mite-rb-0.4.3 lib/mite/time_entry_group.rb
mite-rb-0.4.2 lib/mite/time_entry_group.rb
mite-rb-0.4.1 lib/mite/time_entry_group.rb
mite-rb-0.4.0 lib/mite/time_entry_group.rb
mite-rb-0.3.0 lib/mite/time_entry_group.rb
mite-rb-0.2.4 lib/mite/time_entry_group.rb
mite-rb-0.2.3 lib/mite/time_entry_group.rb
mite-rb-0.2.2 lib/mite/time_entry_group.rb
mite-rb-0.2.1 lib/mite/time_entry_group.rb
mite-rb-0.2.0 lib/mite/time_entry_group.rb
mite-rb-0.1.0 lib/mite/time_entry_group.rb