class SublimeSunippetter::Core
Constants
- DEFINE_FILE
Sunippetdefine file name.
- DEFINE_FILE_TEMPLATE
Sunippetdefine file template
- REQUIRE_SUNIPPET_TEMPLATE
sublime sunippet require template
- SUNIPPET_TEMPLATE
sublime sunippet template
Public Instance Methods
generate_sunippets()
click to toggle source
generate sublime text2 sunippets from Sunippetdefine
# File lib/sublime_sunippetter.rb, line 65 def generate_sunippets sunippet_define = read_sunippetdefine dsl = Dsl.new dsl.instance_eval sunippet_define dsl.target_methods.each do |m| snippet = get_snippet( m.method_name , get_args_names(m) , get_do_block(m).chop, get_brace_block(m), dsl._scope ) filename = "#{dsl._output_path}/#{m.method_name.to_s.tr('?', '')}.sublime-snippet" File.open(filename, 'w:UTF-8') { |f|f.puts snippet } end dsl.requires.each do |r| require_snippet = get_require_snippet(r, dsl._scope) File.open("require_#{r}.sublime-snippet", 'w:UTF-8') { |f|f.puts require_snippet } end end
init()
click to toggle source
generate Sunippetdefine to current directory.
# File lib/sublime_sunippetter.rb, line 60 def init File.open("./#{DEFINE_FILE}", 'w') { |f|f.puts DEFINE_FILE_TEMPLATE } end
Private Instance Methods
get_args_names(method)
click to toggle source
# File lib/sublime_sunippetter.rb, line 99 def get_args_names(method) args = method.args args_names = ' ' args.each_with_index { |a, i|args_names << "${#{i + 1}:#{a}}, " } args_names.chop!.chop! unless args.empty? end
get_brace_block(method)
click to toggle source
# File lib/sublime_sunippetter.rb, line 115 def get_brace_block(method) return '' unless method.has_brace_block ' { |${9:args}|${0:block} }' end
get_do_block(method)
click to toggle source
# File lib/sublime_sunippetter.rb, line 106 def get_do_block(method) return '' unless method.has_do_block <<-EOS do |${9:args}| ${0:block} end EOS end
get_require_snippet(require_file, scope)
click to toggle source
# File lib/sublime_sunippetter.rb, line 120 def get_require_snippet(require_file, scope) ERB.new(REQUIRE_SUNIPPET_TEMPLATE).result(binding) end
get_snippet(method_name, args_names, do_block, brace_block, scope)
click to toggle source
# File lib/sublime_sunippetter.rb, line 95 def get_snippet(method_name, args_names, do_block, brace_block, scope) ERB.new(SUNIPPET_TEMPLATE).result(binding) end
read_sunippetdefine()
click to toggle source
# File lib/sublime_sunippetter.rb, line 88 def read_sunippetdefine unless File.exists? "./#{DEFINE_FILE}" fail SunippetterError, "you must create #{DEFINE_FILE}. manual or 'suni init' command" end File.read("./#{DEFINE_FILE}") end