Class: Wordstress::Models::Plugins
- Inherits:
-
Object
- Object
- Wordstress::Models::Plugins
- Defined in:
- lib/wordstress/models/plugins.rb
Instance Method Summary collapse
- #import_from_file(filename) ⇒ Object
-
#initialize(options = {:dbname=>"plugins.db"}) ⇒ Plugins
constructor
A new instance of Plugins.
Constructor Details
#initialize(options = {:dbname=>"plugins.db"}) ⇒ Plugins
Returns a new instance of Plugins.
28 29 30 31 32 |
# File 'lib/wordstress/models/plugins.rb', line 28 def initialize(={:dbname=>"plugins.db"}) DataMapper.setup(:default, "sqlite3://#{File.join(Dir.pwd, [:dbname])}") DataMapper.finalize DataMapper.auto_migrate! end |
Instance Method Details
#import_from_file(filename) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/wordstress/models/plugins.rb', line 34 def import_from_file(filename) doc = Nokogiri::HTML(File.read(filename)) title = doc.at_css('title').children.text return nil unless title.include?"Revision" revision = title.split("Revision ")[1].split(':')[0].to_i links = doc.xpath('//li//a') puts "Plugin SVN revision is: #{revision}" puts "#{links.count} plugins found" i = PluginInfo.new i.revision = revision i.save links.each do |link| p = Plugin.new p.name = link.text.chop p.link = 'https://plugins.svn.wordpress.org/'+link.attr('href') p.save end end |