dm-ys
=====
a DataMapper extension that uses html table as its schema and data powerfully like YunkerStar
Example
=======
class Maintainer
include DataMapper::YS
uri "http://datamapper.org/doku.php?id=gem_maintainers"
end
irb(main):001:0> Maintainer.count
=> 31
irb(main):002:0> Maintainer.first
=> #<Maintainer id=nil _Gem="data_objects" _Maintainer="dbussink" Name="Dirkjan Bussink">
irb(main):003:0> Maintainer.names
=> ["_Gem", "_Maintainer", "Name"]
irb(main):004:0> Maintainer.labels
=> ["Gem", "Maintainer", "Name"]
Anonymous class
===============
[] is a syntax sugar for generating anonymous class
Wota = DataMapper::YS["http://wota.jp"]
is equivalent to
class Wota
include DataMapper::YS
uri "http://wota.jp"
end
Pagination
==========
Special syntax "URI*" means pagination mode that enables recursive retrieving.
class Plugin
include DataMapper::YS
uri "http://merbi.st/plugins/index?page=1"
end
irb(main):001:0> Plugin.count
=> 20
This parses only specified uri.
Append "*" to uri if you want pagination mode.
class Plugin
include DataMapper::YS
uri "http://merbi.st/plugins/index?page=1*"
end
irb(main):001:0> Plugin.count
=> 36
Raw Element
===========
"element_for" method returns raw scraped elements those are currently hpricot elements.
>> Plugin.names #=> ["Name", "Repos", "Registeredby", "Description", "col_1"]
>> record = Plugin.first #=> #<Plugin id=1 Name="eventmachine-0.12.5" Repos=...>
>> record.Name #=> "eventmachine-0.12.5"
>> record.element_for("Name") #=> {elem td {elem a href"/plugins/36" "eventmachine-0.12.5" a} td}
>> record.element_for("Name").class #=> Hpricot::Elem
"link_for" is syntax sugar for extracting href tag from its element.
>> record.link_for("Name") #=> "http://merbi.st/plugins/36"
>> record.link_for("Registeredby") #=> "http://merbi.st/users/1"
Furthermore, :only_path option can control the fully qualified URL or not.
>> Plugin.ys[:only_path] = true
>> record.link_for("Name") #=> "/plugins/36"
>> record.link_for("Registeredby") #=> "/users/1"
TODO
====
* Feel free to request what you want! :)
Copyright (c) 2008 maiha@wota.jp, released under the MIT license
Project
maiha-dm-ys
a DataMapper extension that uses html table as its schema and data powerfully like YunkerStar
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Development
Dependencies
Runtime
Project Readme