spigoter 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/spigoter/plugins.rb +4 -0
- data/lib/spigoter/version.rb +1 -1
- data/lib/spigoter/webapi/devbukkit.rb +65 -0
- data/lib/spigoter.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49b16dcbd14d8a17d43a7214a5c7f4eb5ae81e82
|
4
|
+
data.tar.gz: c417cd01039dc46c9ba9b0b815dd88129d67db9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a1fe4db30c65152ee30bb84424efa407dcfe12c848c50ac40aded0a24c51cc7a52ccdf791f1eff0c860dc4729231da71478e71647a8daea913b7cda5aa36d8d
|
7
|
+
data.tar.gz: 9398c549d12ccb1dd4f2f6e3eb5b11a1a6a392d61e36b409660378d90e112e0f073225f43843dba0854458e37a49f59b31aee7361eaaa521bbd0e6d82aeb4f59
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Spigoter
|
2
2
|
|
3
|
-
[](https://travis-ci.org/DanielRamosAcosta/spigoter) [](https://coveralls.io/github/DanielRamosAcosta/spigoter?branch=master) [](https://gemnasium.com/DanielRamosAcosta/spigoter)
|
3
|
+
[](https://travis-ci.org/DanielRamosAcosta/spigoter) [](https://coveralls.io/github/DanielRamosAcosta/spigoter?branch=master) [](https://gemnasium.com/DanielRamosAcosta/spigoter) [](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.
|
data/lib/spigoter/plugins.rb
CHANGED
@@ -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
|
data/lib/spigoter/version.rb
CHANGED
@@ -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
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.
|
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-
|
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
|