unclekryon 0.4.10 → 0.4.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +6 -19
- data/Gemfile.lock +19 -23
- data/README.md +3 -2
- data/Rakefile +11 -30
- data/bin/unclekryon +4 -15
- data/hax/kryon.yaml +28 -0
- data/hax/kryon_aums_2002-2005.yaml +460 -0
- data/hax/kryon_aums_2006.yaml +601 -0
- data/hax/kryon_aums_2007.yaml +1024 -0
- data/hax/kryon_aums_2008.yaml +950 -0
- data/hax/kryon_aums_2009.yaml +496 -0
- data/hax/kryon_aums_2010.yaml +1443 -0
- data/hax/kryon_aums_2011.yaml +1458 -0
- data/hax/kryon_aums_2012.yaml +2123 -0
- data/hax/kryon_aums_2013.yaml +1647 -0
- data/hax/kryon_aums_2014.yaml +2478 -0
- data/hax/kryon_aums_2015.yaml +3386 -0
- data/hax/kryon_aums_2016.yaml +3476 -0
- data/hax/kryon_aums_2017.yaml +3712 -0
- data/hax/kryon_aums_2018.yaml +3654 -0
- data/lib/unclekryon.rb +165 -165
- data/lib/unclekryon/data/album_data.rb +74 -82
- data/lib/unclekryon/data/artist_data.rb +24 -36
- data/lib/unclekryon/data/artist_data_data.rb +29 -41
- data/lib/unclekryon/data/aum_data.rb +20 -32
- data/lib/unclekryon/data/base_data.rb +27 -39
- data/lib/unclekryon/data/pic_data.rb +25 -37
- data/lib/unclekryon/data/release_data.rb +14 -26
- data/lib/unclekryon/data/social_data.rb +6 -18
- data/lib/unclekryon/data/timespan_data.rb +16 -28
- data/lib/unclekryon/dev_opts.rb +7 -19
- data/lib/unclekryon/hacker.rb +119 -133
- data/lib/unclekryon/iso.rb +128 -138
- data/lib/unclekryon/iso/base_iso.rb +69 -81
- data/lib/unclekryon/iso/can_prov_terr.rb +34 -47
- data/lib/unclekryon/iso/country.rb +36 -49
- data/lib/unclekryon/iso/language.rb +86 -96
- data/lib/unclekryon/iso/region.rb +11 -25
- data/lib/unclekryon/iso/subregion.rb +11 -25
- data/lib/unclekryon/iso/usa_state.rb +28 -41
- data/lib/unclekryon/jsoner.rb +31 -50
- data/lib/unclekryon/log.rb +34 -46
- data/lib/unclekryon/parsers/kryon_aum_year_album_parser.rb +163 -167
- data/lib/unclekryon/parsers/kryon_aum_year_parser.rb +122 -127
- data/lib/unclekryon/server.rb +8 -17
- data/lib/unclekryon/trainer.rb +69 -83
- data/lib/unclekryon/uploader.rb +8 -17
- data/lib/unclekryon/util.rb +80 -92
- data/lib/unclekryon/version.rb +4 -16
- data/train/kryon.yaml +6077 -0
- data/unclekryon.gemspec +44 -42
- metadata +59 -16
@@ -1,28 +1,14 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
1
|
# encoding: UTF-8
|
3
2
|
# frozen_string_literal: true
|
4
3
|
|
5
4
|
#--
|
6
5
|
# This file is part of UncleKryon-server.
|
7
|
-
# Copyright (c) 2018-
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# it under the terms of the GNU General Public License as published by
|
11
|
-
# the Free Software Foundation, either version 3 of the License, or
|
12
|
-
# (at your option) any later version.
|
13
|
-
#
|
14
|
-
# UncleKryon-server is distributed in the hope that it will be useful,
|
15
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
# GNU General Public License for more details.
|
18
|
-
#
|
19
|
-
# You should have received a copy of the GNU General Public License
|
20
|
-
# along with UncleKryon-server. If not, see <https://www.gnu.org/licenses/>.
|
6
|
+
# Copyright (c) 2018-2021 Jonathan Bradley Whited
|
7
|
+
#
|
8
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
21
9
|
#++
|
22
10
|
|
23
11
|
|
24
|
-
require 'bundler/setup'
|
25
|
-
|
26
12
|
require 'unclekryon/iso/base_iso'
|
27
13
|
|
28
14
|
##
|
@@ -30,24 +16,24 @@ require 'unclekryon/iso/base_iso'
|
|
30
16
|
##
|
31
17
|
module UncleKryon
|
32
18
|
class Region < BaseIso
|
33
|
-
def initialize
|
19
|
+
def initialize
|
34
20
|
super()
|
35
21
|
end
|
36
22
|
end
|
37
|
-
|
23
|
+
|
38
24
|
class Regions < BaseIsos
|
39
25
|
DEFAULT_FILEPATH = "#{DEFAULT_DIR}/regions.yaml"
|
40
|
-
|
41
|
-
def initialize
|
26
|
+
|
27
|
+
def initialize
|
42
28
|
super()
|
43
29
|
end
|
44
|
-
|
30
|
+
|
45
31
|
def self.load_file(filepath=DEFAULT_FILEPATH)
|
46
|
-
return Regions.new
|
32
|
+
return Regions.new.load_file(filepath)
|
47
33
|
end
|
48
34
|
end
|
49
35
|
end
|
50
36
|
|
51
|
-
if $
|
52
|
-
puts UncleKryon::Regions.load_file
|
37
|
+
if $PROGRAM_NAME == __FILE__
|
38
|
+
puts UncleKryon::Regions.load_file.to_s
|
53
39
|
end
|
@@ -1,28 +1,14 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
1
|
# encoding: UTF-8
|
3
2
|
# frozen_string_literal: true
|
4
3
|
|
5
4
|
#--
|
6
5
|
# This file is part of UncleKryon-server.
|
7
|
-
# Copyright (c) 2019 Jonathan Bradley Whited
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# it under the terms of the GNU General Public License as published by
|
11
|
-
# the Free Software Foundation, either version 3 of the License, or
|
12
|
-
# (at your option) any later version.
|
13
|
-
#
|
14
|
-
# UncleKryon-server is distributed in the hope that it will be useful,
|
15
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
# GNU General Public License for more details.
|
18
|
-
#
|
19
|
-
# You should have received a copy of the GNU General Public License
|
20
|
-
# along with UncleKryon-server. If not, see <https://www.gnu.org/licenses/>.
|
6
|
+
# Copyright (c) 2019-2021 Jonathan Bradley Whited
|
7
|
+
#
|
8
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
21
9
|
#++
|
22
10
|
|
23
11
|
|
24
|
-
require 'bundler/setup'
|
25
|
-
|
26
12
|
require 'unclekryon/iso/base_iso'
|
27
13
|
|
28
14
|
##
|
@@ -30,24 +16,24 @@ require 'unclekryon/iso/base_iso'
|
|
30
16
|
##
|
31
17
|
module UncleKryon
|
32
18
|
class Subregion < BaseIso
|
33
|
-
def initialize
|
19
|
+
def initialize
|
34
20
|
super()
|
35
21
|
end
|
36
22
|
end
|
37
|
-
|
23
|
+
|
38
24
|
class Subregions < BaseIsos
|
39
25
|
DEFAULT_FILEPATH = "#{DEFAULT_DIR}/subregions.yaml"
|
40
|
-
|
41
|
-
def initialize
|
26
|
+
|
27
|
+
def initialize
|
42
28
|
super()
|
43
29
|
end
|
44
|
-
|
30
|
+
|
45
31
|
def self.load_file(filepath=DEFAULT_FILEPATH)
|
46
|
-
return Subregions.new
|
32
|
+
return Subregions.new.load_file(filepath)
|
47
33
|
end
|
48
34
|
end
|
49
35
|
end
|
50
36
|
|
51
|
-
if $
|
52
|
-
puts UncleKryon::Subregions.load_file
|
37
|
+
if $PROGRAM_NAME == __FILE__
|
38
|
+
puts UncleKryon::Subregions.load_file.to_s
|
53
39
|
end
|
@@ -1,28 +1,14 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
1
|
# encoding: UTF-8
|
3
2
|
# frozen_string_literal: true
|
4
3
|
|
5
4
|
#--
|
6
5
|
# This file is part of UncleKryon-server.
|
7
|
-
# Copyright (c) 2018-
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# it under the terms of the GNU General Public License as published by
|
11
|
-
# the Free Software Foundation, either version 3 of the License, or
|
12
|
-
# (at your option) any later version.
|
13
|
-
#
|
14
|
-
# UncleKryon-server is distributed in the hope that it will be useful,
|
15
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
# GNU General Public License for more details.
|
18
|
-
#
|
19
|
-
# You should have received a copy of the GNU General Public License
|
20
|
-
# along with UncleKryon-server. If not, see <https://www.gnu.org/licenses/>.
|
6
|
+
# Copyright (c) 2018-2021 Jonathan Bradley Whited
|
7
|
+
#
|
8
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
21
9
|
#++
|
22
10
|
|
23
11
|
|
24
|
-
require 'bundler/setup'
|
25
|
-
|
26
12
|
require 'nokogiri'
|
27
13
|
require 'open-uri'
|
28
14
|
require 'yaml'
|
@@ -37,68 +23,69 @@ module UncleKryon
|
|
37
23
|
class UsaState < BaseIso
|
38
24
|
def initialize(row=nil)
|
39
25
|
super()
|
40
|
-
|
26
|
+
|
41
27
|
if row.is_a?(Array)
|
42
28
|
@name = self.class.simplify_name(row[2])
|
43
29
|
@code = self.class.simplify_code(row[1])
|
44
30
|
end
|
45
31
|
end
|
46
32
|
end
|
47
|
-
|
33
|
+
|
48
34
|
class UsaStates < BaseIsos
|
49
35
|
DEFAULT_FILEPATH = "#{DEFAULT_DIR}/usa_states.yaml"
|
50
|
-
|
51
|
-
def initialize
|
36
|
+
|
37
|
+
def initialize
|
52
38
|
super()
|
53
|
-
|
39
|
+
|
54
40
|
@id = 'USA States'
|
55
41
|
end
|
56
|
-
|
42
|
+
|
57
43
|
def self.load_file(filepath=DEFAULT_FILEPATH)
|
58
|
-
return UsaStates.new
|
44
|
+
return UsaStates.new.load_file(filepath)
|
59
45
|
end
|
60
|
-
|
61
|
-
# @param parse_filepath [String] use web browser's developer tools to copy & paste table HTML
|
46
|
+
|
47
|
+
# @param parse_filepath [String] use web browser's developer tools to copy & paste table HTML
|
48
|
+
# into local file
|
62
49
|
# @param save_filepath [String] local file to save YAML to
|
63
50
|
# @see https://www.iso.org/obp/ui/#iso:code:3166:US
|
64
51
|
def self.parse_and_save_to_file(parse_filepath,save_filepath=DEFAULT_FILEPATH)
|
65
|
-
doc = Nokogiri::HTML(
|
52
|
+
doc = Nokogiri::HTML(URI(parse_filepath).open,nil,'utf-8')
|
66
53
|
tds = doc.css('td')
|
67
|
-
|
68
|
-
states = UsaStates.new
|
54
|
+
|
55
|
+
states = UsaStates.new
|
69
56
|
i = 0
|
70
57
|
tr = []
|
71
|
-
|
58
|
+
|
72
59
|
tds.each do |td|
|
73
60
|
c = td.content
|
74
61
|
c.gsub!(/[[:space:]]+/,' ')
|
75
|
-
c.strip!
|
62
|
+
c.strip!
|
76
63
|
tr.push(c)
|
77
|
-
|
64
|
+
|
78
65
|
if (i += 1) >= 7
|
79
66
|
#puts tr.inspect()
|
80
67
|
state = UsaState.new(tr)
|
81
|
-
raise "USA state already exists: #{state.inspect
|
82
|
-
|
83
|
-
states.values.each_value
|
68
|
+
raise "USA state already exists: #{state.inspect}" if states.key?(state.code)
|
69
|
+
|
70
|
+
states.values.each_value do |v|
|
84
71
|
puts "Duplicate USA state names: #{v.name}" if v.name == state.name
|
85
72
|
end
|
86
|
-
|
73
|
+
|
87
74
|
states[state.code] = state
|
88
|
-
tr.clear
|
75
|
+
tr.clear
|
89
76
|
i = 0
|
90
77
|
end
|
91
78
|
end
|
92
|
-
|
93
|
-
states.sort_keys!
|
79
|
+
|
80
|
+
states.sort_keys!
|
94
81
|
states.save_to_file(save_filepath)
|
95
82
|
end
|
96
83
|
end
|
97
84
|
end
|
98
85
|
|
99
|
-
if $
|
86
|
+
if $PROGRAM_NAME == __FILE__
|
100
87
|
if ARGV.length < 1
|
101
|
-
puts UncleKryon::UsaStates.load_file
|
88
|
+
puts UncleKryon::UsaStates.load_file.to_s
|
102
89
|
else
|
103
90
|
UncleKryon::UsaStates.parse_and_save_to_file(ARGV[0],(ARGV.length >= 2) ? ARGV[1] :
|
104
91
|
UncleKryon::UsaStates::DEFAULT_FILEPATH)
|
data/lib/unclekryon/jsoner.rb
CHANGED
@@ -1,33 +1,14 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
1
|
# encoding: UTF-8
|
3
2
|
# frozen_string_literal: true
|
4
3
|
|
5
4
|
#--
|
6
5
|
# This file is part of UncleKryon-server.
|
7
|
-
# Copyright (c) 2020 Jonathan Bradley Whited
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# it under the terms of the GNU General Public License as published by
|
11
|
-
# the Free Software Foundation, either version 3 of the License, or
|
12
|
-
# (at your option) any later version.
|
13
|
-
#
|
14
|
-
# UncleKryon-server is distributed in the hope that it will be useful,
|
15
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
# GNU General Public License for more details.
|
18
|
-
#
|
19
|
-
# You should have received a copy of the GNU General Public License
|
20
|
-
# along with UncleKryon-server. If not, see <https://www.gnu.org/licenses/>.
|
6
|
+
# Copyright (c) 2020-2021 Jonathan Bradley Whited
|
7
|
+
#
|
8
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
21
9
|
#++
|
22
10
|
|
23
11
|
|
24
|
-
IS_SCRIPT = $0 == __FILE__
|
25
|
-
|
26
|
-
if IS_SCRIPT
|
27
|
-
require 'rubygems'
|
28
|
-
require 'bundler/setup'
|
29
|
-
end
|
30
|
-
|
31
12
|
require 'json'
|
32
13
|
require 'yaml'
|
33
14
|
|
@@ -41,84 +22,84 @@ module UncleKryon
|
|
41
22
|
class Jsoner
|
42
23
|
def jsonify_all(pretty=false)
|
43
24
|
json = {}
|
44
|
-
|
25
|
+
|
45
26
|
#jsonify_iso(json)
|
46
27
|
jsonify_artists(json)
|
47
|
-
|
48
|
-
return pretty ? JSON.pretty_generate(json) : json.to_json
|
28
|
+
|
29
|
+
return pretty ? JSON.pretty_generate(json) : json.to_json
|
49
30
|
end
|
50
|
-
|
31
|
+
|
51
32
|
def jsonify_artists(json)
|
52
33
|
json['aum'] = {}
|
53
34
|
json['scroll'] = {}
|
54
35
|
json['vision'] = {}
|
55
36
|
json['pic'] = {}
|
56
|
-
|
37
|
+
|
57
38
|
kryon = to_hash(ArtistData.load_file(File.join('hax','kryon.yaml')))
|
58
|
-
|
39
|
+
|
59
40
|
kryon['release'] = {}
|
60
41
|
kryon['album'] = {}
|
61
|
-
|
42
|
+
|
62
43
|
jsonify_artist_data(json,kryon,File.join('hax','kryon_aums_2002-2005.yaml'))
|
63
|
-
|
44
|
+
|
64
45
|
json['artist'] = {
|
65
46
|
kryon['id'] => kryon
|
66
47
|
}
|
67
48
|
end
|
68
|
-
|
49
|
+
|
69
50
|
def jsonify_artist_data(json,artist,file)
|
70
51
|
data = ArtistDataData.load_file(file)
|
71
|
-
|
72
|
-
data.albums.each
|
73
|
-
album.aums.each
|
52
|
+
|
53
|
+
data.albums.each do |album_id,album|
|
54
|
+
album.aums.each do |aum_id,aum|
|
74
55
|
json[ArtistDataData::AUMS_ID][aum_id] = to_hash(aum)
|
75
56
|
end
|
76
57
|
album.aums = album.aums.keys
|
77
|
-
|
78
|
-
album.pics.each
|
58
|
+
|
59
|
+
album.pics.each do |pic_id,pic|
|
79
60
|
json[ArtistDataData::PICS_ID][pic_id] = to_hash(pic)
|
80
61
|
end
|
81
62
|
album.pics = album.pics.keys
|
82
63
|
end
|
83
|
-
|
64
|
+
|
84
65
|
artist[ArtistDataData::ALBUMS_ID] = to_hash(data.albums)
|
85
|
-
|
66
|
+
|
86
67
|
#attr_accessor :scrolls
|
87
68
|
#attr_accessor :visions
|
88
69
|
end
|
89
|
-
|
70
|
+
|
90
71
|
def jsonify_iso(json)
|
91
72
|
json['iso'] = to_hash(Iso.iso)
|
92
|
-
json['
|
73
|
+
json['can_proterr'] = to_hash(Iso.can_provs_terrs.values)
|
93
74
|
json['country'] = to_hash(Iso.countries.values)
|
94
75
|
json['language'] = to_hash(Iso.languages.values)
|
95
76
|
json['region'] = to_hash(Iso.regions.values)
|
96
77
|
json['subregion'] = to_hash(Iso.subregions.values)
|
97
78
|
json['usa_state'] = to_hash(Iso.usa_states.values)
|
98
79
|
end
|
99
|
-
|
80
|
+
|
100
81
|
def to_hash(obj)
|
101
82
|
hash = {}
|
102
|
-
|
83
|
+
|
103
84
|
if obj.respond_to?(:instance_variables) && obj.instance_variables.length > 0
|
104
|
-
obj.instance_variables.each
|
105
|
-
hash[var.to_s
|
85
|
+
obj.instance_variables.each do |var|
|
86
|
+
hash[var.to_s.delete('@')] = to_hash(obj.instance_variable_get(var))
|
106
87
|
end
|
107
88
|
elsif obj.is_a?(Hash)
|
108
|
-
obj.each
|
89
|
+
obj.each do |k,v|
|
109
90
|
hash[k] = to_hash(v)
|
110
91
|
end
|
111
92
|
else
|
112
|
-
return Util.empty_s?(obj.to_s
|
93
|
+
return Util.empty_s?(obj.to_s) ? nil : obj
|
113
94
|
end
|
114
|
-
|
95
|
+
|
115
96
|
return hash
|
116
97
|
end
|
117
98
|
end
|
118
99
|
end
|
119
100
|
|
120
|
-
if
|
121
|
-
j = UncleKryon::Jsoner.new
|
122
|
-
|
101
|
+
if $PROGRAM_NAME == __FILE__
|
102
|
+
j = UncleKryon::Jsoner.new
|
103
|
+
|
123
104
|
puts j.jsonify_all(true)
|
124
105
|
end
|
data/lib/unclekryon/log.rb
CHANGED
@@ -1,23 +1,11 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
1
|
# encoding: UTF-8
|
3
2
|
# frozen_string_literal: true
|
4
3
|
|
5
4
|
#--
|
6
5
|
# This file is part of UncleKryon-server.
|
7
|
-
# Copyright (c) 2017-
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# it under the terms of the GNU General Public License as published by
|
11
|
-
# the Free Software Foundation, either version 3 of the License, or
|
12
|
-
# (at your option) any later version.
|
13
|
-
#
|
14
|
-
# UncleKryon-server is distributed in the hope that it will be useful,
|
15
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
# GNU General Public License for more details.
|
18
|
-
#
|
19
|
-
# You should have received a copy of the GNU General Public License
|
20
|
-
# along with UncleKryon-server. If not, see <https://www.gnu.org/licenses/>.
|
6
|
+
# Copyright (c) 2017-2021 Jonathan Bradley Whited
|
7
|
+
#
|
8
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
21
9
|
#++
|
22
10
|
|
23
11
|
|
@@ -27,83 +15,83 @@ require 'singleton'
|
|
27
15
|
module UncleKryon
|
28
16
|
class UncleKryonLogger < Logger
|
29
17
|
def initialize
|
30
|
-
super(
|
31
|
-
|
32
|
-
@progname = self.class.to_s
|
18
|
+
super($stdout)
|
19
|
+
|
20
|
+
@progname = self.class.to_s
|
33
21
|
end
|
34
|
-
|
22
|
+
|
35
23
|
def build_message(message,error: nil,**options)
|
36
24
|
# Don't use mutable methods
|
37
|
-
message += error.backtrace
|
38
|
-
|
25
|
+
message += error.backtrace.map{|e| "\n > " + e}.join('') if !error.nil?
|
26
|
+
|
39
27
|
return message
|
40
28
|
end
|
41
|
-
|
29
|
+
|
42
30
|
def error(message,error: nil,**options)
|
43
31
|
super(build_message(message,error: error,**options))
|
44
32
|
end
|
45
|
-
|
33
|
+
|
46
34
|
def fatal(message,error: nil,**options)
|
47
35
|
super(build_message(message,error: error,**options))
|
48
36
|
end
|
49
|
-
|
37
|
+
|
50
38
|
def unknown(message,error: nil,**options)
|
51
39
|
super(build_message(message,error: error,**options))
|
52
40
|
end
|
53
|
-
|
41
|
+
|
54
42
|
def warn(message,error: nil,**options)
|
55
43
|
super(build_message(message,error: error,**options))
|
56
44
|
end
|
57
45
|
end
|
58
|
-
|
46
|
+
|
59
47
|
# Global for non-class use
|
60
48
|
class Log < UncleKryonLogger
|
61
49
|
include Singleton
|
62
|
-
|
50
|
+
|
63
51
|
# Do NOT define vars here; had problems with @dev/@test breaking this class
|
64
52
|
end
|
65
|
-
|
53
|
+
|
66
54
|
# Mixin for class use
|
67
55
|
module Logging
|
68
|
-
def init_log
|
56
|
+
def init_log
|
69
57
|
end
|
70
|
-
|
71
|
-
def log
|
58
|
+
|
59
|
+
def log
|
72
60
|
if !@log
|
73
|
-
@log = UncleKryonLogger.new
|
74
|
-
@log.progname = self.class.to_s
|
75
|
-
|
76
|
-
init_log
|
61
|
+
@log = UncleKryonLogger.new
|
62
|
+
@log.progname = self.class.to_s
|
63
|
+
|
64
|
+
init_log
|
77
65
|
end
|
78
66
|
return @log
|
79
67
|
end
|
80
68
|
end
|
81
69
|
end
|
82
70
|
|
83
|
-
if $
|
71
|
+
if $PROGRAM_NAME == __FILE__
|
84
72
|
class Tester
|
85
73
|
include UncleKryon::Logging
|
86
|
-
|
87
|
-
def init_log
|
88
|
-
@log.progname.prepend(
|
74
|
+
|
75
|
+
def init_log
|
76
|
+
@log.progname.prepend('[Risky]')
|
89
77
|
end
|
90
|
-
|
91
|
-
def take_risk
|
78
|
+
|
79
|
+
def take_risk
|
92
80
|
log.fatal('Risky! Risky! Risky!')
|
93
81
|
end
|
94
82
|
end
|
95
|
-
|
83
|
+
|
96
84
|
begin
|
97
|
-
t = Tester.new
|
98
|
-
t.take_risk
|
99
|
-
|
85
|
+
t = Tester.new
|
86
|
+
t.take_risk
|
87
|
+
|
100
88
|
raise 'Oops!'
|
101
89
|
rescue StandardError => e
|
102
90
|
UncleKryon::Log.instance.error(e.message,error: e)
|
103
91
|
UncleKryon::Log.instance.fatal(e.message,error: e)
|
104
92
|
UncleKryon::Log.instance.unknown(e.message,error: e)
|
105
93
|
UncleKryon::Log.instance.warn(e.message,error: e)
|
106
|
-
|
94
|
+
|
107
95
|
UncleKryon::Log.instance.warn("Don't Worry") do
|
108
96
|
'This still works'
|
109
97
|
end
|