Class: Sublime::Settings
- Inherits:
-
Hash
- Object
- Hash
- Sublime::Settings
- Defined in:
- lib/sublime/settings.rb
Instance Attribute Summary collapse
-
#file ⇒ Object
readonly
Returns the value of attribute file.
-
#filepath ⇒ Object
readonly
Returns the value of attribute filepath.
Class Method Summary collapse
- .default ⇒ Object
-
.default_package_path ⇒ Object
Paths ===== #.
- .user ⇒ Object
- .user_package_path ⇒ Object
Instance Method Summary collapse
- #full_configs ⇒ Object
-
#initialize(filepath = nil) ⇒ Settings
constructor
A new instance of Settings.
- #save! ⇒ Object
- #update!(conf = {}) ⇒ Object
- #write! ⇒ Object
Constructor Details
#initialize(filepath = nil) ⇒ Settings
Returns a new instance of Settings.
7 8 9 10 11 12 13 |
# File 'lib/sublime/settings.rb', line 7 def initialize(filepath = nil) if filepath @filepath = File.(filepath) @file = File.open(@filepath, "r") self.merge! JSON.parse(file.read) end end |
Instance Attribute Details
#file ⇒ Object (readonly)
Returns the value of attribute file.
5 6 7 |
# File 'lib/sublime/settings.rb', line 5 def file @file end |
#filepath ⇒ Object (readonly)
Returns the value of attribute filepath.
5 6 7 |
# File 'lib/sublime/settings.rb', line 5 def filepath @filepath end |
Class Method Details
.default ⇒ Object
41 42 43 |
# File 'lib/sublime/settings.rb', line 41 def default new("#{default_package_path}/.sublime-settings") end |
.default_package_path ⇒ Object
Paths
#
52 53 54 |
# File 'lib/sublime/settings.rb', line 52 def default_package_path "#{sublime_path}/Packages/Default" end |
.user ⇒ Object
45 46 47 |
# File 'lib/sublime/settings.rb', line 45 def user new("#{user_package_path}/Preferences.sublime-settings") end |
.user_package_path ⇒ Object
56 57 58 |
# File 'lib/sublime/settings.rb', line 56 def user_package_path "#{sublime_path}/Packages/User" end |
Instance Method Details
#full_configs ⇒ Object
15 16 17 18 19 20 |
# File 'lib/sublime/settings.rb', line 15 def full_configs klass = self.class klass.default. merge(klass.system_default). merge(self) end |
#save! ⇒ Object
28 29 30 31 32 |
# File 'lib/sublime/settings.rb', line 28 def save! File.open @filepath, "w+" do |file| file.puts JSON.pretty_generate(self) end end |
#update!(conf = {}) ⇒ Object
34 35 36 37 |
# File 'lib/sublime/settings.rb', line 34 def update!(conf = {}) merge!(conf) save! end |
#write! ⇒ Object
22 23 24 25 26 |
# File 'lib/sublime/settings.rb', line 22 def write! user = self.class.user user = self # transfer data user.save! end |