class SublimeDSL::SublimeText::Menu
Attributes
items[R]
name[R]
Public Class Methods
import(file)
click to toggle source
# File lib/sublime_dsl/sublime_text/menu.rb, line 8 def self.import(file) name = File.basename(file, File.extname(file)) set = new(name) list = JSON[File.read(file, encoding: 'utf-8')] set.items.concat list.map { |h| Item.from_json(h) } set end
new(name)
click to toggle source
# File lib/sublime_dsl/sublime_text/menu.rb, line 19 def initialize(name) @name = name @items = [] end
Public Instance Methods
export(dir)
click to toggle source
# File lib/sublime_dsl/sublime_text/menu.rb, line 38 def export(dir) file = "#{dir}/#{name}.sublime-menu" File.open(file, 'wb:utf-8') { |f| f.write to_json } end
to_dsl()
click to toggle source
# File lib/sublime_dsl/sublime_text/menu.rb, line 24 def to_dsl dsl = "menu #{name.to_source} do\n\n" items.each { |i| dsl << "#{i.to_dsl}\n" } dsl << "\nend" end
to_json()
click to toggle source
# File lib/sublime_dsl/sublime_text/menu.rb, line 43 def to_json "[\n" << items.map { |i| i.to_json(' ') }.join(",\n") << "\n]" end
write(dir)
click to toggle source
# File lib/sublime_dsl/sublime_text/menu.rb, line 30 def write(dir) file = "#{dir}/#{name}.menu.rb" File.open(file, 'wb:utf-8') do |f| f.puts '# encoding: utf-8' f.puts "\n#{to_dsl}" end end