Class: BookClubPicks::Book

Inherits:
Object
  • Object
show all
Defined in:
lib/book_club_picks/books.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil, author = nil, published = nil, clubs = nil, summary = nil) ⇒ Book



5
6
7
8
9
10
11
# File 'lib/book_club_picks/books.rb', line 5

def initialize(name = nil, author = nil, published = nil, clubs = nil, summary = nil)
  @name = name
  @author = author
  @published = published
  @clubs = clubs
  @summary = summary
end

Instance Attribute Details

#authorObject

Returns the value of attribute author.



3
4
5
# File 'lib/book_club_picks/books.rb', line 3

def author
  @author
end

#clubsObject

Returns the value of attribute clubs.



3
4
5
# File 'lib/book_club_picks/books.rb', line 3

def clubs
  @clubs
end

#nameObject

Returns the value of attribute name.



3
4
5
# File 'lib/book_club_picks/books.rb', line 3

def name
  @name
end

#publishedObject

Returns the value of attribute published.



3
4
5
# File 'lib/book_club_picks/books.rb', line 3

def published
  @published
end

#summaryObject

Returns the value of attribute summary.



3
4
5
# File 'lib/book_club_picks/books.rb', line 3

def summary
  @summary
end

Class Method Details

.scrape_details_1Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/book_club_picks/books.rb', line 13

def self.scrape_details_1
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[0].text.strip
  individual_details.published = doc.search("div.midd .omatter")[0].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[0].text.strip
  individual_details.summary = doc.css(".midd .statement")[0].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_2Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/book_club_picks/books.rb', line 25

def self.scrape_details_2
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[1].text.strip
  individual_details.published = doc.search("div.midd .omatter")[1].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[1].text.strip
  individual_details.summary = doc.css(".midd .statement")[1].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_3Object



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/book_club_picks/books.rb', line 37

def self.scrape_details_3
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[2].text.strip
  individual_details.published = doc.search("div.midd .omatter")[2].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[2].text.strip
  individual_details.summary = doc.css(".midd .statement")[2].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_4Object



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/book_club_picks/books.rb', line 49

def self.scrape_details_4
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[3].text.strip
  individual_details.published = doc.search("div.midd .omatter")[3].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[3].text.strip
  individual_details.summary = doc.css(".midd .statement")[3].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_5Object



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/book_club_picks/books.rb', line 61

def self.scrape_details_5
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[4].text.strip
  individual_details.published = doc.search("div.midd .omatter")[4].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[4].text.strip
  individual_details.summary = doc.css(".midd .statement")[4].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_6Object



73
74
75
76
77
78
79
80
81
82
83
# File 'lib/book_club_picks/books.rb', line 73

def self.scrape_details_6
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[5].text.strip
  individual_details.published = doc.search("div.midd .omatter")[5].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[5].text.strip
  individual_details.summary = doc.css(".midd .statement")[5].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_7Object



85
86
87
88
89
90
91
92
93
94
95
# File 'lib/book_club_picks/books.rb', line 85

def self.scrape_details_7
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[6].text.strip
  individual_details.published = doc.search("div.midd .omatter")[6].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[6].text.strip
  individual_details.summary = doc.css(".midd .statement")[6].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_8Object



97
98
99
100
101
102
103
104
105
106
107
# File 'lib/book_club_picks/books.rb', line 97

def self.scrape_details_8
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[7].text.strip
  individual_details.published = doc.search("div.midd .omatter")[7].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[7].text.strip
  individual_details.summary = doc.css(".midd .statement")[7].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_9Object



109
110
111
112
113
114
115
116
117
118
119
# File 'lib/book_club_picks/books.rb', line 109

def self.scrape_details_9
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[8].text.strip
  individual_details.published = doc.search("div.midd .omatter")[8].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[8].text.strip
  individual_details.summary = doc.css(".midd .statement")[8].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end

.scrape_details_tenObject



121
122
123
124
125
126
127
128
129
130
131
# File 'lib/book_club_picks/books.rb', line 121

def self.scrape_details_ten
  doc = Nokogiri::HTML(open("http://www.bookmovement.com/topClubPicks"))
  
  individual_details = self.new
  individual_details.name = doc.search("h2")[9].text.strip
  individual_details.published = doc.search("div.midd .omatter")[9].text.strip.split('Paperback').first.split('Hardcover').first.split('Kindle').first
  individual_details.clubs = doc.css(".recomnd")[8].text
  individual_details.summary = doc.css(".midd .statement")[9].text.strip.gsub('â', "\'").gsub('Â', " ")

  individual_details
end