settingslogic 2.0.8 → 2.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+ .DS_Store
2
+ *.log
3
+ *.sqlite3
4
+ pkg/*
5
+ coverage/*
6
+ doc/*
7
+ benchmarks/*
8
+ .bundle
9
+ vendor/bundle
10
+ .rvmrc
data/Gemfile CHANGED
@@ -1,13 +1,2 @@
1
- source "http://rubygems.org"
2
-
3
- group :development do
4
- gem 'rake'
5
- gem 'jeweler'
6
- gem 'rspec', :require => 'spec'
7
- gem 'rcov'
8
- if RUBY_VERSION < "1.9"
9
- gem 'ruby-debug'
10
- else
11
- gem 'ruby-debug19'
12
- end
13
- end
1
+ source :rubygems
2
+ gemspec
@@ -1,38 +1,26 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ settingslogic (2.0.9)
5
+
1
6
  GEM
2
7
  remote: http://rubygems.org/
3
8
  specs:
4
- columnize (0.3.6)
5
9
  diff-lcs (1.1.3)
6
- git (1.2.5)
7
- jeweler (1.6.4)
8
- bundler (~> 1.0)
9
- git (>= 1.2.5)
10
- rake
11
- linecache (0.46)
12
- rbx-require-relative (> 0.0.4)
13
- rake (0.9.2.2)
14
- rbx-require-relative (0.0.5)
15
- rcov (0.9.11)
16
- rspec (2.8.0)
17
- rspec-core (~> 2.8.0)
18
- rspec-expectations (~> 2.8.0)
19
- rspec-mocks (~> 2.8.0)
20
- rspec-core (2.8.0)
21
- rspec-expectations (2.8.0)
22
- diff-lcs (~> 1.1.2)
23
- rspec-mocks (2.8.0)
24
- ruby-debug (0.10.4)
25
- columnize (>= 0.1)
26
- ruby-debug-base (~> 0.10.4.0)
27
- ruby-debug-base (0.10.4)
28
- linecache (>= 0.3)
10
+ rake (10.0.3)
11
+ rspec (2.12.0)
12
+ rspec-core (~> 2.12.0)
13
+ rspec-expectations (~> 2.12.0)
14
+ rspec-mocks (~> 2.12.0)
15
+ rspec-core (2.12.2)
16
+ rspec-expectations (2.12.1)
17
+ diff-lcs (~> 1.1.3)
18
+ rspec-mocks (2.12.1)
29
19
 
30
20
  PLATFORMS
31
21
  ruby
32
22
 
33
23
  DEPENDENCIES
34
- jeweler
35
24
  rake
36
- rcov
37
25
  rspec
38
- ruby-debug
26
+ settingslogic!
@@ -3,8 +3,6 @@
3
3
  Settingslogic is a simple configuration / settings solution that uses an ERB enabled YAML file. It has been great for
4
4
  our apps, maybe you will enjoy it too. Settingslogic works with Rails, Sinatra, or any Ruby project.
5
5
 
6
- So here is my question to you.....is Settingslogic a great settings solution or the greatest?
7
-
8
6
  == Helpful links
9
7
 
10
8
  * <b>Documentation:</b> http://rdoc.info/projects/binarylogic/settingslogic
@@ -13,15 +11,7 @@ So here is my question to you.....is Settingslogic a great settings solution or
13
11
 
14
12
  == Installation
15
13
 
16
- Install from rubyforge/gemcutter:
17
-
18
- sudo gem install settingslogic
19
-
20
- Or as a Rails plugin:
21
-
22
- script/plugin install git://github.com/binarylogic/settingslogic.git
23
-
24
- Settingslogic does not have any dependencies on Rails. Installing as a gem is recommended.
14
+ gem install settingslogic
25
15
 
26
16
  == Usage
27
17
 
@@ -54,7 +44,7 @@ Using a namespace allows us to change our configuration depending on our environ
54
44
  saweet: nested settings
55
45
  neat_setting: 24
56
46
  awesome_setting: <%= "Did you know 5 + 5 = #{5 + 5}?" %>
57
-
47
+
58
48
  development:
59
49
  <<: *defaults
60
50
  neat_setting: 800
@@ -65,7 +55,7 @@ Using a namespace allows us to change our configuration depending on our environ
65
55
  production:
66
56
  <<: *defaults
67
57
 
68
- _Note_: Certain Ruby/Bundler versions include a version of the Psych YAML parser which incorrectly handles merges (the `<<` in the example above.)
58
+ _Note_: Certain Ruby/Bundler versions include a version of the Psych YAML parser which incorrectly handles merges (the `<<` in the example above.)
69
59
  If your default settings seem to be overwriting your environment-specific settings, including the following lines in your config/boot.rb file may solve the problem:
70
60
 
71
61
  require 'yaml'
@@ -78,17 +68,17 @@ If your default settings seem to be overwriting your environment-specific settin
78
68
 
79
69
  >> Settings.cool
80
70
  => "#<Settingslogic::Settings ... >"
81
-
71
+
82
72
  >> Settings.cool.saweet
83
73
  => "nested settings"
84
-
74
+
85
75
  >> Settings.neat_setting
86
76
  => 800
87
-
77
+
88
78
  >> Settings.awesome_setting
89
79
  => "Did you know 5 + 5 = 10?"
90
80
 
91
- You can use these settings anywhere, for example in a model:
81
+ You can use these settings anywhere, for example in a model:
92
82
 
93
83
  class Post < ActiveRecord::Base
94
84
  self.per_page = Settings.pagination.posts_per_page
@@ -116,7 +106,7 @@ Modifying our model example:
116
106
  class Post < ActiveRecord::Base
117
107
  self.per_page = Settings.posts['per_page'] || Settings.pagination.per_page
118
108
  end
119
-
109
+
120
110
  This would allow you to specify a custom value for per_page just for posts, or
121
111
  to fall back to your default value if not specified.
122
112
 
@@ -145,7 +135,7 @@ in the global Object namespace:
145
135
 
146
136
  This can cause collisions with Settingslogic, since those methods are global. Luckily, the
147
137
  solution is to just add a call to load! in your class:
148
-
138
+
149
139
  class Settings < Settingslogic
150
140
  source "#{Rails.root}/config/application.yml"
151
141
  namespace Rails.env
data/Rakefile CHANGED
@@ -1,26 +1,7 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "settingslogic"
8
- gem.summary = "A simple and straightforward settings solution that uses an ERB enabled YAML file and a singleton design pattern."
9
- gem.email = "bjohnson@binarylogic.com"
10
- gem.homepage = "http://github.com/binarylogic/settingslogic"
11
- gem.authors = ["Ben Johnson of Binary Logic"]
12
- end
13
- Jeweler::GemcutterTasks.new
14
- rescue LoadError
15
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
16
- end
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
17
3
 
18
4
  require 'rspec/core/rake_task'
19
- RSpec::Core::RakeTask.new(:spec)
20
-
21
- RSpec::Core::RakeTask.new(:rcov) do |spec|
22
- spec.pattern = 'spec/**/*_spec.rb'
23
- spec.rcov = true
24
- end
5
+ RSpec::Core::RakeTask.new
25
6
 
