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 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