real_settings 0.0.3 → 0.0.4
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/.rspec +1 -0
- data/CHANGELOG.md +18 -0
- data/README.md +48 -4
- data/Rakefile +6 -0
- data/lib/generators/real_settings/install/templates/real_settings.rb +6 -2
- data/lib/real_settings.rb +2 -0
- data/lib/real_settings/fake_column.rb +23 -0
- data/lib/real_settings/settings.rb +39 -6
- data/lib/real_settings/smart_convert.rb +27 -0
- data/lib/real_settings/version.rb +1 -1
- data/real_settings.gemspec +6 -1
- data/spec/real_settings_spec.rb +85 -6
- data/spec/spec_helper.rb +1 -1
- metadata +75 -7
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color --format documentation
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
### 0.0.1
|
2
|
+
|
3
|
+
* Initial release
|
4
|
+
|
5
|
+
### 0.0.2
|
6
|
+
|
7
|
+
* Fix bugs
|
8
|
+
|
9
|
+
### 0.0.3
|
10
|
+
|
11
|
+
* Fix bugs
|
12
|
+
|
13
|
+
### 0.0.4
|
14
|
+
|
15
|
+
* Add 'db_config_default' config method
|
16
|
+
* change 'config' to 'file_config' for file config
|
17
|
+
* Add smart convert setting type
|
18
|
+
* Add column aut detect for simple_form
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# RealSettings
|
1
|
+
# RealSettings [](http://travis-ci.org/Macrow/real_settings)
|
2
2
|
|
3
3
|
RealSettings is a real settings tool for Rails3.
|
4
4
|
|
@@ -30,17 +30,23 @@ Run install command and migrate database:
|
|
30
30
|
|
31
31
|
## Configuration in config/initializers/real_settings.rb
|
32
32
|
|
33
|
+
Caution: settings in 'file_config' can't store in database.
|
34
|
+
|
33
35
|
```ruby
|
34
|
-
Settings.
|
36
|
+
Settings.file_config do |settings|
|
35
37
|
settings.app_name = "My Application Name"
|
36
38
|
settings.app_url = "http://www.my-application.com"
|
37
39
|
settings.default_meta_keywords = "default meta keywords"
|
38
40
|
settings.default_meta_description = "default meta description"
|
39
41
|
# add some settings here
|
40
42
|
end
|
43
|
+
|
44
|
+
Settings.db_config_default do |settings|
|
45
|
+
settings.paginate_count = 10
|
46
|
+
end
|
41
47
|
```
|
42
48
|
|
43
|
-
## Caution: settings in config/initializers/real_settings.rb can't store in database.
|
49
|
+
## Caution: settings set by 'file_config' in config/initializers/real_settings.rb can't store in database.
|
44
50
|
|
45
51
|
```ruby
|
46
52
|
Settings.app_name # => "real_settings"
|
@@ -48,6 +54,11 @@ Settings.app_name = "new app name"
|
|
48
54
|
Settings.app_name # => "new app name"
|
49
55
|
Settings.save!
|
50
56
|
Settings.app_name # => "real_settings"
|
57
|
+
|
58
|
+
Settings.paginate_count # => 10
|
59
|
+
Settings.paginate_count = 20
|
60
|
+
Settings.save!
|
61
|
+
Setttings.paginate_count # => 20
|
51
62
|
```
|
52
63
|
|
53
64
|
## Features & Usage
|
@@ -77,6 +88,27 @@ Settings.admin_name = "Macrow"
|
|
77
88
|
Settings.save!
|
78
89
|
```
|
79
90
|
|
91
|
+
### Smart Convert setting type
|
92
|
+
|
93
|
+
```ruby
|
94
|
+
Settings.a = 123
|
95
|
+
Settings.b = 'string'
|
96
|
+
Settings.c = [1,2,3]
|
97
|
+
Settings.d = Time.now
|
98
|
+
Settings.e = 12.345
|
99
|
+
Settings.f = false
|
100
|
+
|
101
|
+
Settings.save!
|
102
|
+
Settings.reload!
|
103
|
+
|
104
|
+
Settings.a # 123 # Fixnum
|
105
|
+
Settings.b # 'string' # String
|
106
|
+
Settings.c # [1,2,3] # Array
|
107
|
+
Settings.d # Time.now # Time
|
108
|
+
Settings.e # 12.345 # Float
|
109
|
+
Settings.f # false # Boolean
|
110
|
+
```
|
111
|
+
|
80
112
|
### Support has_settings method
|
81
113
|
|
82
114
|
```ruby
|
@@ -147,10 +179,16 @@ form_for Settings, :as => :settings, :url => settings_update_path, :method => :p
|
|
147
179
|
......
|
148
180
|
end
|
149
181
|
|
182
|
+
simple_form_for Settings, :as => :settings, :url => settings_update_path, :method => :put do |f|
|
183
|
+
f.input :app_name
|
184
|
+
f.input :app_url
|
185
|
+
......
|
186
|
+
end
|
187
|
+
|
150
188
|
# Update Action:
|
151
189
|
Settings.update_settings(params[:settings])
|
152
190
|
```
|
153
|
-
|
191
|
+
|
154
192
|
### Editing User's settings
|
155
193
|
|
156
194
|
```ruby
|
@@ -167,6 +205,12 @@ form_for @user.settings, :as => :settings, :url => user_settings_update_path(@us
|
|
167
205
|
......
|
168
206
|
end
|
169
207
|
|
208
|
+
simple_form_for @user.settings, :as => :settings, :url => user_settings_update_path(@user), :method => :put do |f|
|
209
|
+
f.input :notebook
|
210
|
+
f.input :mobile
|
211
|
+
......
|
212
|
+
end
|
213
|
+
|
170
214
|
# Update Action:
|
171
215
|
@user = User.find(params[:user_id])
|
172
216
|
@user.settings.update_settings(params[:settings])
|
data/Rakefile
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
-
# Caution: settings in
|
1
|
+
# Caution: settings in 'file_config' can't store in database.
|
2
2
|
|
3
|
-
Settings.
|
3
|
+
Settings.file_config do |settings|
|
4
4
|
# settings.app_name = "My Application Name"
|
5
5
|
# settings.app_url = "http://www.my-application.com"
|
6
|
+
end
|
7
|
+
|
8
|
+
Settings.db_config_default do |settings|
|
9
|
+
# settings.paginate_count = 10
|
6
10
|
end
|
data/lib/real_settings.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
# Hack for simple_form auto column type detectation
|
2
|
+
module RealSettings
|
3
|
+
class FakeColumn
|
4
|
+
attr_accessor :type, :number
|
5
|
+
|
6
|
+
def initialize(type, number = false)
|
7
|
+
self.type = type.downcase.to_sym
|
8
|
+
self.number = number
|
9
|
+
end
|
10
|
+
|
11
|
+
def number?
|
12
|
+
number
|
13
|
+
end
|
14
|
+
|
15
|
+
def limit
|
16
|
+
if type == 'string'
|
17
|
+
255
|
18
|
+
else
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -4,12 +4,23 @@ class Settings < ActiveRecord::Base
|
|
4
4
|
cattr_accessor :__settings, :__file_settings, :__db_settings, :__temp_settings
|
5
5
|
|
6
6
|
class << self
|
7
|
-
def
|
7
|
+
def file_config
|
8
8
|
yield self
|
9
9
|
self.__file_settings = __temp_settings
|
10
10
|
reload!
|
11
11
|
end
|
12
12
|
|
13
|
+
def db_config_default
|
14
|
+
yield self
|
15
|
+
db_default = __temp_settings
|
16
|
+
reload!
|
17
|
+
self.__settings = db_default.merge(__db_settings)
|
18
|
+
save!
|
19
|
+
end
|
20
|
+
|
21
|
+
# config method should be deprecated in future version
|
22
|
+
alias_method :config, :file_config
|
23
|
+
|
13
24
|
def to_hash
|
14
25
|
__settings.dup
|
15
26
|
end
|
@@ -33,9 +44,9 @@ class Settings < ActiveRecord::Base
|
|
33
44
|
__settings.delete_if { |key, value| value == __db_settings[key] || __hook_for_delete_owner_default_settings(key, value) }
|
34
45
|
__settings.each do |key, value|
|
35
46
|
if __db_settings.has_key?(key)
|
36
|
-
where(:key => key).first.update_attribute(:value, value)
|
47
|
+
where(:key => key).first.update_attribute(:value, value.to_s)
|
37
48
|
else
|
38
|
-
create!(:key => key, :value => value, :target_id => target_id, :target_type => target_type)
|
49
|
+
create!(:key => key, :value => value.to_s, :target_id => target_id, :target_type => target_type)
|
39
50
|
end
|
40
51
|
end
|
41
52
|
__db_settings.merge!(__settings)
|
@@ -56,20 +67,42 @@ class Settings < ActiveRecord::Base
|
|
56
67
|
end
|
57
68
|
|
58
69
|
def method_missing(name, *args)
|
59
|
-
if
|
70
|
+
if respond_to?(name)
|
60
71
|
super(name, args)
|
61
72
|
else
|
62
73
|
if name =~ /\w+=$/
|
63
74
|
__temp_settings[name.to_s.downcase.gsub('=', '').to_sym] = args.first
|
64
75
|
__settings[name.to_s.downcase.gsub('=', '').to_sym] = args.first
|
65
76
|
elsif name =~ /\w+/
|
66
|
-
__settings[name.to_s.downcase.to_sym]
|
77
|
+
if __settings[name.to_s.downcase.to_sym].nil?
|
78
|
+
__hook_for_load_owner_default_settings(name.to_s.downcase.to_sym)
|
79
|
+
else
|
80
|
+
__settings[name.to_s.downcase.to_sym]
|
81
|
+
end
|
67
82
|
else
|
68
83
|
raise NoMethodError
|
69
84
|
end
|
70
85
|
end
|
71
86
|
end
|
72
87
|
|
88
|
+
# Hack for simple_form auto column type detectation
|
89
|
+
def column_for_attribute(name)
|
90
|
+
if __settings[name].nil?
|
91
|
+
RealSettings::FakeColumn.new('string')
|
92
|
+
else
|
93
|
+
case __settings[name].class.to_s
|
94
|
+
when 'Fixnum', 'Bignum'
|
95
|
+
RealSettings::FakeColumn.new('integer', true)
|
96
|
+
when 'Float'
|
97
|
+
RealSettings::FakeColumn.new('float', true)
|
98
|
+
when 'TrueClass', 'FalseClass'
|
99
|
+
RealSettings::FakeColumn.new('boolean')
|
100
|
+
else
|
101
|
+
RealSettings::FakeColumn.new('string')
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
73
106
|
protected
|
74
107
|
|
75
108
|
def __hook_for_load_owner_default_settings(key)
|
@@ -94,7 +127,7 @@ class Settings < ActiveRecord::Base
|
|
94
127
|
def load_from_database!
|
95
128
|
begin
|
96
129
|
__db_settings = {}
|
97
|
-
where(:target_type => target_type, :target_id => target_id).order(:key).
|
130
|
+
where(:target_type => target_type, :target_id => target_id).order(:key).each { |s| self.__db_settings[s.key.to_sym] = RealSettings::SmartConvert.convert(s.value) }
|
98
131
|
rescue
|
99
132
|
__db_settings = {}
|
100
133
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'time'
|
2
|
+
|
3
|
+
module RealSettings
|
4
|
+
# Just convert simple format for : Time, Array(simple), Float, Fixnum, Boolean, String
|
5
|
+
class SmartConvert
|
6
|
+
def self.convert(value)
|
7
|
+
case value.strip
|
8
|
+
when /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \+\d{4}$/ # Time
|
9
|
+
Time.parse(value)
|
10
|
+
when /^\[.+\]$/ # Array
|
11
|
+
array = []
|
12
|
+
value.gsub(/\[|\]/,'').split(',').each {|v| array << RealSettings::SmartConvert.convert(v)}
|
13
|
+
array
|
14
|
+
when /^\d+\.\d+$/ # Float
|
15
|
+
value.to_f
|
16
|
+
when /^\d+$/ # Fixnum
|
17
|
+
value.to_i
|
18
|
+
when 'true'
|
19
|
+
true
|
20
|
+
when 'false'
|
21
|
+
false
|
22
|
+
else # String and Others
|
23
|
+
value
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/real_settings.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.email = ["Macrow_wh@163.com"]
|
7
7
|
gem.description = %q{A real settings tool for Rails3}
|
8
8
|
gem.summary = %q{A real settings tool for Rails3}
|
9
|
-
gem.homepage = ""
|
9
|
+
gem.homepage = "https://github.com/Macrow/real_settings"
|
10
10
|
|
11
11
|
gem.files = `git ls-files`.split($\)
|
12
12
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
@@ -14,4 +14,9 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.name = "real_settings"
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = RealSettings::VERSION
|
17
|
+
|
18
|
+
gem.add_dependency 'rails'
|
19
|
+
gem.add_development_dependency 'rspec'
|
20
|
+
gem.add_development_dependency 'rake'
|
21
|
+
gem.add_development_dependency 'sqlite3'
|
17
22
|
end
|
data/spec/real_settings_spec.rb
CHANGED
@@ -6,22 +6,74 @@ describe "RealSettings" do
|
|
6
6
|
before(:each) do
|
7
7
|
@app_name = "real_settings"
|
8
8
|
@app_url = "http://github.real_settings.com"
|
9
|
-
|
9
|
+
@app_online_at = Time.now
|
10
|
+
@paginate_count = 10
|
11
|
+
@app_open = true
|
12
|
+
Settings.file_config do |settings|
|
10
13
|
settings.app_name = @app_name
|
11
14
|
settings.app_url = @app_url
|
15
|
+
settings.app_online_at = @app_online_at
|
16
|
+
end
|
17
|
+
Settings.db_config_default do |settings|
|
18
|
+
settings.paginate_count = @paginate_count
|
19
|
+
settings.app_open = @app_open
|
12
20
|
end
|
13
21
|
@user1 = User.create!(:name => 'admin1')
|
14
22
|
@user2 = User.create!(:name => 'admin2')
|
15
23
|
end
|
16
24
|
|
25
|
+
it "save value and get right value type" do
|
26
|
+
at = Time.now
|
27
|
+
Settings.a_array = [1,2,3,4,5]
|
28
|
+
Settings.a_string = 'abc'
|
29
|
+
Settings.a_time = at
|
30
|
+
Settings.a_number = 123456
|
31
|
+
Settings.a_float = 123.456
|
32
|
+
Settings.a_bool_true = true
|
33
|
+
Settings.a_bool_false = false
|
34
|
+
|
35
|
+
Settings.save!
|
36
|
+
Settings.reload!
|
37
|
+
|
38
|
+
Settings.a_array.should == [1,2,3,4,5]
|
39
|
+
Settings.a_string.should == 'abc'
|
40
|
+
Settings.a_time.should.eql? at
|
41
|
+
Settings.a_number.should == 123456
|
42
|
+
Settings.a_float.should == 123.456
|
43
|
+
Settings.a_bool_true.should == true
|
44
|
+
Settings.a_bool_false.should == false
|
45
|
+
end
|
46
|
+
|
47
|
+
it "db_config_default load for default only" do
|
48
|
+
Settings.save!
|
49
|
+
Settings.reload!
|
50
|
+
|
51
|
+
Settings.paginate_count.should == @paginate_count
|
52
|
+
Settings.app_open.should == @app_open
|
53
|
+
|
54
|
+
Settings.db_config_default do |settings|
|
55
|
+
settings.paginate_count = 50
|
56
|
+
settings.app_open = false
|
57
|
+
end
|
58
|
+
|
59
|
+
Settings.save!
|
60
|
+
Settings.reload!
|
61
|
+
|
62
|
+
Settings.paginate_count.should == @paginate_count
|
63
|
+
Settings.app_open.should == @app_open
|
64
|
+
end
|
65
|
+
|
17
66
|
it "load default settings from config file" do
|
18
67
|
Settings.app_name.should == @app_name
|
19
68
|
Settings.app_url.should == @app_url
|
69
|
+
Settings.app_online_at.should == @app_online_at
|
70
|
+
Settings.paginate_count.should == @paginate_count
|
71
|
+
Settings.app_open.should == @app_open
|
20
72
|
end
|
21
73
|
|
22
74
|
it "load settings priority is file > database > temp" do
|
23
|
-
Settings.
|
24
|
-
Settings.
|
75
|
+
Settings.app_name = 'name from database'
|
76
|
+
Settings.app_url = 'url from database'
|
25
77
|
Settings.reload!
|
26
78
|
Settings.app_name.should == @app_name
|
27
79
|
Settings.app_url.should == @app_url
|
@@ -32,9 +84,26 @@ describe "RealSettings" do
|
|
32
84
|
Settings.app_name.should == @app_name
|
33
85
|
end
|
34
86
|
|
87
|
+
it "load db default config" do
|
88
|
+
Settings.paginate_count.should == @paginate_count
|
89
|
+
Settings.app_open.should == @app_open
|
90
|
+
Settings.reload!
|
91
|
+
Settings.paginate_count.should == @paginate_count
|
92
|
+
Settings.app_open.should.eql? @app_open
|
93
|
+
Settings.paginate_count = 30
|
94
|
+
new_open_time = Time.now
|
95
|
+
Settings.app_open = new_open_time
|
96
|
+
Settings.paginate_count.should == 30
|
97
|
+
Settings.app_open.should == new_open_time
|
98
|
+
Settings.save!
|
99
|
+
Settings.paginate_count.should == 30
|
100
|
+
Settings.app_open.should == new_open_time
|
101
|
+
end
|
102
|
+
|
35
103
|
it "load default settings from database" do
|
36
|
-
Settings.
|
37
|
-
Settings.
|
104
|
+
Settings.another_name = 'name from database'
|
105
|
+
Settings.another_url = 'url from database'
|
106
|
+
Settings.save!
|
38
107
|
Settings.reload!
|
39
108
|
Settings.another_name.should == 'name from database'
|
40
109
|
Settings.another_url.should == 'url from database'
|
@@ -133,30 +202,40 @@ describe "RealSettings" do
|
|
133
202
|
end
|
134
203
|
|
135
204
|
it "user has default settings" do
|
136
|
-
# has_settings :defaults => { :notebook => 'Macbook Pro', :mobile => 'iPhone 4' }
|
205
|
+
# has_settings :defaults => { :notebook => 'Macbook Pro', :mobile => 'iPhone 4', :page_count => 20 }
|
137
206
|
@user1.settings.to_hash[:notebook].should == 'Macbook Pro'
|
138
207
|
@user1.settings.to_hash[:mobile].should == 'iPhone 4'
|
208
|
+
@user1.settings.to_hash[:page_count].should == 20
|
139
209
|
@user1.settings.notebook.should == 'Macbook Pro'
|
140
210
|
@user1.settings.mobile.should == 'iPhone 4'
|
211
|
+
@user1.settings.page_count.should == 20
|
212
|
+
|
141
213
|
@user1.settings.notebook = 'Macbook Air'
|
142
214
|
@user1.settings.mobile = 'iPhone 4S'
|
215
|
+
@user1.settings.page_count = 10
|
143
216
|
@user1.settings.notebook.should == 'Macbook Air'
|
144
217
|
@user1.settings.mobile.should == 'iPhone 4S'
|
218
|
+
@user1.settings.page_count.should == 10
|
145
219
|
@user1.settings.reload!
|
146
220
|
@user1.settings.notebook.should == 'Macbook Pro'
|
147
221
|
@user1.settings.mobile.should == 'iPhone 4'
|
222
|
+
@user1.settings.page_count.should == 20
|
148
223
|
|
149
224
|
@user1.settings.notebook = 'Macbook Air'
|
150
225
|
@user1.settings.mobile = 'iPhone 4S'
|
226
|
+
@user1.settings.page_count = 10
|
151
227
|
@user1.save!
|
152
228
|
@user1.settings.notebook.should == 'Macbook Air'
|
153
229
|
@user1.settings.mobile.should == 'iPhone 4S'
|
230
|
+
@user1.settings.page_count.should == 10
|
154
231
|
@user1.settings.reload!
|
155
232
|
@user1.settings.notebook.should == 'Macbook Air'
|
156
233
|
@user1.settings.mobile.should == 'iPhone 4S'
|
234
|
+
@user1.settings.page_count.should == 10
|
157
235
|
|
158
236
|
@user2.settings.notebook.should == 'Macbook Pro'
|
159
237
|
@user2.settings.mobile.should == 'iPhone 4'
|
238
|
+
@user2.settings.page_count.should == 20
|
160
239
|
end
|
161
240
|
|
162
241
|
it "be sure destroy settings after destroy user" do
|
data/spec/spec_helper.rb
CHANGED
@@ -7,7 +7,7 @@ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":me
|
|
7
7
|
ActiveRecord::Migration.verbose = false
|
8
8
|
|
9
9
|
class User < ActiveRecord::Base
|
10
|
-
has_settings :defaults => { :notebook => 'Macbook Pro', :mobile => 'iPhone 4' }
|
10
|
+
has_settings :defaults => { :notebook => 'Macbook Pro', :mobile => 'iPhone 4', :page_count => 20 }
|
11
11
|
end
|
12
12
|
|
13
13
|
class Account < ActiveRecord::Base
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: real_settings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,72 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
dependencies:
|
12
|
+
date: 2013-03-01 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: sqlite3
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
14
78
|
description: A real settings tool for Rails3
|
15
79
|
email:
|
16
80
|
- Macrow_wh@163.com
|
@@ -19,6 +83,8 @@ extensions: []
|
|
19
83
|
extra_rdoc_files: []
|
20
84
|
files:
|
21
85
|
- .gitignore
|
86
|
+
- .rspec
|
87
|
+
- CHANGELOG.md
|
22
88
|
- Gemfile
|
23
89
|
- LICENSE
|
24
90
|
- README.md
|
@@ -30,14 +96,16 @@ files:
|
|
30
96
|
- lib/generators/real_settings/install/templates/migration.rb
|
31
97
|
- lib/generators/real_settings/install/templates/real_settings.rb
|
32
98
|
- lib/real_settings.rb
|
99
|
+
- lib/real_settings/fake_column.rb
|
33
100
|
- lib/real_settings/owner_settings.rb
|
34
101
|
- lib/real_settings/relations.rb
|
35
102
|
- lib/real_settings/settings.rb
|
103
|
+
- lib/real_settings/smart_convert.rb
|
36
104
|
- lib/real_settings/version.rb
|
37
105
|
- real_settings.gemspec
|
38
106
|
- spec/real_settings_spec.rb
|
39
107
|
- spec/spec_helper.rb
|
40
|
-
homepage:
|
108
|
+
homepage: https://github.com/Macrow/real_settings
|
41
109
|
licenses: []
|
42
110
|
post_install_message:
|
43
111
|
rdoc_options: []
|
@@ -51,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
51
119
|
version: '0'
|
52
120
|
segments:
|
53
121
|
- 0
|
54
|
-
hash:
|
122
|
+
hash: 77739245330383594
|
55
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
124
|
none: false
|
57
125
|
requirements:
|
@@ -60,10 +128,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
60
128
|
version: '0'
|
61
129
|
segments:
|
62
130
|
- 0
|
63
|
-
hash:
|
131
|
+
hash: 77739245330383594
|
64
132
|
requirements: []
|
65
133
|
rubyforge_project:
|
66
|
-
rubygems_version: 1.8.
|
134
|
+
rubygems_version: 1.8.25
|
67
135
|
signing_key:
|
68
136
|
specification_version: 3
|
69
137
|
summary: A real settings tool for Rails3
|