d3_status 1.0.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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/bin/d3_status ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift('lib')
4
+
5
+ begin
6
+ require 'd3_status'
7
+ rescue LoadError
8
+ require 'rubygems'
9
+ require 'd3_status'
10
+ end
11
+
12
+ include D3Status
13
+
14
+ D3Status.run
data/d3_status.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "d3_status/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "d3_status"
7
+ s.version = D3Status::VERSION
8
+ s.authors = ["Authier David, Ghislain Fournous"]
9
+ s.email = ["david@awea.fr"]
10
+ s.homepage = ""
11
+ s.summary = %q{Diablo 3 servers status}
12
+ s.description = %q{Diablo 3 servers status}
13
+
14
+ s.rubyforge_project = "d3_status"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ s.add_development_dependency "awesome_print"
23
+ s.add_runtime_dependency "nokogiri"
24
+ s.add_runtime_dependency "colorize"
25
+ end
@@ -0,0 +1,3 @@
1
+ module D3Status
2
+ VERSION = "1.0.0"
3
+ end
data/lib/d3_status.rb ADDED
@@ -0,0 +1,17 @@
1
+ require "d3_status/version"
2
+ require "nokogiri"
3
+ require "colorize"
4
+ require "open-uri"
5
+ require "ap"
6
+ require "parser/d3_parser"
7
+
8
+ module D3Status
9
+
10
+ def run
11
+ parser = D3Parser.new
12
+ parser.us_server
13
+ parser.eu_server
14
+ parser.asia_server
15
+ end
16
+
17
+ end
@@ -0,0 +1,44 @@
1
+ # Code forked from https://github.com/JohnRedmond/D3Status
2
+
3
+ class D3Parser
4
+ BATTLENET_WEB = "http://us.battle.net/d3/en/status"
5
+ DIV_CONTENT = "div.box"
6
+ DIV_CLASS = "div.status-icon"
7
+ TOOLTIP = "data-tooltip"
8
+
9
+ def initialize
10
+ doc = Nokogiri::HTML(open(BATTLENET_WEB))
11
+ @html_statuses = doc.search(DIV_CONTENT)
12
+ construct_statuses
13
+ end
14
+
15
+ def us_server
16
+ fuzzy_cute_cute("Server US : #{@statuses[0]}", @statuses[0])
17
+ end
18
+
19
+ def eu_server
20
+ fuzzy_cute_cute("Server EU : #{@statuses[1]}", @statuses[1])
21
+ end
22
+
23
+ def asia_server
24
+ fuzzy_cute_cute("Server ASIA : #{@statuses[2]}", @statuses[2])
25
+ end
26
+
27
+ private
28
+
29
+ def fuzzy_cute_cute(string, status)
30
+ if status.eql?'Available'
31
+ puts string.green
32
+ else
33
+ puts string.red
34
+ end
35
+ end
36
+
37
+ def construct_statuses
38
+ @statuses = []
39
+ @html_statuses.each do |div|
40
+ val = div.css(DIV_CLASS).first.attributes[TOOLTIP].value # return server dispo
41
+ @statuses << val
42
+ end
43
+ end
44
+ end
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: d3_status
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Authier David, Ghislain Fournous
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-05-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: awesome_print
16
+ requirement: &70246023570860 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70246023570860
25
+ - !ruby/object:Gem::Dependency
26
+ name: nokogiri
27
+ requirement: &70246023569720 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70246023569720
36
+ - !ruby/object:Gem::Dependency
37
+ name: colorize
38
+ requirement: &70246023569120 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70246023569120
47
+ description: Diablo 3 servers status
48
+ email:
49
+ - david@awea.fr
50
+ executables:
51
+ - d3_status
52
+ extensions: []
53
+ extra_rdoc_files: []
54
+ files:
55
+ - .gitignore
56
+ - Gemfile
57
+ - Rakefile
58
+ - bin/d3_status
59
+ - d3_status.gemspec
60
+ - lib/d3_status.rb
61
+ - lib/d3_status/version.rb
62
+ - lib/parser/d3_parser.rb
63
+ homepage: ''
64
+ licenses: []
65
+ post_install_message:
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubyforge_project: d3_status
83
+ rubygems_version: 1.8.10
84
+ signing_key:
85
+ specification_version: 3
86
+ summary: Diablo 3 servers status
87
+ test_files: []