ddollar-preferences 0.1.0 → 0.1.1
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/lib/preferences/manager.rb +16 -8
- data/lib/preferences/platform.rb +17 -28
- metadata +9 -2
- data/test/preferences.rb +0 -0
data/lib/preferences/manager.rb
CHANGED
@@ -5,17 +5,25 @@ module Preferences
|
|
5
5
|
|
6
6
|
attr_accessor :filename
|
7
7
|
|
8
|
-
def initialize(
|
8
|
+
def initialize(name, settings={})
|
9
9
|
|
10
|
-
@
|
10
|
+
@type = settings[:type] || :user
|
11
11
|
@autosave = settings[:autosave] || false
|
12
12
|
|
13
|
-
directory = @
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
directory = case @type
|
14
|
+
when :system then Platform::config_directory_system
|
15
|
+
when :user then Platform::config_directory_user
|
16
|
+
when :test then Platform::config_directory_test
|
17
|
+
end
|
18
|
+
|
19
|
+
file = case @type
|
20
|
+
when :system then "#{name}.conf"
|
21
|
+
when :user then ".#{name}"
|
22
|
+
when :test then "#{name}.preferences.test"
|
23
|
+
end
|
24
|
+
|
25
|
+
@filename = File.join(directory, file)
|
26
|
+
|
19
27
|
if File.exists?(@filename)
|
20
28
|
File.open(@filename, "r") do |file|
|
21
29
|
self.merge!(YAML.load(file))
|
data/lib/preferences/platform.rb
CHANGED
@@ -1,41 +1,30 @@
|
|
1
1
|
module Preferences
|
2
2
|
class Platform
|
3
3
|
|
4
|
-
def
|
5
|
-
case RUBY_PLATFORM
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
else
|
10
|
-
dir = '/etc'
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
unless dir
|
15
|
-
raise EnvironmentException, "Can't determine a preferences directory."
|
4
|
+
def self.config_directory_system
|
5
|
+
dir = case RUBY_PLATFORM
|
6
|
+
when /win32/ then nil
|
7
|
+
else '/etc'
|
16
8
|
end
|
17
|
-
|
9
|
+
raise EnvironmentException, "Can't determine a preferences directory." unless dir
|
18
10
|
dir
|
19
11
|
end
|
20
12
|
|
21
|
-
def
|
22
|
-
case RUBY_PLATFORM
|
23
|
-
|
24
|
-
|
25
|
-
ENV['APPDATA'] || # C:\Documents and Settings\name\Application Data
|
26
|
-
ENV['USERPROFILE'] || # C:\Documents and Settings\name
|
27
|
-
ENV['HOME']
|
28
|
-
|
29
|
-
else
|
30
|
-
dir =
|
31
|
-
ENV['HOME'] ||
|
32
|
-
File.expand_path('~')
|
13
|
+
def self.config_directory_user
|
14
|
+
dir = case RUBY_PLATFORM
|
15
|
+
when /win32/ then ENV['APPDATA'] || ENV['USERPROFILE'] || ENV['HOME']
|
16
|
+
else ENV['HOME'] || File.expand_path('~')
|
33
17
|
end
|
18
|
+
raise EnvironmentException, "Can't determine a preferences directory." unless dir
|
19
|
+
dir
|
20
|
+
end
|
34
21
|
|
35
|
-
|
36
|
-
|
22
|
+
def self.config_directory_test
|
23
|
+
dir = case RUBY_PLATFORM
|
24
|
+
when /win32/ then nil
|
25
|
+
else '/tmp'
|
37
26
|
end
|
38
|
-
|
27
|
+
raise EnvironmentException, "Can't determine a preferences directory." unless dir
|
39
28
|
dir
|
40
29
|
end
|
41
30
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ddollar-preferences
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Dollar
|
@@ -22,11 +22,18 @@ extensions: []
|
|
22
22
|
extra_rdoc_files:
|
23
23
|
- README
|
24
24
|
files:
|
25
|
+
- doc/output
|
26
|
+
- doc/output/coverage
|
27
|
+
- doc/output/coverage/index.html
|
28
|
+
- doc/output/coverage/lib-preferences-manager_rb.html
|
29
|
+
- doc/output/coverage/lib-preferences-platform_rb.html
|
30
|
+
- doc/output/coverage/lib-preferences_rb.html
|
31
|
+
- doc/output/coverage/spec-manager_spec_rb.html
|
32
|
+
- doc/output/coverage/spec-platform_spec_rb.html
|
25
33
|
- lib/preferences
|
26
34
|
- lib/preferences/manager.rb
|
27
35
|
- lib/preferences/platform.rb
|
28
36
|
- lib/preferences.rb
|
29
|
-
- test/preferences.rb
|
30
37
|
- README
|
31
38
|
has_rdoc: true
|
32
39
|
homepage: http://peervoice.com/software/ruby/preferences
|
data/test/preferences.rb
DELETED
File without changes
|