#
#= 汎用機能群
# Authors:: Sumiyo Yamamoto
# Copyright:: Copyright (C) OrbusNeich Medical K.K.  2010.
#--
# date        name                   note
# 2010.2.19   Sumiyo Yamamoto        新規作成
#-------------------------------------------------------------------------------
#++
module Comm
  module Tool
    #= 汎用機能クラス
    # 汎用的に使えるメソッド群を備える。
    #------------------------------------------------------------------------#++
    class General
    end
    
    class << General

      #== ハッシュ項目集計カウント
      #_target_:: 加算対象となるハッシュ
      #_add_:: 加算するハッシュ
      #_keys_:: 対象ハッシュキー
      #
      # 戻り値:: なし
      #-----------------------------------------------------------------#++
      def summary_count(target = {}, add = {}, keys = [])
        keys.each do |key|
          target[key] += add[key]
        end
      end

      #== ハッシュ項目平均算出
      #_result_:: 平均結果を入れるハッシュ
      #_sum_:: 平均を算出するための合計値
      #_n_:: 除数
      #_keys_:: 対象ハッシュキー
      #
      # 戻り値:: なし
      #-----------------------------------------------------------------#++
      def average_calc(target = {}, sum = {}, n = nil, keys = [])
        keys.each do |key|
          target[key] = sum[key].float_div(n, 1)
        end
      end
    end
  end
end
