Class: YelpHtmlParser::ResourceParsers::Business

Inherits:
Object
  • Object
show all
Defined in:
lib/yelp_html_parser/resource_parsers/business.rb

Instance Method Summary collapse

Constructor Details

#initialize(business_data) ⇒ Business

Returns a new instance of Business.



5
6
7
8
9
# File 'lib/yelp_html_parser/resource_parsers/business.rb', line 5

def initialize(business_data)
  return unless business_data
  @main_attributes =  business_data.css('.main-attributes')
  @secondary_attributes =  business_data.css('.secondary-attributes')
end

Instance Method Details

#build_businessObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/yelp_html_parser/resource_parsers/business.rb', line 11

def build_business
  return nil unless @main_attributes
  business = YelpHtmlParser::Resources::Business.new
  business.business_name = @main_attributes.css('.biz-name').first.children[0].to_s
  business.url = @main_attributes.css('.biz-name').first.attributes["href"].value
  business.avatar = @main_attributes.css('.photo-box-img').first.attributes['src'].value
  address_string = @secondary_attributes.first.css('address').children.to_s
  phone_string = @secondary_attributes.first.css('.biz-phone').children.to_s
  business.address = YelpHtmlParser::Helpers::SecondaryAttributesParser.new(address_string).parse
  business.phone = YelpHtmlParser::Helpers::SecondaryAttributesParser.new(phone_string).parse
  business
end