26
- task :default => :spec
7
+ task :default => :spec
@@ -1,5 +1,6 @@
1
1
  require "yaml"
2
2
  require "erb"
3
+ require 'open-uri'
3
4
 
4
5
  # A simple settings solution using a YAML file. See README for more information.
5
6
  class Settingslogic < Hash
@@ -9,7 +10,7 @@ class Settingslogic < Hash
9
10
  def name # :nodoc:
10
11
  self.superclass != Hash && instance.key?("name") ? instance.name : super
11
12
  end
12
-
13
+
13
14
  # Enables Settings.get('nested.key.name') for dynamic access
14
15
  def get(key)
15
16
  parts = key.split('.')
@@ -21,27 +22,15 @@ class Settingslogic < Hash
21
22
  end
22
23
 
23
24
  def source(value = nil)
24
- if value.nil?
25
- @source
26
- else
27
- @source = value
28
- end
25
+ @source ||= value
29
26
  end
30
27
 
31
28
  def namespace(value = nil)
32
- if value.nil?
33
- @namespace
34
- else
35
- @namespace = value
36
- end
29
+ @namespace ||= value
37
30
  end
38
31
 
39
32
  def suppress_errors(value = nil)
40
- if value.nil?
41
- @suppress_errors
42
- else
43
- @suppress_errors = value
44
- end
33
+ @suppress_errors ||= value
45
34
  end
