Sha256: 565d125d899b89ab6b2f23fb19f1c7c01c38aa17dbbe09df0766594fb437df04

Contents?: true

Size: 1.68 KB

Versions: 5

Compression:

Stored size: 1.68 KB

Contents

module Appstats
  class Result < ActiveRecord::Base
    set_table_name "appstats_results"

    attr_accessible :name, :result_type, :query, :query_to_sql, :count, :action, :host, :from_date, :to_date, :contexts, :group_by, :query_type, 
      :db_username, :db_name, :db_host
    has_many :sub_results, :table_name => 'appstats_subresults', :foreign_key => 'appstats_result_id', :order => 'count DESC'

    def date_to_s
      return "" if from_date.nil? && to_date.nil?
      
      from_s = nil
      to_s = nil
      
      if !from_date.nil? && to_date.nil? && created_at.nil?
        from_s = from_date_to_s
        to_s = "present"
      elsif !from_date.nil? && to_date.nil? && !created_at.nil?
        from_s = from_date_to_s
        to_s = created_at.strftime('%Y-%m-%d')
      elsif from_date.nil? && !to_date.nil?
        from_s = "up"
        to_s = to_date_to_s
      else
        from_s = from_date_to_s
        to_s = to_date_to_s
      end
      
      return from_s if from_s == to_s
      "#{from_s} to #{to_s}"
    end

    def from_date_to_s
      return "" if from_date.nil?
      from_date.strftime('%Y-%m-%d')
    end

    def to_date_to_s
      return "" if to_date.nil?
      to_date.strftime('%Y-%m-%d')
    end
    
    def host_to_s
      return host if (db_host.blank? || host == db_host)
      return db_host if host.blank?
      "#{host} (host), #{db_host} (db_host)"
    end

    def ==(o)
       o.class == self.class && o.send(:state) == state
    end
    alias_method :eql?, :==

    private

      def state
        [name, result_type, query, query_to_sql, count, action, host, from_date, to_date,contexts,group_by,query_type,db_username,db_name,db_host]
      end

    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
appstats-0.17.4 lib/appstats/result.rb
appstats-0.17.3 lib/appstats/result.rb
appstats-0.17.2 lib/appstats/result.rb
appstats-0.17.1 lib/appstats/result.rb
appstats-0.17.0 lib/appstats/result.rb