Sha256: 93beca34118712d6304fb1e2cd8b05fffa9e36969965b115d56d5d2993a9d8a7

Contents?: true

Size: 696 Bytes

Versions: 12

Compression:

Stored size: 696 Bytes

Contents

module RailsPerformance
  module Models
    class Collection
      attr_reader :data

      def initialize
        @data = []
      end

      def add(record)
        @data << record
      end

      def group_by(type)
        case type
        when :controller_action, :controller_action_format, :datetime, :path
          fetch_values @data.group_by(&type)
        else
          {}
        end
      end

      def fetch_values(groupped_collection)
        result = {}
        groupped_collection.each do |key, records|
          result[key] ||= []
          records.each do |record|
            result[key] << record.value
          end
        end
        result
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rails_performance-1.4.1 lib/rails_performance/models/collection.rb
rails_performance-1.4.1.alpha1 lib/rails_performance/models/collection.rb
rails_performance-1.4.0 lib/rails_performance/models/collection.rb
rails_performance-1.4.0.alpha5 lib/rails_performance/models/collection.rb
rails_performance-1.4.0.alpha4 lib/rails_performance/models/collection.rb
rails_performance-1.4.0.alpha3 lib/rails_performance/models/collection.rb
rails_performance-1.4.0.alpha2 lib/rails_performance/models/collection.rb
rails_performance-1.4.0.alpha1 lib/rails_performance/models/collection.rb
rails_performance-1.3.3 lib/rails_performance/models/collection.rb
rails_performance-1.3.2 lib/rails_performance/models/collection.rb
rails_performance-1.3.1 lib/rails_performance/models/collection.rb
rails_performance-1.3.0 lib/rails_performance/models/collection.rb