46
35
 
47
36
  def [](key)
@@ -59,12 +48,12 @@ class Settingslogic < Hash
59
48
  instance
60
49
  true
61
50
  end
62
-
51
+
63
52
  def reload!
64
53
  @instance = nil
65
54
  load!
66
55
  end
67
-
56
+
68
57
  private
69
58
  def instance
70
59
  return @instance if @instance
@@ -72,7 +61,7 @@ class Settingslogic < Hash
72
61
  create_accessors!
73
62
  @instance
74
63
  end
75
-
64
+
76
65
  def method_missing(name, *args, &block)
77
66
  instance.send(name, *args, &block)
78
67
  end
@@ -110,7 +99,8 @@ class Settingslogic < Hash
110
99
  when Hash
111
100
  self.replace hash_or_file
112
101
  else
113
- hash = YAML.load(ERB.new(File.read(hash_or_file)).result).to_hash
102
+ file_contents = open(hash_or_file).read
103
+ hash = file_contents.empty? ? {} : YAML.load(ERB.new(file_contents).result).to_hash
114
104
  if self.class.namespace
115
105
  hash = hash[self.class.namespace] or return missing_key("Missing setting '#{self.class.namespace}' in #{hash_or_file}")
116
106
  end
@@ -141,6 +131,11 @@ class Settingslogic < Hash
141
131
  create_accessor_for(key, val)
142
132
  end
143
133
 
134
+ # Returns an instance of a Hash object
135
+ def to_hash
136
+ Hash[self]
137
+ end
138
+
144
139
  # This handles naming collisions with Sinatra/Vlad/Capistrano. Since these use a set()
145
140
  # helper that defines methods in Object, ANY method_missing ANYWHERE picks up the Vlad/Sinatra
146
141
  # settings! So settings.deploy_to title actually calls Object.deploy_to (from set :deploy_to, "host"),
@@ -156,17 +151,38 @@ class Settingslogic < Hash
156
151
  # http://bmorearty.wordpress.com/2009/01/09/fun-with-rubys-instance_eval-and-class_eval/
157
152
  def create_accessor_for(key, val=nil)
158
153
  return unless key.to_s =~ /^\w+$/ # could have "some-setting:" which blows up eval
159
- instance_variable_set("@#{key}", val) if val
154
+ instance_variable_set("@#{key}", val)
160
155
  self.class.class_eval <<-EndEval
161
156
  def #{key}
162
157
  return @#{key} if @#{key}
163
158
  return missing_key("Missing setting '#{key}' in #{@section}") unless has_key? '#{key}'
164
159
  value = fetch('#{key}')
165
- @#{key} = value.is_a?(Hash) ? self.class.new(value, "'#{key}' section in #{@section}") : value
160
+ @#{key} = if value.is_a?(Hash)
161
+ self.class.new(value, "'#{key}' section in #{@section}")
162
+ elsif value.is_a?(Array) && value.all?{|v| v.is_a? Hash}
163
+ value.map{|v| self.class.new(v)}
164
+ else
165
+ value
166
+ end
166
167
  end
167
168
  EndEval
168
169
  end
