Sha256: 6164dc03321b67c60f201c43c1c7238eab891a2c7b852e25ac3f82c46c7c5742

Contents?: true

Size: 1.17 KB

Versions: 9

Compression:

Stored size: 1.17 KB

Contents

module CorreiosSigep
  module Models
    class Collect
      attr_accessor :aditional_service, :ag, :ar, :card, :checklist,
                    :declared_value, :description, :number, :objects, :product,
                    :product_params, :type, :sender, :sender_params, :client_id

      def self.build(&block)
        builder = Builders::Collect.new
        builder.instance_eval(&block)
        builder.build
      end

      def initialize(options = {})
        @aditional_service  = options[:aditional_service]
        @ag                 = options[:ag]
        @ar                 = options[:ar]
        @card               = options[:card]
        @checklist          = options[:checklist]
        @client_id          = options[:client_id]
        @declared_value     = options[:declared_value]
        @description        = options[:description]
        @number             = options[:number]
        @type               = options[:type]

        @product = options[:product] || Product.new(options.fetch(:product_params, {}))
        @sender  = options[:sender] || Sender.new(options.fetch(:sender_params, {}))
        @objects = options.fetch(:objects, [])
      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
correios_sigep-2.2.0 lib/correios_sigep/models/collect.rb
correios_sigep-2.1.1 lib/correios_sigep/models/collect.rb
correios_sigep-2.1.0 lib/correios_sigep/models/collect.rb
correios_sigep-2.0.0 lib/correios_sigep/models/collect.rb
correios_sigep-1.0.2 lib/correios_sigep/models/collect.rb
correios_sigep-1.0.1 lib/correios_sigep/models/collect.rb
correios_sigep-1.0.0 lib/correios_sigep/models/collect.rb
correios_sigep-0.5.0 lib/correios_sigep/models/collect.rb
correios_sigep-0.4.0 lib/correios_sigep/models/collect.rb