Sha256: 635f2b1030f7fc0ed2551f0f3b37178a33e094387897738c2cc110a0c3e7a4c3

Contents?: true

Size: 1.76 KB

Versions: 4

Compression:

Stored size: 1.76 KB

Contents

require 'money_s3/parsers/base_parser'
require 'money_s3/parsers/zamestnanec_type'
require 'money_s3/parsers/nepritomnost_type'
require 'money_s3/parsers/mz_priplatek'

module MoneyS3
  module Parsers
    class MzdaType
      include BaseParser

      def mesic
        at 'Mesic'
      end

      def rok
        at 'Rok'
      end

      def prac_dnu
        at 'PracDnu'
      end

      def prac_hod
        at 'PracHod'
      end

      def odpr_dnu
        at 'OdprDnu'
      end

      def odpr_hod
        at 'OdprHod'
      end

      def odpr_sv_dnu
        at 'OdprSvDnu'
      end

      def odpr_sv_hod
        at 'OdprSvHod'
      end

      def zamestnanec
        submodel_at(ZamestnanecType, 'Zamestnanec')
      end

      def seznam_nepritomnosti
        array_of_at(NepritomnostType, ['SeznamNepritomnosti', 'Nepritomnost'])
      end

      def seznam_mz_priplatku
        array_of_at(MzPriplatek, ['SeznamMzPriplatku', 'MzPriplatek'])
      end

      def to_h_with_attrs
        hash = HashWithAttributes.new({}, attributes)

        hash[:mesic] = mesic if has? 'Mesic'
        hash[:rok] = rok if has? 'Rok'
        hash[:prac_dnu] = prac_dnu if has? 'PracDnu'
        hash[:prac_hod] = prac_hod if has? 'PracHod'
        hash[:odpr_dnu] = odpr_dnu if has? 'OdprDnu'
        hash[:odpr_hod] = odpr_hod if has? 'OdprHod'
        hash[:odpr_sv_dnu] = odpr_sv_dnu if has? 'OdprSvDnu'
        hash[:odpr_sv_hod] = odpr_sv_hod if has? 'OdprSvHod'
        hash[:zamestnanec] = zamestnanec.to_h_with_attrs if has? 'Zamestnanec'
        hash[:seznam_nepritomnosti] = seznam_nepritomnosti.map(&:to_h_with_attrs) if has? 'SeznamNepritomnosti'
        hash[:seznam_mz_priplatku] = seznam_mz_priplatku.map(&:to_h_with_attrs) if has? 'SeznamMzPriplatku'

        hash
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
money_s3-0.10.0 lib/money_s3/parsers/mzda_type.rb
money_s3-0.9.0 lib/money_s3/parsers/mzda_type.rb
money_s3-0.8.0 lib/money_s3/parsers/mzda_type.rb
money_s3-0.7.0 lib/money_s3/parsers/mzda_type.rb