169
-
170
+
171
+ def symbolize_keys
172
+
173
+ inject({}) do |memo, tuple|
174
+
175
+ k = (tuple.first.to_sym rescue tuple.first) || tuple.first
176
+
177
+ v = k.is_a?(Symbol) ? send(k) : tuple.last # make sure the value is accessed the same way Settings.foo.bar works
178
+
179
+ memo[k] = v && v.respond_to?(:symbolize_keys) ? v.symbolize_keys : v #recurse for nested hashes
180
+
181
+ memo
182
+ end
183
+
184
+ end
185
+
170
186
  def missing_key(msg)
171
187
  return nil if self.class.suppress_errors
172
188
 
@@ -1,67 +1,21 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
5
3
 
6
4
  Gem::Specification.new do |s|
7
- s.name = "settingslogic"
8
- s.version = "2.0.8"
5
+ s.name = "settingslogic"
6
+ s.version = "2.0.9"
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["Ben Johnson"]
9
+ s.email = ["bjohnson@binarylogic.com"]
10
+ s.homepage = "http://github.com/binarylogic/settingslogic"
11
+ s.summary = %q{A simple and straightforward settings solution that uses an ERB enabled YAML file and a singleton design pattern.}
12
+ s.description = %q{A simple and straightforward settings solution that uses an ERB enabled YAML file and a singleton design pattern.}
9
13
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Ben Johnson of Binary Logic"]
12
- s.date = "2012-01-09"
13
- s.email = "bjohnson@binarylogic.com"
14
- s.extra_rdoc_files = [
15
- "LICENSE",
16
- "README.rdoc"
17
- ]
18
- s.files = [
19
- "CHANGELOG.rdoc",
20
- "Gemfile",
21
- "Gemfile.lock",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION.yml",
26
- "init.rb",
27
- "lib/settingslogic.rb",
28
- "rails/init.rb",
29
- "settingslogic.gemspec",
30
- "spec/settings.rb",
31
- "spec/settings.yml",
32
- "spec/settings2.rb",
33
- "spec/settings3.rb",
34
- "spec/settings4.rb",
35
- "spec/settingslogic_spec.rb",
36
- "spec/spec_helper.rb"
37
- ]
38
- s.homepage = "http://github.com/binarylogic/settingslogic"
39
- s.require_paths = ["lib"]
40
- s.rubygems_version = "1.8.10"
41
- s.summary = "A simple and straightforward settings solution that uses an ERB enabled YAML file and a singleton design pattern."
42
-
43
- if s.respond_to? :specification_version then
44
- s.specification_version = 3
45
-
46
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_development_dependency(%q<rake>, [">= 0"])
48
- s.add_development_dependency(%q<jeweler>, [">= 0"])
49
- s.add_development_dependency(%q<rspec>, [">= 0"])
50
- s.add_development_dependency(%q<rcov>, [">= 0"])
51
- s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
52
- else
53
- s.add_dependency(%q<rake>, [">= 0"])
54
- s.add_dependency(%q<jeweler>, [">= 0"])
55
- s.add_dependency(%q<rspec>, [">= 0"])
56
- s.add_dependency(%q<rcov>, [">= 0"])
57
- s.add_dependency(%q<ruby-debug19>, [">= 0"])
58
- end
59
- else
60
- s.add_dependency(%q<rake>, [">= 0"])
61
- s.add_dependency(%q<jeweler>, [">= 0"])
62
- s.add_dependency(%q<rspec>, [">= 0"])
63
- s.add_dependency(%q<rcov>, [">= 0"])
64
- s.add_dependency(%q<ruby-debug19>, [">= 0"])
65
- end
66
- end
14
+ s.add_development_dependency 'rake'
15
+ s.add_development_dependency 'rspec'
67
16
 
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+ end
@@ -19,4 +19,10 @@ collides:
19
19
  does: not
20
20
  nested:
21
21
  collides:
