Sha256: 28a283693e1d29e84927b7767dfdeb8f2dc39b0694d2df7f609299f36bec04ce

Contents?: true

Size: 1.26 KB

Versions: 14

Compression:

Stored size: 1.26 KB

Contents

module KonoUtils
  module ParamsHashArray
    extend ActiveSupport::Concern

    included do
      ##
      # Si occupa di trasformare un hash con elementi che sono chiramente array in un hash con elementi array:
      #
      # {"DatiOrdineAcquisto"=>{"0"=>{"RiferimentoNumeroLinea"=>{"0"=>""}, "IdDocumento"=>"", "Data"=>"", "NumItem"=>"", "CodiceCommessaConvenzione"=>"", "CodiceCUP"=>"", "CodiceCIG"=>""}}}
      # {"DatiOrdineAcquisto"=>[{"RiferimentoNumeroLinea"=>[""], "IdDocumento"=>"", "Data"=>"", "NumItem"=>"", "CodiceCommessaConvenzione"=>"", "CodiceCUP"=>"", "CodiceCIG"=>""}]}
      #
      def elaborate_params_to_hash_array(params)

        out = params
        ##Controllo se abbiamo solamente chiavi che rappresentano numeri
        if params.is_a?(Hash)

          if params.keys.select { |k| !(k.to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/) == nil ? false : true) }.length==0
            out = []
            params.each_value do |v|
              out << elaborate_params_to_hash_array(v)
            end
          else
            out={}
            params.keys.each do |k|
              out[k.to_sym] = elaborate_params_to_hash_array(params[k])
            end
          end
        end

        Rails.logger.debug "DEBUG #{out.inspect}"
        out
      end
    end

  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
kono_utils-1.0.1 lib/kono_utils/params_hash_array.rb
kono_utils-1.0.0 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.16 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.15 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.14 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.13 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.12 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.11 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.10 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.9 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.8 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.7 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.6 lib/kono_utils/params_hash_array.rb
kono_utils-0.15.5 lib/kono_utils/params_hash_array.rb