module Cut::ClassMethods
Public Instance Methods
all(options = {})
click to toggle source
# File lib/cut/class_methods.rb, line 16 def all(options = {}) Client.get(@url, options).css(@selector).map {|node| from_node(node) } end
first(options = {})
click to toggle source
# File lib/cut/class_methods.rb, line 20 def first(options = {}) from_node(Client.get(@url, options).at_css(@selector)) end
map(*args)
click to toggle source
# File lib/cut/class_methods.rb, line 12 def map(*args) add_mapping(*args) end
selector(new_selector)
click to toggle source
# File lib/cut/class_methods.rb, line 8 def selector(new_selector) @selector = new_selector end
url(new_url)
click to toggle source
# File lib/cut/class_methods.rb, line 4 def url(new_url) @url = new_url end
Private Instance Methods
add_mapping(name, type, options)
click to toggle source
# File lib/cut/class_methods.rb, line 30 def add_mapping(name, type, options) mappings << Mapping.new(name, options) send(:attribute, name, type) end
from_node(node)
click to toggle source
# File lib/cut/class_methods.rb, line 35 def from_node(node) new.tap do |instance| mappings.each do |mapping| instance.send("#{mapping.name}=", mapping.value_from_node(node)) end end end
mappings()
click to toggle source
# File lib/cut/class_methods.rb, line 26 def mappings @mappings ||= [] end