settingslogic 1.0.0 → 1.0.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/CHANGELOG.rdoc +4 -0
- data/lib/settingslogic/settings.rb +7 -8
- data/lib/settingslogic/version.rb +1 -1
- data/settingslogic.gemspec +2 -5
- metadata +4 -13
data/CHANGELOG.rdoc
CHANGED
@@ -2,7 +2,7 @@ module Settingslogic
|
|
2
2
|
# = Setting
|
3
3
|
#
|
4
4
|
# A simple settings solution using a YAML file. See README for more information.
|
5
|
-
class Settings
|
5
|
+
class Settings < Hash
|
6
6
|
class << self
|
7
7
|
def name # :nodoc:
|
8
8
|
instance._settings.key?("name") ? instance.name : super
|
@@ -37,12 +37,12 @@ module Settingslogic
|
|
37
37
|
def initialize(name_or_hash = Config.settings_file)
|
38
38
|
case name_or_hash
|
39
39
|
when Hash
|
40
|
-
self.
|
40
|
+
self.update name_or_hash
|
41
41
|
when String, Symbol
|
42
42
|
root_path = defined?(RAILS_ROOT) ? "#{RAILS_ROOT}/config/" : ""
|
43
43
|
file_path = name_or_hash.is_a?(Symbol) ? "#{root_path}#{name_or_hash}.yml" : name_or_hash
|
44
|
-
self.
|
45
|
-
self.
|
44
|
+
self.update YAML.load(ERB.new(File.read(file_path)).result).to_hash
|
45
|
+
self.update self[RAILS_ENV] if defined?(RAILS_ENV)
|
46
46
|
else
|
47
47
|
raise ArgumentError.new("Your settings must be a hash, a symbol representing the name of the .yml file in your config directory, or a string representing the abosolute path to your settings file.")
|
48
48
|
end
|
@@ -55,19 +55,18 @@ module Settingslogic
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def define_settings!
|
58
|
-
|
59
|
-
_settings.each do |key, value|
|
58
|
+
self.each do |key, value|
|
60
59
|
case value
|
61
60
|
when Hash
|
62
61
|
instance_eval <<-"end_eval", __FILE__, __LINE__
|
63
62
|
def #{key}
|
64
|
-
@#{key} ||= self.class.new(
|
63
|
+
@#{key} ||= self.class.new(self["#{key}"])
|
65
64
|
end
|
66
65
|
end_eval
|
67
66
|
else
|
68
67
|
instance_eval <<-"end_eval", __FILE__, __LINE__
|
69
68
|
def #{key}
|
70
|
-
@#{key} ||=
|
69
|
+
@#{key} ||= self["#{key}"]
|
71
70
|
end
|
72
71
|
end_eval
|
73
72
|
end
|
data/settingslogic.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{settingslogic}
|
5
|
-
s.version = "1.0.
|
5
|
+
s.version = "1.0.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ben Johnson of Binary Logic"]
|
9
|
-
s.date = %q{
|
9
|
+
s.date = %q{2009-04-02}
|
10
10
|
s.description = %q{Simple and straightforward application wide settings}
|
11
11
|
s.email = %q{bjohnson@binarylogic.com}
|
12
12
|
s.extra_rdoc_files = ["CHANGELOG.rdoc", "lib/settingslogic/config.rb", "lib/settingslogic/settings.rb", "lib/settingslogic/version.rb", "lib/settingslogic.rb", "README.rdoc"]
|
@@ -25,11 +25,8 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.specification_version = 2
|
26
26
|
|
27
27
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
28
|
-
s.add_development_dependency(%q<echoe>, [">= 0"])
|
29
28
|
else
|
30
|
-
s.add_dependency(%q<echoe>, [">= 0"])
|
31
29
|
end
|
32
30
|
else
|
33
|
-
s.add_dependency(%q<echoe>, [">= 0"])
|
34
31
|
end
|
35
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: settingslogic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Johnson of Binary Logic
|
@@ -9,19 +9,10 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-04-02 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
name: echoe
|
17
|
-
type: :development
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: "0"
|
24
|
-
version:
|
14
|
+
dependencies: []
|
15
|
+
|
25
16
|
description: Simple and straightforward application wide settings
|
26
17
|
email: bjohnson@binarylogic.com
|
27
18
|
executables: []
|