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.



464
465
466
# File 'lib/google/apis/solar_v1/classes.rb', line 464

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)


415
416
417
# File 'lib/google/apis/solar_v1/classes.rb', line 415

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



421
422
423
# File 'lib/google/apis/solar_v1/classes.rb', line 421

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)


428
429
430
# File 'lib/google/apis/solar_v1/classes.rb', line 428

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



435
436
437
# File 'lib/google/apis/solar_v1/classes.rb', line 435

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



444
445
446
# File 'lib/google/apis/solar_v1/classes.rb', line 444

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



450
451
452
# File 'lib/google/apis/solar_v1/classes.rb', line 450

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



455
456
457
# File 'lib/google/apis/solar_v1/classes.rb', line 455

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)


462
463
464
# File 'lib/google/apis/solar_v1/classes.rb', line 462

def panel_config_index
  @panel_config_index
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



469
470
471
472
473
474
475
476
477
478
# File 'lib/google/apis/solar_v1/classes.rb', line 469

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