Parent

Files

Nicovideo::Page

Public Class Methods

new(agent) click to toggle source
# File lib/nicovideo/page.rb, line 12
def initialize agent
  @agent = agent
  @page  = nil
  @title = nil

  @not_found = false
end

Public Instance Methods

exists?() click to toggle source
# File lib/nicovideo/page.rb, line 21
def exists?()
  begin
    @page = @page || get_page
    return true
  rescue
    return false
  end
end
html() click to toggle source
# File lib/nicovideo/page.rb, line 30
def html()
  page = @page || get_page
  return nil unless page
  page.parser.to_html
end
title=(title) click to toggle source
# File lib/nicovideo/page.rb, line 36
def title=(title)
  @title = title
end

Protected Instance Methods

get_page(url, force=false) click to toggle source
# File lib/nicovideo/page.rb, line 60
def get_page url, force=false
  return @page if (@page && !force) 
  raise NotFound if @not_found

  puts_info 'getting html page : url = ' + url.to_s
  begin
    page = @agent.get(url)
    puts_debug page.header
    puts_debug page.body

    parse(page)
    @page = page
  rescue WWW::Mechanize::ResponseCodeError => e
    rc = e.response_code
    puts_info rc
    if rc == "404" || rc == "410"
      @not_found = true
      raise NotFound
    elsif rc == "403"
      raise Forbidden
    else
      raise e
    end
  end
  @page
end
parse(page) click to toggle source
# File lib/nicovideo/page.rb, line 56
def parse page
  # to be extended
end
puts_debug(str ;) click to toggle source
# File lib/nicovideo/page.rb, line 89
def puts_debug str ; puts str if (NV_DEBUG_LEVEL >= 3) ; end
puts_error(str ;) click to toggle source
# File lib/nicovideo/page.rb, line 87
def puts_error str ; puts str if (NV_DEBUG_LEVEL >= 1) ; end
puts_info(str ;) click to toggle source
# File lib/nicovideo/page.rb, line 88
def puts_info  str ; puts str if (NV_DEBUG_LEVEL >= 2) ; end
register_getter(params) click to toggle source
# File lib/nicovideo/page.rb, line 41
def register_getter(params)
  params.each {|p|
    p_noq = p.sub(/\?$/,'')
    eval           @#{p_noq} = nil          def #{p}            if @#{p_noq}.nil?              @page ||= get_page(@url)            end            @#{p_noq}          end
  }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.