Sha256: a71bb64e04cb5424dfa44becd81a52c79ab5cabda595bdb71ca512b533066a44

Contents?: true

Size: 763 Bytes

Versions: 24

Compression:

Stored size: 763 Bytes

Contents

require "active_model"

require "einvoice/tradevan/validator/issue_data_validator"

module Einvoice
  module Tradevan
    module Model
      class Base
        include ActiveModel::Model
        include ActiveModel::Validations
        include ActiveModel::Serialization
        include ActiveModel::Serializers::JSON

        include Einvoice::Tradevan::Validator

        def attributes=(hash)
          @itemList ||= []
          hash.each do |key, value|
            case key.to_sym
            when :itemList
              value.each { |v| @itemList << IssueItem.new(v) }
            else
              send("#{key}=", value)
            end
          end
        end

        def attributes
          instance_values
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
einvoice-1.2.22 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.21 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.20 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.19 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.18 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.17 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.16 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.15 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.14 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.13 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.12 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.11 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.10 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.9 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.8 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.7 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.6 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.5 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.4 lib/einvoice/tradevan/model/base.rb
einvoice-1.2.3 lib/einvoice/tradevan/model/base.rb