ruby-nuggets 0.5.1 → 0.5.2

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/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to ruby-nuggets version 0.5.1
5
+ This documentation refers to ruby-nuggets version 0.5.2
6
6
 
7
7
 
8
8
  == DESCRIPTION
@@ -0,0 +1,3 @@
1
+ require 'nuggets/env/set_mixin'
2
+
3
+ ENV.extend(Nuggets::Env::SetMixin)
@@ -0,0 +1,68 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2008-2009 Jens Wille #
8
+ # #
9
+ # Authors: #
10
+ # Jens Wille <jens.wille@uni-koeln.de> #
11
+ # #
12
+ # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
+ # under the terms of the GNU General Public License as published by the Free #
14
+ # Software Foundation; either version 3 of the License, or (at your option) #
15
+ # any later version. #
16
+ # #
17
+ # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
+ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
+ # more details. #
21
+ # #
22
+ # You should have received a copy of the GNU General Public License along #
23
+ # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ module Nuggets
29
+ module Env
30
+ module SetMixin
31
+
32
+ # call-seq:
33
+ # ENV.set(env = {}, clear = true) => aHash
34
+ # ENV.set(env = {}, clear = true) { ... } => anObject
35
+ #
36
+ # Overrides ENV with +env+, clearing it beforehand if +clear+ is true. If a
37
+ # block is given, restores ENV to its original state afterwards and returns
38
+ # the result of the block; otherwise returns the original ENV as a hash.
39
+ def set(env = {}, clear = true)
40
+ old_env = to_hash
41
+
42
+ self.clear if clear
43
+
44
+ env.each { |key, value|
45
+ key = key.to_s.upcase unless key.is_a?(String)
46
+ value = value.to_s unless value.is_a?(String)
47
+
48
+ self[key] = value
49
+ }
50
+
51
+ block_given? ? yield : old_env
52
+ ensure
53
+ set(old_env) if old_env && block_given?
54
+ end
55
+
56
+ alias_method :without, :set
57
+
58
+ # call-seq:
59
+ # ENV.with(env = {}, clear = false) { ... } => anObject
60
+ #
61
+ # Temporarily overrides ENV with +env+ for the block execution. See #set.
62
+ def with(env = {}, clear = false)
63
+ set(env, clear) { yield }
64
+ end
65
+
66
+ end
67
+ end
68
+ end
@@ -1,53 +1,3 @@
1
- #--
2
- ###############################################################################
3
- # #
4
- # A component of ruby-nuggets, some extensions to the Ruby programming #
5
- # language. #
6
- # #
7
- # Copyright (C) 2008 Jens Wille #
8
- # #
9
- # Authors: #
10
- # Jens Wille <jens.wille@uni-koeln.de> #
11
- # #
12
- # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
- # under the terms of the GNU General Public License as published by the Free #
14
- # Software Foundation; either version 3 of the License, or (at your option) #
15
- # any later version. #
16
- # #
17
- # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
- # more details. #
21
- # #
22
- # You should have received a copy of the GNU General Public License along #
23
- # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
- # #
25
- ###############################################################################
26
- #++
1
+ require 'nuggets/env/user_encoding_mixin'
27
2
 
28
- begin
29
- require 'win32console'
30
- rescue LoadError
31
- end
32
-
33
- class << ENV
34
-
35
- # call-seq:
36
- # ENV.user_encoding => aString or nil
37
- #
38
- # Finds the user's selected encoding.
39
- def user_encoding
40
- ENV['ENCODING'] ||
41
- ENV['LANG'][/\.(.*)/, 1] ||
42
- if defined?(Win32::Console)
43
- "CP#{Win32::Console.InputCP}"
44
- else
45
- cp = %x{chcp}[/:\s*(.*?)\./, 1] and "CP#{cp}"
46
- end
47
- end
48
-
49
- end
50
-
51
- if $0 == __FILE__
52
- p ENV.user_encoding
53
- end
3
+ ENV.extend(Nuggets::Env::UserEncodingMixin)
@@ -0,0 +1,55 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2008-2009 Jens Wille #
8
+ # #
9
+ # Authors: #
10
+ # Jens Wille <jens.wille@uni-koeln.de> #
11
+ # #
12
+ # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
+ # under the terms of the GNU General Public License as published by the Free #
14
+ # Software Foundation; either version 3 of the License, or (at your option) #
15
+ # any later version. #
16
+ # #
17
+ # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
+ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
+ # more details. #
21
+ # #
22
+ # You should have received a copy of the GNU General Public License along #
23
+ # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ begin
29
+ require 'win32console'
30
+ rescue LoadError
31
+ end
32
+
33
+ module Nuggets
34
+ module Env
35
+ module UserEncodingMixin
36
+
37
+ # call-seq:
38
+ # ENV.user_encoding => aString
39
+ #
40
+ # Finds the user's selected encoding.
41
+ def user_encoding(default = 'UTF-8')
42
+ self['ENCODING'] || begin
43
+ lang = self['LANG']
44
+ lang[/\.(.*)/, 1] if lang
45
+ end || if defined?(Win32::Console)
46
+ "CP#{Win32::Console.InputCP}"
47
+ elsif ::File::ALT_SEPARATOR
48
+ cp = %x{chcp}[/:\s*(.*?)\./, 1]
49
+ "CP#{cp}" if cp
50
+ end || default
51
+ end
52
+
53
+ end
54
+ end
55
+ end
@@ -1,54 +1,3 @@
1
- #--
2
- ###############################################################################
3
- # #
4
- # A component of ruby-nuggets, some extensions to the Ruby programming #
5
- # language. #
6
- # #
7
- # Copyright (C) 2008 Jens Wille #
8
- # #
9
- # Authors: #
10
- # Jens Wille <jens.wille@uni-koeln.de> #
11
- # #
12
- # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
- # under the terms of the GNU General Public License as published by the Free #
14
- # Software Foundation; either version 3 of the License, or (at your option) #
15
- # any later version. #
16
- # #
17
- # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
- # more details. #
21
- # #
22
- # You should have received a copy of the GNU General Public License along #
23
- # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
- # #
25
- ###############################################################################
26
- #++
1
+ require 'nuggets/env/user_home_mixin'
27
2
 
