Class: Parser::Astrology
- Inherits:
-
Object
- Object
- Parser::Astrology
- Defined in:
- lib/fly_parser/sources/astrology.rb
Instance Method Summary collapse
-
#initialize(source) ⇒ Astrology
constructor
A new instance of Astrology.
- #parse_all ⇒ Object
- #parse_content ⇒ Object
- #parse_in(text = "Гороскоп на сегодня", date = 'small') ⇒ Object
Constructor Details
#initialize(source) ⇒ Astrology
Returns a new instance of Astrology.
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/fly_parser/sources/astrology.rb', line 5 def initialize(source) @zodiacs = ['Овен','Телец','Близнецы','Рак','Лев','Дева','Весы','Скорпион','Стрелец','Козерог','Водолей','Рыбы'] @source = Parser.connect(source) small_titles = ["Гороскоп на сегодня", "Гороскоп на завтра", "Гороскоп на неделю"] big_titles = ["Гороскопы на месяц", "Гороскоп на 2014 год", "Гороскоп на 2014 год зеленой Лошади", "Гороскоп на сентябрь 2014"] @titles = Hashie::Mash.new @titles.small = small_titles @titles.big = big_titles end |
Instance Method Details
#parse_all ⇒ Object
35 36 37 38 39 40 |
# File 'lib/fly_parser/sources/astrology.rb', line 35 def parse_all small_content = @titles.small.map { |title| {title: title, content: parse_in(title,"small")} } big_content = @titles.big.map { |title| {title: title, content: parse_in(title,"big")} } small_content.concat big_content end |
#parse_content ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fly_parser/sources/astrology.rb', line 22 def parse_content zodiac_links.map do |item| link = item.link zodiac = item.zodiac @page = Parser.http(link.value) content = (@date == 'small' ? parse_small : parse_big) result = Hashie::Mash.new result.zodiac = zodiac result.content = content result end end |
#parse_in(text = "Гороскоп на сегодня", date = 'small') ⇒ Object
16 17 18 19 20 |
# File 'lib/fly_parser/sources/astrology.rb', line 16 def parse_in(text = "Гороскоп на сегодня", date = 'small') @text = text @date = date parse_content end |