Sha256: fcf3a41ba3ee45d6a0efa96c94d00a2cd2e5f96947570721c924dd7e9d07a05b

Contents?: true

Size: 754 Bytes

Versions: 29

Compression:

Stored size: 754 Bytes

Contents

# frozen_string_literal: true

module ZohoHub
  class Product < BaseRecord
    attributes :id, :description, :vendor_id, :owner_id, :active, :name

    attribute_translation(
      id: :id,
      active: :Product_Active,
      name: :Product_Name
    )

    def initialize(params)
      puts Rainbow(params).magenta

      attributes.each do |attr|
        zoho_key = attr_to_zoho_key(attr)

        send("#{attr}=", params[zoho_key] || params[attr])
      end

      @owner_id ||= params.dig(:Owner, :id)
      @vendor_id ||= params.dig(:Vendor_Name, :id)
    end

    def to_params
      params = super

      params[:Owner] = { id: @owner_id } if @owner_id
      params[:Vendor_Name] = { id: @vendor_id } if @vendor_id

      params
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
zoho_hub-0.1.42 lib/zoho_hub/records/product.rb
zoho_hub-0.1.41 lib/zoho_hub/records/product.rb
zoho_hub-0.1.40 lib/zoho_hub/records/product.rb
zoho_hub-0.1.39 lib/zoho_hub/records/product.rb
zoho_hub-0.1.38 lib/zoho_hub/records/product.rb
zoho_hub-0.1.37 lib/zoho_hub/records/product.rb
zoho_hub-0.1.36 lib/zoho_hub/records/product.rb
zoho_hub-0.1.35 lib/zoho_hub/records/product.rb
zoho_hub-0.1.34 lib/zoho_hub/records/product.rb
zoho_hub-0.1.33 lib/zoho_hub/records/product.rb
zoho_hub-0.1.32 lib/zoho_hub/records/product.rb
zoho_hub-0.1.30 lib/zoho_hub/records/product.rb
zoho_hub-0.1.29 lib/zoho_hub/records/product.rb
zoho_hub-0.1.28 lib/zoho_hub/records/product.rb
zoho_hub-0.1.27 lib/zoho_hub/records/product.rb
zoho_hub-0.1.26 lib/zoho_hub/records/product.rb
zoho_hub-0.1.25 lib/zoho_hub/records/product.rb
zoho_hub-0.1.24 lib/zoho_hub/records/product.rb
zoho_hub-0.1.23 lib/zoho_hub/records/product.rb
zoho_hub-0.1.22 lib/zoho_hub/records/product.rb