Class: SublimeDSL::SublimeText::SettingSet
- Inherits:
-
Object
- Object
- SublimeDSL::SublimeText::SettingSet
show all
- Defined in:
- lib/sublime_dsl/sublime_text/setting_set.rb
Defined Under Namespace
Classes: DSLReader, Setting
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of SettingSet.
25
26
27
28
|
# File 'lib/sublime_dsl/sublime_text/setting_set.rb', line 25
def initialize(name)
@name = name
@settings = []
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
23
24
25
|
# File 'lib/sublime_dsl/sublime_text/setting_set.rb', line 23
def name
@name
end
|
#settings ⇒ Object
Returns the value of attribute settings.
23
24
25
|
# File 'lib/sublime_dsl/sublime_text/setting_set.rb', line 23
def settings
@settings
end
|
Class Method Details
.import(file) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 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
|
Instance Method Details
#export(dir) ⇒ Object
37
38
39
40
|
# 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 ⇒ Object
30
31
32
33
34
35
|
# 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 ⇒ Object
42
43
44
45
|
# 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
|