Sha256: e595c598aa5e6e7a40f3559feeb67cd9fb092260324e4ee80659476ff450572b

Contents?: true

Size: 1.37 KB

Versions: 2

Compression:

Stored size: 1.37 KB

Contents

require_relative 'base'

require 'amsi/request_section/property_resident_filter'
require 'amsi/document_parser/leases'

module Amsi
  module Request
    # Retrieve resident leases for a given property. Returns current leases only
    # by default.
    #
    # Custom required initialization parameters:
    # @property_id [String] AMSI property id
    # @lease_status [String] Lease status filter.
    # @include_marketing_source [Boolean] flag to include marketing sources
    # @params [Hash] extra configuration fields
    #   Valid values in: Amsi::Model::Lease::Status
    # @see request/base.rb for additional params required by every request.
    class GetPropertyResidents < Base
      def after_initialize(property_id:, lease_status:, include_marketing_source: false, params:)
        @property_id = property_id
        @lease_status = lease_status
        @include_marketing_source = include_marketing_source
        @params = params
      end

      private

      def parser
        DocumentParser::Leases.new(@params)
      end

      def sections
        [
          RequestSection::PropertyResidentFilter.new(
            property_id: property_id,
            lease_status: lease_status,
            include_marketing_source: include_marketing_source
          )
        ]
      end

      attr_reader :property_id, :lease_status, :include_marketing_source, :params
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
amsi-1.0.1 lib/amsi/request/get_property_residents.rb
amsi-1.0.0 lib/amsi/request/get_property_residents.rb