Sha256: 9fde85ff35ea490aa162316c6a8d8cda17914a38d49a28e8833a8aaacdd34d57

Contents?: true

Size: 462 Bytes

Versions: 6

Compression:

Stored size: 462 Bytes

Contents

# frozen_string_literal: true

module Supersaas
  class BaseModel
    attr_accessor :errors
    attr_reader :attributes

    def initialize(attributes)
      @attributes = attributes
      assign_attributes(attributes)
    end

    private

    def assign_attributes(attributes)
      attributes.each do |key, value|
        self.class.module_eval { attr_accessor key }
        public_send("#{key}=", value) if respond_to?("#{key}=")
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
supersaas-api-client-2.0.5 lib/supersaas-api-client/models/base_model.rb
supersaas-api-client-2.0.4 lib/supersaas-api-client/models/base_model.rb
supersaas-api-client-2.0.3 lib/supersaas-api-client/models/base_model.rb
supersaas-api-client-2.0.2 lib/supersaas-api-client/models/base_model.rb
supersaas-api-client-2.0.1 lib/supersaas-api-client/models/base_model.rb
supersaas-api-client-2.0.0 lib/supersaas-api-client/models/base_model.rb