Sha256: 8a1ee7afbcce4673b820aa45f76a2850fd92e795dd367a8020bfce9b231b3100

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

module ExtraSpace
  # e.g. https://www.extraspace.com/storage/facilities/us/alabama/auburn/3264/
  class Dimensions
    # @attribute [rw] depth
    #   @return [Integer]
    attr_accessor :depth

    # @attribute [rw] width
    #  @return [Integer]
    attr_accessor :width

    # @attribute [rw] sqft
    #   @return [Integer]
    attr_accessor :sqft

    # @attribute [rw] display
    #   @return [String]
    attr_accessor :display

    # @param depth [Integer]
    # @param width [Integer]
    # @param sqft [Integer]
    # @param display [String]
    def initialize(depth:, width:, sqft:, display:)
      @depth = depth
      @width = width
      @sqft = sqft
      @display = display
    end

    # @return [String]
    def inspect
      props = [
        "depth=#{@depth.inspect}",
        "width=#{@width.inspect}",
        "sqft=#{@sqft.inspect}",
        "display=#{@display.inspect}"
      ]
      "#<#{self.class.name} #{props.join(' ')}>"
    end

    # @param data [Hash]
    #
    # @return [Dimensions]
    def self.parse(data:)
      new(depth: data['depth'], width: data['width'], sqft: data['squareFoot'], display: data['display'])
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
extraspace-0.1.2 lib/extraspace/dimensions.rb
extraspace-0.1.1 lib/extraspace/dimensions.rb