Sha256: 817ac7281088af1909dc2f04ed757430ad1fe7e75f5417a78c700ef534a29ca5
Contents?: true
Size: 1.16 KB
Versions: 26
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true require 'zoho_hub/records/base_record' module ZohoHub class Quote < BaseRecord attributes :id, :stage, :subject, :potential_id, :owner_id, :product_id, :account_id, :extra_info attribute_translation( id: :id, stage: :Quote_Stage ) def initialize(params) attributes.each do |attr| zoho_key = attr_to_zoho_key(attr) send("#{attr}=", params[zoho_key] || params[attr]) end @potential_id ||= params.dig(:Deal_Name, :id) @account_id ||= params.dig(:Account_Name, :id) @owner_id ||= params.dig(:Owner, :id) # The Quote has an array of products but we only care about one if params.dig(:Product_Details) product = params.dig(:Product_Details).first @product_id = product.dig(:id) end end def to_params params = super params[:Deal_Name] = { id: @potential_id } if @potential_id params[:Account_Name] = { id: @account_id } if @account_id params[:Owner] = { id: @owner_id } if @owner_id params[:Product_Details] = [{ product: { id: @product_id }, quantity: 1 }] if @product_id params end end end
Version data entries
26 entries across 26 versions & 1 rubygems