Sha256: a9c157006bdd666347a3d49f61ec2d26100808de91749d08bacbc60167d97af2

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require 'quick_travel/adapter'
require 'quick_travel/bed_requirement'
require 'quick_travel/passenger_price_break'
require 'quick_travel/product_type'
require 'quick_travel/cache'

module QuickTravel
  class Resource < Adapter
    include QuickTravel::Cache
    attr_accessor :id,
                  :code,
                  :name,
                  :current_description,
                  :images,
                  :category,
                  :property_name,
                  :product_type_id,
                  :package_options,
                  :bed_requirements,
                  :client_type_ids,
                  :restrict_to_client_types,
                  :type
    self.api_base = '/api/resources'

    def sub_resources
      Resource.find_all!('/api/resources.json', parent_resource_id: @id)
    end

    def product_type
      QuickTravel::ProductType.all.detect { |pt| pt.id == product_type_id }
    end

    # this method is also duplicated in accommodation class. because now its room facilities are now also available in property show api call
    def room_facilities
      if @_room_facilities.blank?
        @_room_facilities = []
        @room_facilities.each do |item|
          @_room_facilities << RoomFacility.new(item['room_facility'])
        end
      end
      @_room_facilities
    end

    def bed_requirements
      @_bed_requirements ||= Array.wrap(@bed_requirements).map do |bed_requirement|
        BedRequirement.new(bed_requirement)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
quicktravel_client-1.1.2 lib/quick_travel/resource.rb