class SublimeDSL::SublimeText::SettingSet
Attributes
name[R]
settings[R]
Public Class Methods
import(file)
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 8 def self.import(file) name = File.basename(file, File.extname(file)) set = new(name) json = File.read(file, encoding: 'utf-8') h = json.empty? ? {} : JSON[json] begin h.each_pair { |key, value| set.settings << Setting.new(key, value) } rescue => ex puts "file: #{file}" raise ex end set end
new(name)
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 25 def initialize(name) @name = name @settings = [] end
Public Instance Methods
export(dir)
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 37 def export(dir) file = "#{dir}/#{name}.sublime-settings" File.open(file, 'wb:utf-8') { |f| f.write to_json } end
to_dsl()
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 30 def to_dsl dsl = "settings #{name.to_source} do\n" dsl << "\n" unless settings.empty? settings.each { |s| dsl << " #{s.to_dsl}\n" } dsl << "\nend" end
to_json()
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 42 def to_json h = Hash[settings.map { |s| [s.key, s.value] }] JSON.pretty_generate(h) end