Class: HttpPage

Inherits:
UnderOs::Page show all
Defined in:
app/pages/http_page.rb

Instance Attribute Summary

Attributes inherited from UnderOs::Page

#_, #stylesheet

Instance Method Summary collapse

Methods inherited from UnderOs::Page

#alert, #build_layout, #compile_styles, #history, layout, #name, #navbar, new, #repaint, #setup_wrap, #title, #title=, #view, #view=

Methods included from UnderOs::Events

#emit, #off, #on

Constructor Details

#initializeHttpPage

Returns a new instance of HttpPage.



3
4
5
6
7
8
9
# File 'app/pages/http_page.rb', line 3

def initialize
  @search = first('#search-form input')
  @result = first('img#result')
  @locker = Locker.new

  first('#search-form button').on(:tap) { search }
end

Instance Method Details

#parse_first_image_url(html) ⇒ Object



29
30
31
# File 'app/pages/http_page.rb', line 29

def parse_first_image_url(html)
  html.scan(/imgurl=(http:\/\/[^&]+)/)[0][0]
end

#searchObject



11
12
13
14
15
16
17
18
19
20
# File 'app/pages/http_page.rb', line 11

def search
  @search.hide_keyboard
  @locker.show

  UnderOs::HTTP.get search_url do |response|
    @result.load parse_first_image_url(response.body) do
      @locker.hide
    end
  end
end

#search_urlObject



22
23
24
25
26
27
# File 'app/pages/http_page.rb', line 22

def search_url
  query = @search.value
  query = 'puppy' if query.empty?

  "https://www.google.com.au/search?q=#{query}&source=lnms&tbm=isch"
end