28
- class << ENV
29
-
30
- # call-seq:
31
- # ENV.user_home => aString
32
- #
33
- # Finds the user's home directory. Stolen from RubyGems ;-)
34
- def user_home
35
- %w[HOME USERPROFILE].each { |homekey|
36
- return ENV[homekey] if ENV[homekey]
37
- }
38
-
39
- if ENV['HOMEDRIVE'] && ENV['HOMEPATH']
40
- return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}"
41
- end
42
-
43
- begin
44
- File.expand_path('~')
45
- rescue ArgumentError
46
- File::ALT_SEPARATOR ? 'C:/' : '/'
47
- end
48
- end
49
-
50
- end
51
-
52
- if $0 == __FILE__
53
- p ENV.user_home
54
- end
3
+ ENV.extend(Nuggets::Env::UserHomeMixin)
@@ -0,0 +1,55 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2008-2009 Jens Wille #
8
+ # #
9
+ # Authors: #
10
+ # Jens Wille <jens.wille@uni-koeln.de> #
11
+ # #
12
+ # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
+ # under the terms of the GNU General Public License as published by the Free #
14
+ # Software Foundation; either version 3 of the License, or (at your option) #
15
+ # any later version. #
16
+ # #
17
+ # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
+ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
+ # more details. #
21
+ # #
22
+ # You should have received a copy of the GNU General Public License along #
23
+ # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ module Nuggets
29
+ module Env
30
+ module UserHomeMixin
31
+
32
+ # call-seq:
33
+ # ENV.user_home => aString
34
+ #
35
+ # Finds the user's home directory. Stolen from RubyGems ;-)
36
+ def user_home(default = ::File::ALT_SEPARATOR ? 'C:/' : '/')
37
+ %w[HOME USERPROFILE].each { |homekey|
38
+ home = self[homekey]
39
+ return home if home
40
+ }
41
+
42
+ if drive = self['HOMEDRIVE'] and path = self['HOMEPATH']
43
+ return "#{drive}:#{path}"
44
+ end
45
+
46
+ begin
47
+ ::File.expand_path('~')
48
+ rescue ArgumentError
49
+ default
50
+ end
51
+ end
52
+
53
+ end
54
+ end
55
+ end
@@ -4,7 +4,7 @@ module Nuggets
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 5
7
- TINY = 1
7
+ TINY = 2
8
8
 
9
9
  class << self
10
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-nuggets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Wille
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-03 00:00:00 +01:00
12
+ date: 2009-03-12 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -25,7 +25,11 @@ extra_rdoc_files:
25
25
  - README
26
26
  files:
27
27
  - lib/nuggets/env/user_home.rb
28
+ - lib/nuggets/env/user_home_mixin.rb
28
29
  - lib/nuggets/env/user_encoding.rb
30
+ - lib/nuggets/env/set_mixin.rb
31
+ - lib/nuggets/env/user_encoding_mixin.rb
32
+ - lib/nuggets/env/set.rb
29
33
  - lib/nuggets/numeric/limit.rb
30
34
  - lib/nuggets/numeric/to_multiple.rb
31
35
  - lib/nuggets/numeric/between.rb
@@ -102,15 +106,15 @@ has_rdoc: true
102
106
  homepage: http://prometheus.rubyforge.org/ruby-nuggets
103
107
  post_install_message:
104
108
  rdoc_options:
109
+ - --main
110
+ - README
105
111
  - --line-numbers
106
112
  - --inline-source
107
113
  - --title
108
114
  - ruby-nuggets Application documentation
109
- - --main
110
- - README
115
+ - --all
111
116
  - --charset
112
117
  - UTF-8
113
- - --all
114
118
  require_paths:
115
119
  - lib
116
120
  required_ruby_version: !ruby/object:Gem::Requirement