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

Version Path
zoho_hub-0.1.45 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.44 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.43 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.42 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.41 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.40 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.39 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.38 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.37 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.36 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.35 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.34 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.33 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.32 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.30 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.29 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.28 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.27 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.26 lib/zoho_hub/records/quote.rb
zoho_hub-0.1.25 lib/zoho_hub/records/quote.rb