22
- does: not either
22
+ does: not either
23
+
24
+ array:
25
+ -
26
+ name: first
27
+ -
28
+ name: second
@@ -0,0 +1,3 @@
1
+ class SettingsEmpty < Settingslogic
2
+ source "#{File.dirname(__FILE__)}/settings_empty.yml"
3
+ end
File without changes
@@ -9,6 +9,10 @@ describe "Settingslogic" do
9
9
  Settings.setting1.setting1_child.should == "saweet"
10
10
  end
11
11
 
12
+ it "should access settings in nested arrays" do
13
+ Settings.array.first.name.should == "first"
14
+ end
15
+
12
16
  it "should access deep nested settings" do
13
17
  Settings.setting1.deep.another.should == "my value"
14
18
  end
@@ -126,6 +130,18 @@ describe "Settingslogic" do
126
130
  Settings.language['some-dash-setting#'].should == 'dashtastic'
127
131
  end
128
132
 
133
+ it "should handle settings with nil value" do
134
+ Settings["flag"] = true
135
+ Settings["flag"] = nil
136
+ Settings.flag.should == nil
137
+ end
138
+
139
+ it "should handle settings with false value" do
140
+ Settings["flag"] = true
141
+ Settings["flag"] = false
142
+ Settings.flag.should == false
143
+ end
144
+
129
145
  it "should support instance usage as well" do
130
146
  settings = SettingsInst.new(Settings.source)
131
147
  settings.setting1.setting1_child.should == "saweet"
@@ -152,11 +168,40 @@ describe "Settingslogic" do
152
168
  it "should allow a name setting to be overriden" do
153
169
  Settings.name.should == 'test'
154
170
  end
171
+
172
+ it "should allow symbolize_keys" do
173
+ Settings.reload!
174
+ result = Settings.language.haskell.symbolize_keys
175
+ result.class.should == Hash
176
+ result.should == {:paradigm => "functional"}
177
+ end
178
+
179
+ it "should allow symbolize_keys on nested hashes" do
180
+ Settings.reload!
181
+ result = Settings.language.symbolize_keys
182
+ result.class.should == Hash
183
+ result.should == {
184
+ :haskell => {:paradigm => "functional"},
185
+ :smalltalk => {:paradigm => "object oriented"}
186
+ }
187
+ end
188
+
189
+ it "should handle empty file" do
190
+ SettingsEmpty.keys.should eql([])
191
+ end
155
192
 
156
193
  # Put this test last or else call to .instance will load @instance,
157
194
  # masking bugs.
158
195
  it "should be a hash" do
159
196
  Settings.send(:instance).should be_is_a(Hash)
160
197
  end
161
-
198
+
199
+ describe "#to_hash" do
200
+ it "should return a new instance of a Hash object" do
201
+ Settings.to_hash.should be_kind_of(Hash)
202
+ Settings.to_hash.class.name.should == "Hash"
203
+ Settings.to_hash.object_id.should_not == Settings.object_id
204
+ end
205
+ end
206
+
162
207
  end
@@ -6,6 +6,7 @@ require 'settings'
6
6
  require 'settings2'
7
7
  require 'settings3'
8
8
  require 'settings4'
9
+ require 'settings_empty'
9
10
 
10
11
  # Needed to test Settings3
11
12
  Object.send :define_method, 'collides' do
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: settingslogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.8
4
+ version: 2.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Ben Johnson of Binary Logic
8
+ - Ben Johnson
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-09 00:00:00.000000000 Z
12
+ date: 2012-12-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70269561842780 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,32 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70269561842780
25
- - !ruby/object:Gem::Dependency
26
- name: jeweler
27
- requirement: &70269561838420 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
29
  version: '0'
33
- type: :development
34
- prerelease: false
35
- version_requirements: *70269561838420
36
30
  - !ruby/object:Gem::Dependency
37
31
  name: rspec
38
- requirement: &70269561855380 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :development
45
- prerelease: false
46
- version_requirements: *70269561855380
47
- - !ruby/object:Gem::Dependency
48
- name: rcov
49
- requirement: &70269561854140 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
50
33
  none: false
51
34
  requirements:
