Class: Google::Apis::SolarV1::FinancialAnalysis

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/solar_v1/classes.rb,
lib/google/apis/solar_v1/representations.rb,
lib/google/apis/solar_v1/representations.rb

Overview

Analysis of the cost and benefits of the optimum solar layout for a particular electric bill size.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ FinancialAnalysis

Returns a new instance of FinancialAnalysis.



426
427
428
# File 'lib/google/apis/solar_v1/classes.rb', line 426

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#average_kwh_per_monthFloat

How much electricity the house uses in an average month, based on the bill size and the local electricity rates. Corresponds to the JSON property averageKwhPerMonth

Returns:

  • (Float)


377
378
379
# File 'lib/google/apis/solar_v1/classes.rb', line 377

def average_kwh_per_month
  @average_kwh_per_month
end

#cash_purchase_savingsGoogle::Apis::SolarV1::CashPurchaseSavings

Cost and benefit of an outright purchase of a particular configuration of solar panels with a particular electricity usage. Corresponds to the JSON property cashPurchaseSavings



383
384
385
# File 'lib/google/apis/solar_v1/classes.rb', line 383

def cash_purchase_savings
  @cash_purchase_savings
end

#default_billBoolean Also known as: default_bill?

Whether this is the bill size selected to be the default bill for the area this building is in. Exactly one FinancialAnalysis in BuildingSolarPotential should have default_bill set. Corresponds to the JSON property defaultBill

Returns:

  • (Boolean)


390
391
392
# File 'lib/google/apis/solar_v1/classes.rb', line 390

def default_bill
  @default_bill
end

#financed_purchase_savingsGoogle::Apis::SolarV1::FinancedPurchaseSavings

Cost and benefit of using a loan to buy a particular configuration of solar panels with a particular electricity usage. Corresponds to the JSON property financedPurchaseSavings



397
398
399
# File 'lib/google/apis/solar_v1/classes.rb', line 397

def financed_purchase_savings
  @financed_purchase_savings
end

#financial_detailsGoogle::Apis::SolarV1::FinancialDetails

Details of a financial analysis. Some of these details are already stored at higher levels (e.g., out of pocket cost). Total money amounts are over a lifetime period defined by the panel_lifetime_years field in SolarPotential. Note: The out of pocket cost of purchasing the panels is given in the out_of_pocket_cost field in CashPurchaseSavings. Corresponds to the JSON property financialDetails



406
407
408
# File 'lib/google/apis/solar_v1/classes.rb', line 406

def financial_details
  @financial_details
end

#leasing_savingsGoogle::Apis::SolarV1::LeasingSavings

Cost and benefit of leasing a particular configuration of solar panels with a particular electricity usage. Corresponds to the JSON property leasingSavings



412
413
414
# File 'lib/google/apis/solar_v1/classes.rb', line 412

def leasing_savings
  @leasing_savings
end

#monthly_billGoogle::Apis::SolarV1::Money

Represents an amount of money with its currency type. Corresponds to the JSON property monthlyBill



417
418
419
# File 'lib/google/apis/solar_v1/classes.rb', line 417

def monthly_bill
  @monthly_bill
end

#panel_config_indexFixnum

Index in solar_panel_configs of the optimum solar layout for this bill size. This can be -1 indicating that there is no layout. In this case, the remaining submessages will be omitted. Corresponds to the JSON property panelConfigIndex

Returns:

  • (Fixnum)


424
425
426
# File 'lib/google/apis/solar_v1/classes.rb', line 424

def panel_config_index
  @panel_config_index
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



431
432
433
434
435
436
437
438
439
440
# File 'lib/google/apis/solar_v1/classes.rb', line 431

def update!(**args)
  @average_kwh_per_month = args[:average_kwh_per_month] if args.key?(:average_kwh_per_month)
  @cash_purchase_savings = args[:cash_purchase_savings] if args.key?(:cash_purchase_savings)
  @default_bill = args[:default_bill] if args.key?(:default_bill)
  @financed_purchase_savings = args[:financed_purchase_savings] if args.key?(:financed_purchase_savings)
  @financial_details = args[:financial_details] if args.key?(:financial_details)
  @leasing_savings = args[:leasing_savings] if args.key?(:leasing_savings)
  @monthly_bill = args[:monthly_bill] if args.key?(:monthly_bill)
  @panel_config_index = args[:panel_config_index] if args.key?(:panel_config_index)
end