<commit_before>require 'digest'
require 'date'

module Nfse
  module Envio
    class Rps < Nfse::Base
      attr_accessor :id, :numero, :situacao, :serie_rps_substituido,
        :num_rps_substituido, :num_nfse_substituida, :data_nfse_substituida,
        :cod_atividade, :aliquota_atividade, :tipo_recolhimento,
        :cod_municipio_prestacao, :municipio_prestacao, :operacao,
        :tributacao, :valor_pis, :valor_cofins, :valor_inss, :valor_ir,
        :valor_csll, :aliquota_pis, :aliquota_cofins, :aliquota_inss,
        :aliquota_ir, :aliquota_csll, :descricao, :motivo_cancelamento,
        :cnpj_intermediario, :tipo, :serie, :serie_prestacao,
        :optante_simples_nacional, :incentivador_cultural, :status_rps,
        :iss_retido, :valor_iss, :valor_outras_retencoes,
        :desconto_incondicionado, :desconto_condicionado

      attr_reader :prestador, :tomador, :itens, :deducoes

      def initialize(attributes = {})
        @id  = "#{self.object_id}#{Time.now.to_i}"
        @tipo = 'RPS'
        @serie = 'NF'
        @serie_prestacao = '99'
        @optante_simples_nacional = 1 # 1 = Sim, 2 = Não
        @incentivador_cultural = 2 # 1 = Sim, 2 = Não
        @status_rps = 1 # 1 = Normal, 2 = Cancelado
        @iss_retido = 2 # 1 = Sim, 2 = Não
        @valor_iss = 0.0
        @valor_outras_retencoes = 0.0
        @desconto_incondicionado = 0.0
        @desconto_condicionado = 0.0
        @prestador = Prestador.new(attributes.delete('prestador'))
        @tomador   = Tomador.new(attributes.delete('tomador'))
        @itens     = []
        @deducoes  = []

        itens = attributes.delete('itens')
        itens.each { |data| self.itens << Item.new(data) } if itens
<commit_msg>fix comments on RPS class<commit_after>require 'digest'
require 'date'

module Nfse
  module Envio
    class Rps < Nfse::Base
      attr_accessor :id, :numero, :situacao, :serie_rps_substituido,
        :num_rps_substituido, :num_nfse_substituida, :data_nfse_substituida,
        :cod_atividade, :aliquota_atividade, :tipo_recolhimento,
        :cod_municipio_prestacao, :municipio_prestacao, :operacao,
        :tributacao, :valor_pis, :valor_cofins, :valor_inss, :valor_ir,
        :valor_csll, :aliquota_pis, :aliquota_cofins, :aliquota_inss,
        :aliquota_ir, :aliquota_csll, :descricao, :motivo_cancelamento,
        :cnpj_intermediario, :tipo, :serie, :serie_prestacao,
        :optante_simples_nacional, :incentivador_cultural, :status_rps,
        :iss_retido, :valor_iss, :valor_outras_retencoes,
        :desconto_incondicionado, :desconto_condicionado

      attr_reader :prestador, :tomador, :itens, :deducoes

      def initialize(attributes = {})
        @id  = "#{self.object_id}#{Time.now.to_i}"
        @tipo = 'RPS' # RJ: 1 - RPS, 2 – Nota Fiscal Conjugada (Mista), 3 – Cupom
        @serie = 'NF'
        @serie_prestacao = '99'
        @operacao = '1' # RJ: 1 – Tributação no município, 2 - Tributação fora do município, 3 - Isenção, 4 - Imune, 5 –Exigibilidade suspensa por decisão judicial, 6 – Exigibilidade suspensa por procedimento administrativo
        @optante_simples_nacional = 1 # RJ: 1 = Sim, 2 = Não
        @incentivador_cultural = 2 # RJ: 1 = Sim, 2 = Não
        @status_rps = 1 # RJ: 1 = Normal, 2 = Cancelado
        @iss_retido = 2 # RJ: 1 = Sim, 2 = Não
        @valor_iss = 0.0
        @valor_outras_retencoes = 0.0
        @desconto_incondicionado = 0.0
        @desconto_condicionado = 0.0
        @prestador = Prestador.new(attributes.delete('prestador'))
        @tomador   = Tomador.new(attributes.delete('tomador'))
        @itens     = []
        @deducoes  = []

        itens = attributes.delete('itens')
        itens.each { |data| self.itens << Item.new(data) } if itens

{'fraction_non_alphanumeric': 0.11651523249599145, 'fraction_numerical': 0.014430785676109033, 'mean_word_length': 3.086244541484716, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5591837', 'n_tokens_mistral': 1519, 'n_tokens_neox': 1477, 'n_words': 272}