52
35
  - - ! '>='
@@ -54,42 +37,35 @@ dependencies:
54
37
  version: '0'
55
38
  type: :development
56
39
  prerelease: false
57
- version_requirements: *70269561854140
58
- - !ruby/object:Gem::Dependency
59
- name: ruby-debug19
60
- requirement: &70269561851960 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
61
41
  none: false
62
42
  requirements:
63
43
  - - ! '>='
64
44
  - !ruby/object:Gem::Version
65
45
  version: '0'
66
- type: :development
67
- prerelease: false
68
- version_requirements: *70269561851960
69
- description:
70
- email: bjohnson@binarylogic.com
46
+ description: A simple and straightforward settings solution that uses an ERB enabled
47
+ YAML file and a singleton design pattern.
48
+ email:
49
+ - bjohnson@binarylogic.com
71
50
  executables: []
72
51
  extensions: []
73
- extra_rdoc_files:
74
- - LICENSE
75
- - README.rdoc
52
+ extra_rdoc_files: []
76
53
  files:
77
- - CHANGELOG.rdoc
54
+ - .gitignore
78
55
  - Gemfile
79
56
  - Gemfile.lock
80
57
  - LICENSE
81
58
  - README.rdoc
82
59
  - Rakefile
83
- - VERSION.yml
84
- - init.rb
85
60
  - lib/settingslogic.rb
86
- - rails/init.rb
87
61
  - settingslogic.gemspec
88
62
  - spec/settings.rb
89
63
  - spec/settings.yml
90
64
  - spec/settings2.rb
91
65
  - spec/settings3.rb
92
66
  - spec/settings4.rb
67
+ - spec/settings_empty.rb
68
+ - spec/settings_empty.yml
93
69
  - spec/settingslogic_spec.rb
94
70
  - spec/spec_helper.rb
95
71
  homepage: http://github.com/binarylogic/settingslogic
@@ -112,9 +88,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
88
  version: '0'
113
89
  requirements: []
114
90
  rubyforge_project:
115
- rubygems_version: 1.8.10
91
+ rubygems_version: 1.8.24
116
92
  signing_key:
117
93
  specification_version: 3
118
94
  summary: A simple and straightforward settings solution that uses an ERB enabled YAML
119
95
  file and a singleton design pattern.
120
- test_files: []
96
+ test_files:
97
+ - spec/settings.rb
98
+ - spec/settings.yml
99
+ - spec/settings2.rb
100
+ - spec/settings3.rb
101
+ - spec/settings4.rb
102
+ - spec/settings_empty.rb
103
+ - spec/settings_empty.yml
104
+ - spec/settingslogic_spec.rb
105
+ - spec/spec_helper.rb
@@ -1,27 +0,0 @@
1
- == 2.0.2 released 2009-08-22
2
-
3
- * Define methods during method_missing instead of during initialization. Allows for modification on the fly.
4
-
5
- == 2.0.0 released 2009-08-22
6
-
7
- * Less magic, instead of automatically defining a Settings constant, you should define your own constant. See the readme for an example.
8
-
9
- == 1.0.3 released 2009-04-23
10
-
11
- * Fix Settings initialized with a Hash to work with both symbol and string hash keys.
12
-
13
- == 1.0.2 released 2009-04-09
14
-
15
- * Call key? off of the self in the class level name method.
16
-
17
- == 1.0.1 released 2009-04-02
18
-
19
- * Inherit from hash.
20
-
21
- == 1.0.0 released 2008-12-05
22
-
23
- * Only define methods if we have settings.
24
-
25
- == 0.9.0 released 2008-10-30
26
-
27
- * Initial release
@@ -1,5 +0,0 @@
1
- ---
2
- :major: 2
3
- :minor: 0
4
- :patch: 8
5
- :build:
data/init.rb DELETED
@@ -1 +0,0 @@
1
- require File.dirname(__FILE__) + "/rails/init.rb"
@@ -1 +0,0 @@
1
- require "settingslogic"