ruby-nuggets 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
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