Class: Zypper::Onlinesearch::PageRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/zypper/onlinesearch/request.rb

Overview

The single page request.

Constant Summary collapse

USER_AGENT =
"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(query, refresh, timeout = 60, cookies = []) ⇒ PageRequest



46
47
48
49
50
51
52
# File 'lib/zypper/onlinesearch/request.rb', line 46

def initialize(query, refresh, timeout = 60, cookies = [])
  @query = query.strip
  @cache = Cache.new(*self.class.to_s.split("::")[-2..-1].map(&:downcase))
  @refresh = refresh
  @cookies = cookies
  @timeout = timeout
end

Instance Attribute Details

#pageObject (readonly)

Returns the value of attribute page.



42
43
44
# File 'lib/zypper/onlinesearch/request.rb', line 42

def page
  @page
end

Instance Method Details

#available?Boolean



54
55
56
# File 'lib/zypper/onlinesearch/request.rb', line 54

def available?
  ping.is_a?(Net::HTTPSuccess)
end

#cache!Object



82
83
84
# File 'lib/zypper/onlinesearch/request.rb', line 82

def cache!
  @page = nil
end

#cache_timeObject



91
92
93
# File 'lib/zypper/onlinesearch/request.rb', line 91

def cache_time
  @cache.mtime(@query) if @query
end

#forbidden?Boolean



70
71
72
# File 'lib/zypper/onlinesearch/request.rb', line 70

def forbidden?
  ping.is_a?(Net::HTTPForbidden)
end

#not_found?Boolean



66
67
68
# File 'lib/zypper/onlinesearch/request.rb', line 66

def not_found?
  ping.is_a?(Net::HTTPNotFound)
end

#redirected?Boolean



58
59
60
# File 'lib/zypper/onlinesearch/request.rb', line 58

def redirected?
  ping.is_a?(Net::HTTPRedirection)
end

#redirected_toObject



62
63
64
# File 'lib/zypper/onlinesearch/request.rb', line 62

def redirected_to
  ping["location"]
end

#statusObject



78
79
80
# File 'lib/zypper/onlinesearch/request.rb', line 78

def status
  ping.class.to_s
end

#timeout?Boolean



74
75
76
# File 'lib/zypper/onlinesearch/request.rb', line 74

def timeout?
  ping.is_a?(Net::HTTPRequestTimeOut)
end

#to_dataObject



86
87
88
89
# File 'lib/zypper/onlinesearch/request.rb', line 86

def to_data
  klass = self.class.to_s.split("::")[-2..-1]
  Data.const_get(klass[0].to_sym).const_get(klass[1].to_sym).new(@page.body).data
end