def add_report_definition_hash_order(node, name = :root)
      def_order = REPORT_DEFINITION_ORDER[name]
      var_order = def_order.reject { |field| !node.include?(field) }
      node.keys.each do |key|
        if REPORT_DEFINITION_ORDER.include?(key)
          case node[key]
            when Hash
              add_report_definition_hash_order(node[key], key)
            when Array
              node[key].each do |item|
                add_report_definition_hash_order(item, key)
              end
          end
        end
      end
      node[:order!] = var_order
      return nil
    end
def add_report_definition_hash_order(node, name = :root)
      def_order = REPORT_DEFINITION_ORDER[name]
      var_order = def_order.reject { |field| !node.include?(field) }
      node.keys.each do |key|
        if REPORT_DEFINITION_ORDER.include?(key)
          case node[key]
            when Hash
              add_report_definition_hash_order(node[key], key)
            when Array
              node[key].each do |item|
                add_report_definition_hash_order(item, key)
              end
          end
        end
      end
      node[:order!] = var_order
      return nil
    end
def add_report_definition_hash_order ( node , name = :root ) def_order = REPORT_DEFINITION_ORDER [ name ] var_order = def_order . reject { | field | ! node . include? ( field ) } node . keys . each do | key | if REPORT_DEFINITION_ORDER . include? ( key ) case node [ key ] when Hash add_report_definition_hash_order ( node [ key ] , key ) when Array node [ key ] . each do | item | add_report_definition_hash_order ( item , key ) end end end end node [ :order! ] = var_order return nil end
Adds fields order hint to generator based on specification.
Adds fields order hint to generator based on specification .