Class: Craigslist::API::Area::SubArea

Inherits:
Object
  • Object
show all
Defined in:
lib/craigslist/api/area.rb

Overview

A subdivision of an Craigslist::API::Area. Postings in areas that have subareas are expected to name one.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(abbreviation:, description: nil, short_description: nil, id: nil) ⇒ SubArea

Returns a new instance of SubArea.



13
14
15
16
17
18
19
# File 'lib/craigslist/api/area.rb', line 13

def initialize(abbreviation:, description: nil, short_description: nil, id: nil)
  @abbreviation = abbreviation
  @description = description
  @short_description = short_description
  @id = id
  freeze
end

Instance Attribute Details

#abbreviationObject (readonly)

Returns the value of attribute abbreviation.



11
12
13
# File 'lib/craigslist/api/area.rb', line 11

def abbreviation
  @abbreviation
end

#descriptionObject (readonly)

Returns the value of attribute description.



11
12
13
# File 'lib/craigslist/api/area.rb', line 11

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



11
12
13
# File 'lib/craigslist/api/area.rb', line 11

def id
  @id
end

#short_descriptionObject (readonly)

Returns the value of attribute short_description.



11
12
13
# File 'lib/craigslist/api/area.rb', line 11

def short_description
  @short_description
end

Class Method Details

.from(hash) ⇒ SubArea

Parameters:

  • hash (Hash)

    raw payload

Returns:



23
24
25
26
27
28
29
30
# File 'lib/craigslist/api/area.rb', line 23

def self.from(hash)
  new(
    abbreviation: hash["Abbreviation"],
    description: hash["Description"],
    short_description: hash["ShortDescription"],
    id: hash["SubAreaID"]
  )
end

Instance Method Details

#inspectObject



36
37
38
# File 'lib/craigslist/api/area.rb', line 36

def inspect
  "#<#{self.class.name} #{abbreviation.inspect} #{description.inspect}>"
end

#to_sObject



32
33
34
# File 'lib/craigslist/api/area.rb', line 32

def to_s
  abbreviation.to_s
end