Class: Lazyman::Page

Inherits:
Object
  • Object
show all
Includes:
PageObject
Defined in:
lib/lazyman/lazy_page.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &blk) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/lazyman/lazy_page.rb', line 6

def method_missing(m, *args, &blk)
	if @browser.respond_to? m
		@browser.send(m, *args, &blk)
	else
		super
	end #if
end

Instance Method Details

#data_driven(hash, &blk) ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/lazyman/lazy_page.rb', line 19

def data_driven hash, &blk
	raise ArgumentError unless hash.is_a?(Hash)
	hash.each do |mtd, data|
		m_with_eql = (mtd.to_s + '=').to_sym
		if respond_to?(m_with_eql)
			#self.send(m_with_eql, data)
			eval "self.#{m_with_eql.to_s}(data)"
		elsif respond_to?(mtd.to_sym)
			self.send(mtd.to_sym).send(data.to_sym) 
		end #if
	end #each
	class_eval &blk if block_given?
end

#turn_to(kls) ⇒ Object



14
15
16
17
# File 'lib/lazyman/lazy_page.rb', line 14

def turn_to kls
	raise InvalidLazymanPageError unless kls <= Lazyman::Page
	kls.new(@browser)
end