spigoter 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 428e95fe3257f3b80a1243feff08548fc4c6af3b
4
- data.tar.gz: 0f05544476abbdc88311248b976ae7ce2e24c03d
3
+ metadata.gz: 49b16dcbd14d8a17d43a7214a5c7f4eb5ae81e82
4
+ data.tar.gz: c417cd01039dc46c9ba9b0b815dd88129d67db9e
5
5
  SHA512:
6
- metadata.gz: 5b12eafa9055487e50f8aab9d78e7febcdd78591321639b8ca665eee0e83a6a82a3023f1716abfc084e8a815b2662b666913fa90346136e2714fc78f0a4e48a9
7
- data.tar.gz: f639e2d4f8403a74c271a035f16ef8926358d11e927cb3e4f68e63fdf303983a7bcafc56ad208c5a86eb02ddcac33e0ce4ca74456df033cff0464f727dc9cb3c
6
+ metadata.gz: 0a1fe4db30c65152ee30bb84424efa407dcfe12c848c50ac40aded0a24c51cc7a52ccdf791f1eff0c860dc4729231da71478e71647a8daea913b7cda5aa36d8d
7
+ data.tar.gz: 9398c549d12ccb1dd4f2f6e3eb5b11a1a6a392d61e36b409660378d90e112e0f073225f43843dba0854458e37a49f59b31aee7361eaaa521bbd0e6d82aeb4f59
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- spigoter (0.1.2)
4
+ spigoter (0.2.0)
5
5
  json (~> 1.8)
6
6
  logging (~> 2.1)
7
7
 
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Spigoter
2
2
 
3
- [![Build Status](https://travis-ci.org/DanielRamosAcosta/spigoter.svg?branch=master)](https://travis-ci.org/DanielRamosAcosta/spigoter) [![Coverage Status](https://coveralls.io/repos/github/DanielRamosAcosta/spigoter/badge.svg?branch=master)](https://coveralls.io/github/DanielRamosAcosta/spigoter?branch=master) [![Dependency Status](https://gemnasium.com/DanielRamosAcosta/spigoter.svg)](https://gemnasium.com/DanielRamosAcosta/spigoter)
3
+ [![Build Status](https://travis-ci.org/DanielRamosAcosta/spigoter.svg?branch=master)](https://travis-ci.org/DanielRamosAcosta/spigoter) [![Coverage Status](https://coveralls.io/repos/github/DanielRamosAcosta/spigoter/badge.svg?branch=master)](https://coveralls.io/github/DanielRamosAcosta/spigoter?branch=master) [![Dependency Status](https://gemnasium.com/DanielRamosAcosta/spigoter.svg)](https://gemnasium.com/DanielRamosAcosta/spigoter) [![Gem Version](https://badge.fury.io/rb/spigoter.svg)](https://badge.fury.io/rb/spigoter)
4
4
 
5
5
 
6
6
  Spigoter is a Ruby gem that gives you many tools make your server keepup easier.
@@ -6,6 +6,10 @@ module Spigoter
6
6
  f = Spigoter::PluginCurse.new(data['url']).download
7
7
  hash = {:name => "#{data['name']}.jar", :file => f}
8
8
  return hash
9
+ when 'devbukkit'
10
+ f = Spigoter::PluginBukkit.new(data['url']).download
11
+ hash = {:name => "#{data['name']}.jar", :file => f}
12
+ return hash
9
13
  else
10
14
  raise "Unkown source"
11
15
  end
@@ -1,3 +1,3 @@
1
1
  module Spigoter
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -0,0 +1,65 @@
1
+ require 'open-uri'
2
+ require 'logging'
3
+
4
+ module Spigoter
5
+ class PluginBukkit
6
+ def initialize(website)
7
+ @url = website # Url of the plugin
8
+ @main_page # Mainpage content
9
+ @name # Name of the plugin
10
+ @download_page # Content of the download page
11
+ @download_url # Download url of the plugin
12
+
13
+ raise "Bad URL #{@url}" if @url.match(/http:\/\/dev.bukkit.org\/bukkit-plugins\/[a-z\-]+\/?/).nil?
14
+ end
15
+ def main_page
16
+ return @main_page unless @main_page.nil?
17
+ Log.info "Downloading main page"
18
+ begin
19
+ @main_page = open(@url).read
20
+ rescue
21
+ raise "404 Error, that plugin URL doesn't exists"
22
+ end
23
+ return @main_page
24
+ end
25
+ def download_page
26
+ return @download_page unless @download_page.nil?
27
+ main_page
28
+ Log.info "Downloading download page"
29
+ url_download_page = @main_page.match(/<a href="(?<download_page_url>.+)">Download/)[:download_page_url]
30
+ begin
31
+ @download_page = open("http://dev.bukkit.org/#{url_download_page}").read
32
+ rescue
33
+ raise "404 Error, that plugin URL doesn't exists"
34
+ end
35
+ return @download_page
36
+ end
37
+ def download_url
38
+ return @download_url unless @download_url.nil?
39
+ download_page
40
+ Log.info "Parsing download url"
41
+ @download_url = /href="(?<download_url>.+)">Download/.match(@download_page)[:download_url]
42
+ end
43
+ def version
44
+ return @version unless @version.nil?
45
+ download_page
46
+ Log.info "Getting version"
47
+ @version = /3">\s*<h1>\s+(?<version>.+)\s+<\/h1>/.match(@download_page)[:version]
48
+ end
49
+ def name
50
+ return @name unless @name.nil?
51
+ Log.info "Getting name"
52
+ @name = /ins\/(?<name>[a-z\-]+)\/?/.match(@url)[:name]
53
+ end
54
+ def download
55
+ download_url
56
+ Log.info "Downloading"
57
+ begin
58
+ file = open(@download_url).read
59
+ rescue
60
+ raise "Can't download file for #{name}, #{@download_url}, check internet?"
61
+ end
62
+ return file
63
+ end
64
+ end
65
+ end
data/lib/spigoter.rb CHANGED
@@ -2,6 +2,7 @@ require "spigoter/version"
2
2
  require "spigoter/log/log"
3
3
  require 'spigoter/plugins'
4
4
  require 'spigoter/webapi/curse'
5
+ require 'spigoter/webapi/devbukkit'
5
6
  require 'spigoter/cli/cli_update'
6
7
  require 'spigoter/cli/cli_compile'
7
8
  require 'spigoter/cli/cli_start'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spigoter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Ramos
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-31 00:00:00.000000000 Z
11
+ date: 2016-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -194,6 +194,7 @@ files:
194
194
  - lib/spigoter/plugins.rb
195
195
  - lib/spigoter/version.rb
196
196
  - lib/spigoter/webapi/curse.rb
197
+ - lib/spigoter/webapi/devbukkit.rb
197
198
  - pkg/.gitignore
198
199
  - spigoter.gemspec
199
200
  - tmp/.gitignore