spec/dummy/public/js/ace/src-noconflict/snippets/ruby.js in optimacms-0.3.4 vs spec/dummy/public/js/ace/src-noconflict/snippets/ruby.js in optimacms-0.3.5

- old
+ new

@@ -1,935 +1,935 @@ -ace.define("ace/snippets/ruby",["require","exports","module"], function(require, exports, module) { -"use strict"; - -exports.snippetText = "########################################\n\ -# Ruby snippets - for Rails, see below #\n\ -########################################\n\ -\n\ -# encoding for Ruby 1.9\n\ -snippet enc\n\ - # encoding: utf-8\n\ -\n\ -# #!/usr/bin/env ruby\n\ -snippet #!\n\ - #!/usr/bin/env ruby\n\ - # encoding: utf-8\n\ -\n\ -# New Block\n\ -snippet =b\n\ - =begin rdoc\n\ - ${1}\n\ - =end\n\ -snippet y\n\ - :yields: ${1:arguments}\n\ -snippet rb\n\ - #!/usr/bin/env ruby -wKU\n\ -snippet beg\n\ - begin\n\ - ${3}\n\ - rescue ${1:Exception} => ${2:e}\n\ - end\n\ -\n\ -snippet req require\n\ - require \"${1}\"${2}\n\ -snippet #\n\ - # =>\n\ -snippet end\n\ - __END__\n\ -snippet case\n\ - case ${1:object}\n\ - when ${2:condition}\n\ - ${3}\n\ - end\n\ -snippet when\n\ - when ${1:condition}\n\ - ${2}\n\ -snippet def\n\ - def ${1:method_name}\n\ - ${2}\n\ - end\n\ -snippet deft\n\ - def test_${1:case_name}\n\ - ${2}\n\ - end\n\ -snippet if\n\ - if ${1:condition}\n\ - ${2}\n\ - end\n\ -snippet ife\n\ - if ${1:condition}\n\ - ${2}\n\ - else\n\ - ${3}\n\ - end\n\ -snippet elsif\n\ - elsif ${1:condition}\n\ - ${2}\n\ -snippet unless\n\ - unless ${1:condition}\n\ - ${2}\n\ - end\n\ -snippet while\n\ - while ${1:condition}\n\ - ${2}\n\ - end\n\ -snippet for\n\ - for ${1:e} in ${2:c}\n\ - ${3}\n\ - end\n\ -snippet until\n\ - until ${1:condition}\n\ - ${2}\n\ - end\n\ -snippet cla class .. end\n\ - class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ - ${2}\n\ - end\n\ -snippet cla class .. initialize .. end\n\ - class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ - def initialize(${2:args})\n\ - ${3}\n\ - end\n\ - end\n\ -snippet cla class .. < ParentClass .. initialize .. end\n\ - class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < ${2:ParentClass}\n\ - def initialize(${3:args})\n\ - ${4}\n\ - end\n\ - end\n\ -snippet cla ClassName = Struct .. do .. end\n\ - ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} = Struct.new(:${2:attr_names}) do\n\ - def ${3:method_name}\n\ - ${4}\n\ - end\n\ - end\n\ -snippet cla class BlankSlate .. initialize .. end\n\ - class ${1:BlankSlate}\n\ - instance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n\ - end\n\ -snippet cla class << self .. end\n\ - class << ${1:self}\n\ - ${2}\n\ - end\n\ -# class .. < DelegateClass .. initialize .. end\n\ -snippet cla-\n\ - class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < DelegateClass(${2:ParentClass})\n\ - def initialize(${3:args})\n\ - super(${4:del_obj})\n\ -\n\ - ${5}\n\ - end\n\ - end\n\ -snippet mod module .. end\n\ - module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ - ${2}\n\ - end\n\ -snippet mod module .. module_function .. end\n\ - module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ - module_function\n\ -\n\ - ${2}\n\ - end\n\ -snippet mod module .. ClassMethods .. end\n\ - module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ - module ClassMethods\n\ - ${2}\n\ - end\n\ -\n\ - module InstanceMethods\n\ -\n\ - end\n\ -\n\ - def self.included(receiver)\n\ - receiver.extend ClassMethods\n\ - receiver.send :include, InstanceMethods\n\ - end\n\ - end\n\ -# attr_reader\n\ -snippet r\n\ - attr_reader :${1:attr_names}\n\ -# attr_writer\n\ -snippet w\n\ - attr_writer :${1:attr_names}\n\ -# attr_accessor\n\ -snippet rw\n\ - attr_accessor :${1:attr_names}\n\ -snippet atp\n\ - attr_protected :${1:attr_names}\n\ -snippet ata\n\ - attr_accessible :${1:attr_names}\n\ -# include Enumerable\n\ -snippet Enum\n\ - include Enumerable\n\ -\n\ - def each(&block)\n\ - ${1}\n\ - end\n\ -# include Comparable\n\ -snippet Comp\n\ - include Comparable\n\ -\n\ - def <=>(other)\n\ - ${1}\n\ - end\n\ -# extend Forwardable\n\ -snippet Forw-\n\ - extend Forwardable\n\ -# def self\n\ -snippet defs\n\ - def self.${1:class_method_name}\n\ - ${2}\n\ - end\n\ -# def method_missing\n\ -snippet defmm\n\ - def method_missing(meth, *args, &blk)\n\ - ${1}\n\ - end\n\ -snippet defd\n\ - def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\n\ -snippet defds\n\ - def_delegators :${1:@del_obj}, :${2:del_methods}\n\ -snippet am\n\ - alias_method :${1:new_name}, :${2:old_name}\n\ -snippet app\n\ - if __FILE__ == $PROGRAM_NAME\n\ - ${1}\n\ - end\n\ -# usage_if()\n\ -snippet usai\n\ - if ARGV.${1}\n\ - abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\ - end\n\ -# usage_unless()\n\ -snippet usau\n\ - unless ARGV.${1}\n\ - abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\ - end\n\ -snippet array\n\ - Array.new(${1:10}) { |${2:i}| ${3} }\n\ -snippet hash\n\ - Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\n\ -snippet file File.foreach() { |line| .. }\n\ - File.foreach(${1:\"path/to/file\"}) { |${2:line}| ${3} }\n\ -snippet file File.read()\n\ - File.read(${1:\"path/to/file\"})${2}\n\ -snippet Dir Dir.global() { |file| .. }\n\ - Dir.glob(${1:\"dir/glob/*\"}) { |${2:file}| ${3} }\n\ -snippet Dir Dir[\"..\"]\n\ - Dir[${1:\"glob/**/*.rb\"}]${2}\n\ -snippet dir\n\ - Filename.dirname(__FILE__)\n\ -snippet deli\n\ - delete_if { |${1:e}| ${2} }\n\ -snippet fil\n\ - fill(${1:range}) { |${2:i}| ${3} }\n\ -# flatten_once()\n\ -snippet flao\n\ - inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\n\ -snippet zip\n\ - zip(${1:enums}) { |${2:row}| ${3} }\n\ -# downto(0) { |n| .. }\n\ -snippet dow\n\ - downto(${1:0}) { |${2:n}| ${3} }\n\ -snippet ste\n\ - step(${1:2}) { |${2:n}| ${3} }\n\ -snippet tim\n\ - times { |${1:n}| ${2} }\n\ -snippet upt\n\ - upto(${1:1.0/0.0}) { |${2:n}| ${3} }\n\ -snippet loo\n\ - loop { ${1} }\n\ -snippet ea\n\ - each { |${1:e}| ${2} }\n\ -snippet ead\n\ - each do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet eab\n\ - each_byte { |${1:byte}| ${2} }\n\ -snippet eac- each_char { |chr| .. }\n\ - each_char { |${1:chr}| ${2} }\n\ -snippet eac- each_cons(..) { |group| .. }\n\ - each_cons(${1:2}) { |${2:group}| ${3} }\n\ -snippet eai\n\ - each_index { |${1:i}| ${2} }\n\ -snippet eaid\n\ - each_index do |${1:i}|\n\ - ${2}\n\ - end\n\ -snippet eak\n\ - each_key { |${1:key}| ${2} }\n\ -snippet eakd\n\ - each_key do |${1:key}|\n\ - ${2}\n\ - end\n\ -snippet eal\n\ - each_line { |${1:line}| ${2} }\n\ -snippet eald\n\ - each_line do |${1:line}|\n\ - ${2}\n\ - end\n\ -snippet eap\n\ - each_pair { |${1:name}, ${2:val}| ${3} }\n\ -snippet eapd\n\ - each_pair do |${1:name}, ${2:val}|\n\ - ${3}\n\ - end\n\ -snippet eas-\n\ - each_slice(${1:2}) { |${2:group}| ${3} }\n\ -snippet easd-\n\ - each_slice(${1:2}) do |${2:group}|\n\ - ${3}\n\ - end\n\ -snippet eav\n\ - each_value { |${1:val}| ${2} }\n\ -snippet eavd\n\ - each_value do |${1:val}|\n\ - ${2}\n\ - end\n\ -snippet eawi\n\ - each_with_index { |${1:e}, ${2:i}| ${3} }\n\ -snippet eawid\n\ - each_with_index do |${1:e},${2:i}|\n\ - ${3}\n\ - end\n\ -snippet reve\n\ - reverse_each { |${1:e}| ${2} }\n\ -snippet reved\n\ - reverse_each do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet inj\n\ - inject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\n\ -snippet injd\n\ - inject(${1:init}) do |${2:mem}, ${3:var}|\n\ - ${4}\n\ - end\n\ -snippet map\n\ - map { |${1:e}| ${2} }\n\ -snippet mapd\n\ - map do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet mapwi-\n\ - enum_with_index.map { |${1:e}, ${2:i}| ${3} }\n\ -snippet sor\n\ - sort { |a, b| ${1} }\n\ -snippet sorb\n\ - sort_by { |${1:e}| ${2} }\n\ -snippet ran\n\ - sort_by { rand }\n\ -snippet all\n\ - all? { |${1:e}| ${2} }\n\ -snippet any\n\ - any? { |${1:e}| ${2} }\n\ -snippet cl\n\ - classify { |${1:e}| ${2} }\n\ -snippet col\n\ - collect { |${1:e}| ${2} }\n\ -snippet cold\n\ - collect do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet det\n\ - detect { |${1:e}| ${2} }\n\ -snippet detd\n\ - detect do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet fet\n\ - fetch(${1:name}) { |${2:key}| ${3} }\n\ -snippet fin\n\ - find { |${1:e}| ${2} }\n\ -snippet find\n\ - find do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet fina\n\ - find_all { |${1:e}| ${2} }\n\ -snippet finad\n\ - find_all do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet gre\n\ - grep(${1:/pattern/}) { |${2:match}| ${3} }\n\ -snippet sub\n\ - ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\n\ -snippet sca\n\ - scan(${1:/pattern/}) { |${2:match}| ${3} }\n\ -snippet scad\n\ - scan(${1:/pattern/}) do |${2:match}|\n\ - ${3}\n\ - end\n\ -snippet max\n\ - max { |a, b| ${1} }\n\ -snippet min\n\ - min { |a, b| ${1} }\n\ -snippet par\n\ - partition { |${1:e}| ${2} }\n\ -snippet pard\n\ - partition do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet rej\n\ - reject { |${1:e}| ${2} }\n\ -snippet rejd\n\ - reject do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet sel\n\ - select { |${1:e}| ${2} }\n\ -snippet seld\n\ - select do |${1:e}|\n\ - ${2}\n\ - end\n\ -snippet lam\n\ - lambda { |${1:args}| ${2} }\n\ -snippet doo\n\ - do\n\ - ${1}\n\ - end\n\ -snippet dov\n\ - do |${1:variable}|\n\ - ${2}\n\ - end\n\ -snippet :\n\ - :${1:key} => ${2:\"value\"}${3}\n\ -snippet ope\n\ - open(${1:\"path/or/url/or/pipe\"}, \"${2:w}\") { |${3:io}| ${4} }\n\ -# path_from_here()\n\ -snippet fpath\n\ - File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n\ -# unix_filter {}\n\ -snippet unif\n\ - ARGF.each_line${1} do |${2:line}|\n\ - ${3}\n\ - end\n\ -# option_parse {}\n\ -snippet optp\n\ - require \"optparse\"\n\ -\n\ - options = {${1:default => \"args\"}}\n\ -\n\ - ARGV.options do |opts|\n\ - opts.banner = \"Usage: #{File.basename($PROGRAM_NAME)}\n\ -snippet opt\n\ - opts.on( \"-${1:o}\", \"--${2:long-option-name}\", ${3:String},\n\ - \"${4:Option description.}\") do |${5:opt}|\n\ - ${6}\n\ - end\n\ -snippet tc\n\ - require \"test/unit\"\n\ -\n\ - require \"${1:library_file_name}\"\n\ -\n\ - class Test${2:$1} < Test::Unit::TestCase\n\ - def test_${3:case_name}\n\ - ${4}\n\ - end\n\ - end\n\ -snippet ts\n\ - require \"test/unit\"\n\ -\n\ - require \"tc_${1:test_case_file}\"\n\ - require \"tc_${2:test_case_file}\"${3}\n\ -snippet as\n\ - assert ${1:test}, \"${2:Failure message.}\"${3}\n\ -snippet ase\n\ - assert_equal ${1:expected}, ${2:actual}${3}\n\ -snippet asne\n\ - assert_not_equal ${1:unexpected}, ${2:actual}${3}\n\ -snippet asid\n\ - assert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\n\ -snippet asio\n\ - assert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\n\ -snippet asko\n\ - assert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\n\ -snippet asn\n\ - assert_nil ${1:instance}${2}\n\ -snippet asnn\n\ - assert_not_nil ${1:instance}${2}\n\ -snippet asm\n\ - assert_match /${1:expected_pattern}/, ${2:actual_string}${3}\n\ -snippet asnm\n\ - assert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\n\ -snippet aso\n\ - assert_operator ${1:left}, :${2:operator}, ${3:right}${4}\n\ -snippet asr\n\ - assert_raise ${1:Exception} { ${2} }\n\ -snippet asrd\n\ - assert_raise ${1:Exception} do\n\ - ${2}\n\ - end\n\ -snippet asnr\n\ - assert_nothing_raised ${1:Exception} { ${2} }\n\ -snippet asnrd\n\ - assert_nothing_raised ${1:Exception} do\n\ - ${2}\n\ - end\n\ -snippet asrt\n\ - assert_respond_to ${1:object}, :${2:method}${3}\n\ -snippet ass assert_same(..)\n\ - assert_same ${1:expected}, ${2:actual}${3}\n\ -snippet ass assert_send(..)\n\ - assert_send [${1:object}, :${2:message}, ${3:args}]${4}\n\ -snippet asns\n\ - assert_not_same ${1:unexpected}, ${2:actual}${3}\n\ -snippet ast\n\ - assert_throws :${1:expected} { ${2} }\n\ -snippet astd\n\ - assert_throws :${1:expected} do\n\ - ${2}\n\ - end\n\ -snippet asnt\n\ - assert_nothing_thrown { ${1} }\n\ -snippet asntd\n\ - assert_nothing_thrown do\n\ - ${1}\n\ - end\n\ -snippet fl\n\ - flunk \"${1:Failure message.}\"${2}\n\ -# Benchmark.bmbm do .. end\n\ -snippet bm-\n\ - TESTS = ${1:10_000}\n\ - Benchmark.bmbm do |results|\n\ - ${2}\n\ - end\n\ -snippet rep\n\ - results.report(\"${1:name}:\") { TESTS.times { ${2} }}\n\ -# Marshal.dump(.., file)\n\ -snippet Md\n\ - File.open(${1:\"path/to/file.dump\"}, \"wb\") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n\ -# Mashal.load(obj)\n\ -snippet Ml\n\ - File.open(${1:\"path/to/file.dump\"}, \"rb\") { |${2:file}| Marshal.load($2) }${3}\n\ -# deep_copy(..)\n\ -snippet deec\n\ - Marshal.load(Marshal.dump(${1:obj_to_copy}))${2}\n\ -snippet Pn-\n\ - PStore.new(${1:\"file_name.pstore\"})${2}\n\ -snippet tra\n\ - transaction(${1:true}) { ${2} }\n\ -# xmlread(..)\n\ -snippet xml-\n\ - REXML::Document.new(File.read(${1:\"path/to/file\"}))${2}\n\ -# xpath(..) { .. }\n\ -snippet xpa\n\ - elements.each(${1:\"//Xpath\"}) do |${2:node}|\n\ - ${3}\n\ - end\n\ -# class_from_name()\n\ -snippet clafn\n\ - split(\"::\").inject(Object) { |par, const| par.const_get(const) }\n\ -# singleton_class()\n\ -snippet sinc\n\ - class << self; self end\n\ -snippet nam\n\ - namespace :${1:`Filename()`} do\n\ - ${2}\n\ - end\n\ -snippet tas\n\ - desc \"${1:Task description}\"\n\ - task :${2:task_name => [:dependent, :tasks]} do\n\ - ${3}\n\ - end\n\ -# block\n\ -snippet b\n\ - { |${1:var}| ${2} }\n\ -snippet begin\n\ - begin\n\ - raise 'A test exception.'\n\ - rescue Exception => e\n\ - puts e.message\n\ - puts e.backtrace.inspect\n\ - else\n\ - # other exception\n\ - ensure\n\ - # always executed\n\ - end\n\ -\n\ -#debugging\n\ -snippet debug\n\ - require 'ruby-debug'; debugger; true;\n\ -snippet pry\n\ - require 'pry'; binding.pry\n\ -\n\ -#############################################\n\ -# Rails snippets - for pure Ruby, see above #\n\ -#############################################\n\ -snippet art\n\ - assert_redirected_to ${1::action => \"${2:index}\"}\n\ -snippet artnp\n\ - assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\n\ -snippet artnpp\n\ - assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\n\ -snippet artp\n\ - assert_redirected_to ${1:model}_path(${2:@$1})\n\ -snippet artpp\n\ - assert_redirected_to ${1:model}s_path\n\ -snippet asd\n\ - assert_difference \"${1:Model}.${2:count}\", $1 do\n\ - ${3}\n\ - end\n\ -snippet asnd\n\ - assert_no_difference \"${1:Model}.${2:count}\" do\n\ - ${3}\n\ - end\n\ -snippet asre\n\ - assert_response :${1:success}, @response.body${2}\n\ -snippet asrj\n\ - assert_rjs :${1:replace}, \"${2:dom id}\"\n\ -snippet ass assert_select(..)\n\ - assert_select '${1:path}', :${2:text} => '${3:inner_html' ${4:do}\n\ -snippet bf\n\ - before_filter :${1:method}\n\ -snippet bt\n\ - belongs_to :${1:association}\n\ -snippet crw\n\ - cattr_accessor :${1:attr_names}\n\ -snippet defcreate\n\ - def create\n\ - @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\ -\n\ - respond_to do |wants|\n\ - if @$1.save\n\ - flash[:notice] = '$2 was successfully created.'\n\ - wants.html { redirect_to(@$1) }\n\ - wants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n\ - else\n\ - wants.html { render :action => \"new\" }\n\ - wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\ - end\n\ - end\n\ - end${3}\n\ -snippet defdestroy\n\ - def destroy\n\ - @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ - @$1.destroy\n\ -\n\ - respond_to do |wants|\n\ - wants.html { redirect_to($1s_url) }\n\ - wants.xml { head :ok }\n\ - end\n\ - end${3}\n\ -snippet defedit\n\ - def edit\n\ - @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ - end\n\ -snippet defindex\n\ - def index\n\ - @${1:model_class_name} = ${2:ModelClassName}.all\n\ -\n\ - respond_to do |wants|\n\ - wants.html # index.html.erb\n\ - wants.xml { render :xml => @$1s }\n\ - end\n\ - end${3}\n\ -snippet defnew\n\ - def new\n\ - @${1:model_class_name} = ${2:ModelClassName}.new\n\ -\n\ - respond_to do |wants|\n\ - wants.html # new.html.erb\n\ - wants.xml { render :xml => @$1 }\n\ - end\n\ - end${3}\n\ -snippet defshow\n\ - def show\n\ - @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ -\n\ - respond_to do |wants|\n\ - wants.html # show.html.erb\n\ - wants.xml { render :xml => @$1 }\n\ - end\n\ - end${3}\n\ -snippet defupdate\n\ - def update\n\ - @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ -\n\ - respond_to do |wants|\n\ - if @$1.update_attributes(params[:$1])\n\ - flash[:notice] = '$2 was successfully updated.'\n\ - wants.html { redirect_to(@$1) }\n\ - wants.xml { head :ok }\n\ - else\n\ - wants.html { render :action => \"edit\" }\n\ - wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\ - end\n\ - end\n\ - end${3}\n\ -snippet flash\n\ - flash[:${1:notice}] = \"${2}\"\n\ -snippet habtm\n\ - has_and_belongs_to_many :${1:object}, :join_table => \"${2:table_name}\", :foreign_key => \"${3}_id\"${4}\n\ -snippet hm\n\ - has_many :${1:object}\n\ -snippet hmd\n\ - has_many :${1:other}s, :class_name => \"${2:$1}\", :foreign_key => \"${3:$1}_id\", :dependent => :destroy${4}\n\ -snippet hmt\n\ - has_many :${1:object}, :through => :${2:object}\n\ -snippet ho\n\ - has_one :${1:object}\n\ -snippet i18\n\ - I18n.t('${1:type.key}')${2}\n\ -snippet ist\n\ - <%= image_submit_tag(\"${1:agree.png}\", :id => \"${2:id}\"${3} %>\n\ -snippet log\n\ - Rails.logger.${1:debug} ${2}\n\ -snippet log2\n\ - RAILS_DEFAULT_LOGGER.${1:debug} ${2}\n\ -snippet logd\n\ - logger.debug { \"${1:message}\" }${2}\n\ -snippet loge\n\ - logger.error { \"${1:message}\" }${2}\n\ -snippet logf\n\ - logger.fatal { \"${1:message}\" }${2}\n\ -snippet logi\n\ - logger.info { \"${1:message}\" }${2}\n\ -snippet logw\n\ - logger.warn { \"${1:message}\" }${2}\n\ -snippet mapc\n\ - ${1:map}.${2:connect} '${3:controller/:action/:id}'\n\ -snippet mapca\n\ - ${1:map}.catch_all \"*${2:anything}\", :controller => \"${3:default}\", :action => \"${4:error}\"${5}\n\ -snippet mapr\n\ - ${1:map}.resource :${2:resource}\n\ -snippet maprs\n\ - ${1:map}.resources :${2:resource}\n\ -snippet mapwo\n\ - ${1:map}.with_options :${2:controller} => '${3:thing}' do |$3|\n\ - ${4}\n\ - end\n\ -snippet mbs\n\ - before_save :${1:method}\n\ -snippet mcht\n\ - change_table :${1:table_name} do |t|\n\ - ${2}\n\ - end\n\ -snippet mp\n\ - map(&:${1:id})\n\ -snippet mrw\n\ - mattr_accessor :${1:attr_names}\n\ -snippet oa\n\ - order(\"${1:field}\")\n\ -snippet od\n\ - order(\"${1:field} DESC\")\n\ -snippet pa\n\ - params[:${1:id}]${2}\n\ -snippet ra\n\ - render :action => \"${1:action}\"\n\ -snippet ral\n\ - render :action => \"${1:action}\", :layout => \"${2:layoutname}\"\n\ -snippet rest\n\ - respond_to do |wants|\n\ - wants.${1:html} { ${2} }\n\ - end\n\ -snippet rf\n\ - render :file => \"${1:filepath}\"\n\ -snippet rfu\n\ - render :file => \"${1:filepath}\", :use_full_path => ${2:false}\n\ -snippet ri\n\ - render :inline => \"${1:<%= 'hello' %>}\"\n\ -snippet ril\n\ - render :inline => \"${1:<%= 'hello' %>}\", :locals => { ${2::name} => \"${3:value}\"${4} }\n\ -snippet rit\n\ - render :inline => \"${1:<%= 'hello' %>}\", :type => ${2::rxml}\n\ -snippet rjson\n\ - render :json => ${1:text to render}\n\ -snippet rl\n\ - render :layout => \"${1:layoutname}\"\n\ -snippet rn\n\ - render :nothing => ${1:true}\n\ -snippet rns\n\ - render :nothing => ${1:true}, :status => ${2:401}\n\ -snippet rp\n\ - render :partial => \"${1:item}\"\n\ -snippet rpc\n\ - render :partial => \"${1:item}\", :collection => ${2:@$1s}\n\ -snippet rpl\n\ - render :partial => \"${1:item}\", :locals => { :${2:$1} => ${3:@$1}\n\ -snippet rpo\n\ - render :partial => \"${1:item}\", :object => ${2:@$1}\n\ -snippet rps\n\ - render :partial => \"${1:item}\", :status => ${2:500}\n\ -snippet rt\n\ - render :text => \"${1:text to render}\"\n\ -snippet rtl\n\ - render :text => \"${1:text to render}\", :layout => \"${2:layoutname}\"\n\ -snippet rtlt\n\ - render :text => \"${1:text to render}\", :layout => ${2:true}\n\ -snippet rts\n\ - render :text => \"${1:text to render}\", :status => ${2:401}\n\ -snippet ru\n\ - render :update do |${1:page}|\n\ - $1.${2}\n\ - end\n\ -snippet rxml\n\ - render :xml => ${1:text to render}\n\ -snippet sc\n\ - scope :${1:name}, :where(:@${2:field} => ${3:value})\n\ -snippet sl\n\ - scope :${1:name}, lambda do |${2:value}|\n\ - where(\"${3:field = ?}\", ${4:bind var})\n\ - end\n\ -snippet sha1\n\ - Digest::SHA1.hexdigest(${1:string})\n\ -snippet sweeper\n\ - class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n\ - observe $1\n\ -\n\ - def after_save(${2:model_class_name})\n\ - expire_cache($2)\n\ - end\n\ -\n\ - def after_destroy($2)\n\ - expire_cache($2)\n\ - end\n\ -\n\ - def expire_cache($2)\n\ - expire_page\n\ - end\n\ - end\n\ -snippet tcb\n\ - t.boolean :${1:title}\n\ - ${2}\n\ -snippet tcbi\n\ - t.binary :${1:title}, :limit => ${2:2}.megabytes\n\ - ${3}\n\ -snippet tcd\n\ - t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n\ - ${4}\n\ -snippet tcda\n\ - t.date :${1:title}\n\ - ${2}\n\ -snippet tcdt\n\ - t.datetime :${1:title}\n\ - ${2}\n\ -snippet tcf\n\ - t.float :${1:title}\n\ - ${2}\n\ -snippet tch\n\ - t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n\ - ${5}\n\ -snippet tci\n\ - t.integer :${1:title}\n\ - ${2}\n\ -snippet tcl\n\ - t.integer :lock_version, :null => false, :default => 0\n\ - ${1}\n\ -snippet tcr\n\ - t.references :${1:taggable}, :polymorphic => { :default => '${2:Photo}' }\n\ - ${3}\n\ -snippet tcs\n\ - t.string :${1:title}\n\ - ${2}\n\ -snippet tct\n\ - t.text :${1:title}\n\ - ${2}\n\ -snippet tcti\n\ - t.time :${1:title}\n\ - ${2}\n\ -snippet tcts\n\ - t.timestamp :${1:title}\n\ - ${2}\n\ -snippet tctss\n\ - t.timestamps\n\ - ${1}\n\ -snippet va\n\ - validates_associated :${1:attribute}\n\ -snippet vao\n\ - validates_acceptance_of :${1:terms}\n\ -snippet vc\n\ - validates_confirmation_of :${1:attribute}\n\ -snippet ve\n\ - validates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\n\ -snippet vf\n\ - validates_format_of :${1:attribute}, :with => /${2:regex}/\n\ -snippet vi\n\ - validates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\n\ -snippet vl\n\ - validates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\n\ -snippet vn\n\ - validates_numericality_of :${1:attribute}\n\ -snippet vpo\n\ - validates_presence_of :${1:attribute}\n\ -snippet vu\n\ - validates_uniqueness_of :${1:attribute}\n\ -snippet wants\n\ - wants.${1:js|xml|html} { ${2} }\n\ -snippet wc\n\ - where(${1:\"conditions\"}${2:, bind_var})\n\ -snippet wh\n\ - where(${1:field} => ${2:value})\n\ -snippet xdelete\n\ - xhr :delete, :${1:destroy}, :id => ${2:1}${3}\n\ -snippet xget\n\ - xhr :get, :${1:show}, :id => ${2:1}${3}\n\ -snippet xpost\n\ - xhr :post, :${1:create}, :${2:object} => { ${3} }\n\ -snippet xput\n\ - xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\n\ -snippet test\n\ - test \"should ${1:do something}\" do\n\ - ${2}\n\ - end\n\ -#migrations\n\ -snippet mac\n\ - add_column :${1:table_name}, :${2:column_name}, :${3:data_type}\n\ -snippet mrc\n\ - remove_column :${1:table_name}, :${2:column_name}\n\ -snippet mrnc\n\ - rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\n\ -snippet mcc\n\ - change_column :${1:table}, :${2:column}, :${3:type}\n\ -snippet mccc\n\ - t.column :${1:title}, :${2:string}\n\ -snippet mct\n\ - create_table :${1:table_name} do |t|\n\ - t.column :${2:name}, :${3:type}\n\ - end\n\ -snippet migration\n\ - class ${1:class_name} < ActiveRecord::Migration\n\ - def self.up\n\ - ${2}\n\ - end\n\ -\n\ - def self.down\n\ - end\n\ - end\n\ -\n\ -snippet trc\n\ - t.remove :${1:column}\n\ -snippet tre\n\ - t.rename :${1:old_column_name}, :${2:new_column_name}\n\ - ${3}\n\ -snippet tref\n\ - t.references :${1:model}\n\ -\n\ -#rspec\n\ -snippet it\n\ - it \"${1:spec_name}\" do\n\ - ${2}\n\ - end\n\ -snippet itp\n\ - it \"${1:spec_name}\"\n\ - ${2}\n\ -snippet desc\n\ - describe ${1:class_name} do\n\ - ${2}\n\ - end\n\ -snippet cont\n\ - context \"${1:message}\" do\n\ - ${2}\n\ - end\n\ -snippet bef\n\ - before :${1:each} do\n\ - ${2}\n\ - end\n\ -snippet aft\n\ - after :${1:each} do\n\ - ${2}\n\ - end\n\ -"; -exports.scope = "ruby"; - -}); +ace.define("ace/snippets/ruby",["require","exports","module"], function(require, exports, module) { +"use strict"; + +exports.snippetText = "########################################\n\ +# Ruby snippets - for Rails, see below #\n\ +########################################\n\ +\n\ +# encoding for Ruby 1.9\n\ +snippet enc\n\ + # encoding: utf-8\n\ +\n\ +# #!/usr/bin/env ruby\n\ +snippet #!\n\ + #!/usr/bin/env ruby\n\ + # encoding: utf-8\n\ +\n\ +# New Block\n\ +snippet =b\n\ + =begin rdoc\n\ + ${1}\n\ + =end\n\ +snippet y\n\ + :yields: ${1:arguments}\n\ +snippet rb\n\ + #!/usr/bin/env ruby -wKU\n\ +snippet beg\n\ + begin\n\ + ${3}\n\ + rescue ${1:Exception} => ${2:e}\n\ + end\n\ +\n\ +snippet req require\n\ + require \"${1}\"${2}\n\ +snippet #\n\ + # =>\n\ +snippet end\n\ + __END__\n\ +snippet case\n\ + case ${1:object}\n\ + when ${2:condition}\n\ + ${3}\n\ + end\n\ +snippet when\n\ + when ${1:condition}\n\ + ${2}\n\ +snippet def\n\ + def ${1:method_name}\n\ + ${2}\n\ + end\n\ +snippet deft\n\ + def test_${1:case_name}\n\ + ${2}\n\ + end\n\ +snippet if\n\ + if ${1:condition}\n\ + ${2}\n\ + end\n\ +snippet ife\n\ + if ${1:condition}\n\ + ${2}\n\ + else\n\ + ${3}\n\ + end\n\ +snippet elsif\n\ + elsif ${1:condition}\n\ + ${2}\n\ +snippet unless\n\ + unless ${1:condition}\n\ + ${2}\n\ + end\n\ +snippet while\n\ + while ${1:condition}\n\ + ${2}\n\ + end\n\ +snippet for\n\ + for ${1:e} in ${2:c}\n\ + ${3}\n\ + end\n\ +snippet until\n\ + until ${1:condition}\n\ + ${2}\n\ + end\n\ +snippet cla class .. end\n\ + class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ + ${2}\n\ + end\n\ +snippet cla class .. initialize .. end\n\ + class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ + def initialize(${2:args})\n\ + ${3}\n\ + end\n\ + end\n\ +snippet cla class .. < ParentClass .. initialize .. end\n\ + class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < ${2:ParentClass}\n\ + def initialize(${3:args})\n\ + ${4}\n\ + end\n\ + end\n\ +snippet cla ClassName = Struct .. do .. end\n\ + ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} = Struct.new(:${2:attr_names}) do\n\ + def ${3:method_name}\n\ + ${4}\n\ + end\n\ + end\n\ +snippet cla class BlankSlate .. initialize .. end\n\ + class ${1:BlankSlate}\n\ + instance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n\ + end\n\ +snippet cla class << self .. end\n\ + class << ${1:self}\n\ + ${2}\n\ + end\n\ +# class .. < DelegateClass .. initialize .. end\n\ +snippet cla-\n\ + class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < DelegateClass(${2:ParentClass})\n\ + def initialize(${3:args})\n\ + super(${4:del_obj})\n\ +\n\ + ${5}\n\ + end\n\ + end\n\ +snippet mod module .. end\n\ + module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ + ${2}\n\ + end\n\ +snippet mod module .. module_function .. end\n\ + module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ + module_function\n\ +\n\ + ${2}\n\ + end\n\ +snippet mod module .. ClassMethods .. end\n\ + module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ + module ClassMethods\n\ + ${2}\n\ + end\n\ +\n\ + module InstanceMethods\n\ +\n\ + end\n\ +\n\ + def self.included(receiver)\n\ + receiver.extend ClassMethods\n\ + receiver.send :include, InstanceMethods\n\ + end\n\ + end\n\ +# attr_reader\n\ +snippet r\n\ + attr_reader :${1:attr_names}\n\ +# attr_writer\n\ +snippet w\n\ + attr_writer :${1:attr_names}\n\ +# attr_accessor\n\ +snippet rw\n\ + attr_accessor :${1:attr_names}\n\ +snippet atp\n\ + attr_protected :${1:attr_names}\n\ +snippet ata\n\ + attr_accessible :${1:attr_names}\n\ +# include Enumerable\n\ +snippet Enum\n\ + include Enumerable\n\ +\n\ + def each(&block)\n\ + ${1}\n\ + end\n\ +# include Comparable\n\ +snippet Comp\n\ + include Comparable\n\ +\n\ + def <=>(other)\n\ + ${1}\n\ + end\n\ +# extend Forwardable\n\ +snippet Forw-\n\ + extend Forwardable\n\ +# def self\n\ +snippet defs\n\ + def self.${1:class_method_name}\n\ + ${2}\n\ + end\n\ +# def method_missing\n\ +snippet defmm\n\ + def method_missing(meth, *args, &blk)\n\ + ${1}\n\ + end\n\ +snippet defd\n\ + def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\n\ +snippet defds\n\ + def_delegators :${1:@del_obj}, :${2:del_methods}\n\ +snippet am\n\ + alias_method :${1:new_name}, :${2:old_name}\n\ +snippet app\n\ + if __FILE__ == $PROGRAM_NAME\n\ + ${1}\n\ + end\n\ +# usage_if()\n\ +snippet usai\n\ + if ARGV.${1}\n\ + abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\ + end\n\ +# usage_unless()\n\ +snippet usau\n\ + unless ARGV.${1}\n\ + abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\ + end\n\ +snippet array\n\ + Array.new(${1:10}) { |${2:i}| ${3} }\n\ +snippet hash\n\ + Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\n\ +snippet file File.foreach() { |line| .. }\n\ + File.foreach(${1:\"path/to/file\"}) { |${2:line}| ${3} }\n\ +snippet file File.read()\n\ + File.read(${1:\"path/to/file\"})${2}\n\ +snippet Dir Dir.global() { |file| .. }\n\ + Dir.glob(${1:\"dir/glob/*\"}) { |${2:file}| ${3} }\n\ +snippet Dir Dir[\"..\"]\n\ + Dir[${1:\"glob/**/*.rb\"}]${2}\n\ +snippet dir\n\ + Filename.dirname(__FILE__)\n\ +snippet deli\n\ + delete_if { |${1:e}| ${2} }\n\ +snippet fil\n\ + fill(${1:range}) { |${2:i}| ${3} }\n\ +# flatten_once()\n\ +snippet flao\n\ + inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\n\ +snippet zip\n\ + zip(${1:enums}) { |${2:row}| ${3} }\n\ +# downto(0) { |n| .. }\n\ +snippet dow\n\ + downto(${1:0}) { |${2:n}| ${3} }\n\ +snippet ste\n\ + step(${1:2}) { |${2:n}| ${3} }\n\ +snippet tim\n\ + times { |${1:n}| ${2} }\n\ +snippet upt\n\ + upto(${1:1.0/0.0}) { |${2:n}| ${3} }\n\ +snippet loo\n\ + loop { ${1} }\n\ +snippet ea\n\ + each { |${1:e}| ${2} }\n\ +snippet ead\n\ + each do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet eab\n\ + each_byte { |${1:byte}| ${2} }\n\ +snippet eac- each_char { |chr| .. }\n\ + each_char { |${1:chr}| ${2} }\n\ +snippet eac- each_cons(..) { |group| .. }\n\ + each_cons(${1:2}) { |${2:group}| ${3} }\n\ +snippet eai\n\ + each_index { |${1:i}| ${2} }\n\ +snippet eaid\n\ + each_index do |${1:i}|\n\ + ${2}\n\ + end\n\ +snippet eak\n\ + each_key { |${1:key}| ${2} }\n\ +snippet eakd\n\ + each_key do |${1:key}|\n\ + ${2}\n\ + end\n\ +snippet eal\n\ + each_line { |${1:line}| ${2} }\n\ +snippet eald\n\ + each_line do |${1:line}|\n\ + ${2}\n\ + end\n\ +snippet eap\n\ + each_pair { |${1:name}, ${2:val}| ${3} }\n\ +snippet eapd\n\ + each_pair do |${1:name}, ${2:val}|\n\ + ${3}\n\ + end\n\ +snippet eas-\n\ + each_slice(${1:2}) { |${2:group}| ${3} }\n\ +snippet easd-\n\ + each_slice(${1:2}) do |${2:group}|\n\ + ${3}\n\ + end\n\ +snippet eav\n\ + each_value { |${1:val}| ${2} }\n\ +snippet eavd\n\ + each_value do |${1:val}|\n\ + ${2}\n\ + end\n\ +snippet eawi\n\ + each_with_index { |${1:e}, ${2:i}| ${3} }\n\ +snippet eawid\n\ + each_with_index do |${1:e},${2:i}|\n\ + ${3}\n\ + end\n\ +snippet reve\n\ + reverse_each { |${1:e}| ${2} }\n\ +snippet reved\n\ + reverse_each do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet inj\n\ + inject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\n\ +snippet injd\n\ + inject(${1:init}) do |${2:mem}, ${3:var}|\n\ + ${4}\n\ + end\n\ +snippet map\n\ + map { |${1:e}| ${2} }\n\ +snippet mapd\n\ + map do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet mapwi-\n\ + enum_with_index.map { |${1:e}, ${2:i}| ${3} }\n\ +snippet sor\n\ + sort { |a, b| ${1} }\n\ +snippet sorb\n\ + sort_by { |${1:e}| ${2} }\n\ +snippet ran\n\ + sort_by { rand }\n\ +snippet all\n\ + all? { |${1:e}| ${2} }\n\ +snippet any\n\ + any? { |${1:e}| ${2} }\n\ +snippet cl\n\ + classify { |${1:e}| ${2} }\n\ +snippet col\n\ + collect { |${1:e}| ${2} }\n\ +snippet cold\n\ + collect do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet det\n\ + detect { |${1:e}| ${2} }\n\ +snippet detd\n\ + detect do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet fet\n\ + fetch(${1:name}) { |${2:key}| ${3} }\n\ +snippet fin\n\ + find { |${1:e}| ${2} }\n\ +snippet find\n\ + find do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet fina\n\ + find_all { |${1:e}| ${2} }\n\ +snippet finad\n\ + find_all do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet gre\n\ + grep(${1:/pattern/}) { |${2:match}| ${3} }\n\ +snippet sub\n\ + ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\n\ +snippet sca\n\ + scan(${1:/pattern/}) { |${2:match}| ${3} }\n\ +snippet scad\n\ + scan(${1:/pattern/}) do |${2:match}|\n\ + ${3}\n\ + end\n\ +snippet max\n\ + max { |a, b| ${1} }\n\ +snippet min\n\ + min { |a, b| ${1} }\n\ +snippet par\n\ + partition { |${1:e}| ${2} }\n\ +snippet pard\n\ + partition do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet rej\n\ + reject { |${1:e}| ${2} }\n\ +snippet rejd\n\ + reject do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet sel\n\ + select { |${1:e}| ${2} }\n\ +snippet seld\n\ + select do |${1:e}|\n\ + ${2}\n\ + end\n\ +snippet lam\n\ + lambda { |${1:args}| ${2} }\n\ +snippet doo\n\ + do\n\ + ${1}\n\ + end\n\ +snippet dov\n\ + do |${1:variable}|\n\ + ${2}\n\ + end\n\ +snippet :\n\ + :${1:key} => ${2:\"value\"}${3}\n\ +snippet ope\n\ + open(${1:\"path/or/url/or/pipe\"}, \"${2:w}\") { |${3:io}| ${4} }\n\ +# path_from_here()\n\ +snippet fpath\n\ + File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n\ +# unix_filter {}\n\ +snippet unif\n\ + ARGF.each_line${1} do |${2:line}|\n\ + ${3}\n\ + end\n\ +# option_parse {}\n\ +snippet optp\n\ + require \"optparse\"\n\ +\n\ + options = {${1:default => \"args\"}}\n\ +\n\ + ARGV.options do |opts|\n\ + opts.banner = \"Usage: #{File.basename($PROGRAM_NAME)}\n\ +snippet opt\n\ + opts.on( \"-${1:o}\", \"--${2:long-option-name}\", ${3:String},\n\ + \"${4:Option description.}\") do |${5:opt}|\n\ + ${6}\n\ + end\n\ +snippet tc\n\ + require \"test/unit\"\n\ +\n\ + require \"${1:library_file_name}\"\n\ +\n\ + class Test${2:$1} < Test::Unit::TestCase\n\ + def test_${3:case_name}\n\ + ${4}\n\ + end\n\ + end\n\ +snippet ts\n\ + require \"test/unit\"\n\ +\n\ + require \"tc_${1:test_case_file}\"\n\ + require \"tc_${2:test_case_file}\"${3}\n\ +snippet as\n\ + assert ${1:test}, \"${2:Failure message.}\"${3}\n\ +snippet ase\n\ + assert_equal ${1:expected}, ${2:actual}${3}\n\ +snippet asne\n\ + assert_not_equal ${1:unexpected}, ${2:actual}${3}\n\ +snippet asid\n\ + assert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\n\ +snippet asio\n\ + assert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\n\ +snippet asko\n\ + assert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\n\ +snippet asn\n\ + assert_nil ${1:instance}${2}\n\ +snippet asnn\n\ + assert_not_nil ${1:instance}${2}\n\ +snippet asm\n\ + assert_match /${1:expected_pattern}/, ${2:actual_string}${3}\n\ +snippet asnm\n\ + assert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\n\ +snippet aso\n\ + assert_operator ${1:left}, :${2:operator}, ${3:right}${4}\n\ +snippet asr\n\ + assert_raise ${1:Exception} { ${2} }\n\ +snippet asrd\n\ + assert_raise ${1:Exception} do\n\ + ${2}\n\ + end\n\ +snippet asnr\n\ + assert_nothing_raised ${1:Exception} { ${2} }\n\ +snippet asnrd\n\ + assert_nothing_raised ${1:Exception} do\n\ + ${2}\n\ + end\n\ +snippet asrt\n\ + assert_respond_to ${1:object}, :${2:method}${3}\n\ +snippet ass assert_same(..)\n\ + assert_same ${1:expected}, ${2:actual}${3}\n\ +snippet ass assert_send(..)\n\ + assert_send [${1:object}, :${2:message}, ${3:args}]${4}\n\ +snippet asns\n\ + assert_not_same ${1:unexpected}, ${2:actual}${3}\n\ +snippet ast\n\ + assert_throws :${1:expected} { ${2} }\n\ +snippet astd\n\ + assert_throws :${1:expected} do\n\ + ${2}\n\ + end\n\ +snippet asnt\n\ + assert_nothing_thrown { ${1} }\n\ +snippet asntd\n\ + assert_nothing_thrown do\n\ + ${1}\n\ + end\n\ +snippet fl\n\ + flunk \"${1:Failure message.}\"${2}\n\ +# Benchmark.bmbm do .. end\n\ +snippet bm-\n\ + TESTS = ${1:10_000}\n\ + Benchmark.bmbm do |results|\n\ + ${2}\n\ + end\n\ +snippet rep\n\ + results.report(\"${1:name}:\") { TESTS.times { ${2} }}\n\ +# Marshal.dump(.., file)\n\ +snippet Md\n\ + File.open(${1:\"path/to/file.dump\"}, \"wb\") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n\ +# Mashal.load(obj)\n\ +snippet Ml\n\ + File.open(${1:\"path/to/file.dump\"}, \"rb\") { |${2:file}| Marshal.load($2) }${3}\n\ +# deep_copy(..)\n\ +snippet deec\n\ + Marshal.load(Marshal.dump(${1:obj_to_copy}))${2}\n\ +snippet Pn-\n\ + PStore.new(${1:\"file_name.pstore\"})${2}\n\ +snippet tra\n\ + transaction(${1:true}) { ${2} }\n\ +# xmlread(..)\n\ +snippet xml-\n\ + REXML::Document.new(File.read(${1:\"path/to/file\"}))${2}\n\ +# xpath(..) { .. }\n\ +snippet xpa\n\ + elements.each(${1:\"//Xpath\"}) do |${2:node}|\n\ + ${3}\n\ + end\n\ +# class_from_name()\n\ +snippet clafn\n\ + split(\"::\").inject(Object) { |par, const| par.const_get(const) }\n\ +# singleton_class()\n\ +snippet sinc\n\ + class << self; self end\n\ +snippet nam\n\ + namespace :${1:`Filename()`} do\n\ + ${2}\n\ + end\n\ +snippet tas\n\ + desc \"${1:Task description}\"\n\ + task :${2:task_name => [:dependent, :tasks]} do\n\ + ${3}\n\ + end\n\ +# block\n\ +snippet b\n\ + { |${1:var}| ${2} }\n\ +snippet begin\n\ + begin\n\ + raise 'A test exception.'\n\ + rescue Exception => e\n\ + puts e.message\n\ + puts e.backtrace.inspect\n\ + else\n\ + # other exception\n\ + ensure\n\ + # always executed\n\ + end\n\ +\n\ +#debugging\n\ +snippet debug\n\ + require 'ruby-debug'; debugger; true;\n\ +snippet pry\n\ + require 'pry'; binding.pry\n\ +\n\ +#############################################\n\ +# Rails snippets - for pure Ruby, see above #\n\ +#############################################\n\ +snippet art\n\ + assert_redirected_to ${1::action => \"${2:index}\"}\n\ +snippet artnp\n\ + assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\n\ +snippet artnpp\n\ + assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\n\ +snippet artp\n\ + assert_redirected_to ${1:model}_path(${2:@$1})\n\ +snippet artpp\n\ + assert_redirected_to ${1:model}s_path\n\ +snippet asd\n\ + assert_difference \"${1:Model}.${2:count}\", $1 do\n\ + ${3}\n\ + end\n\ +snippet asnd\n\ + assert_no_difference \"${1:Model}.${2:count}\" do\n\ + ${3}\n\ + end\n\ +snippet asre\n\ + assert_response :${1:success}, @response.body${2}\n\ +snippet asrj\n\ + assert_rjs :${1:replace}, \"${2:dom id}\"\n\ +snippet ass assert_select(..)\n\ + assert_select '${1:path}', :${2:text} => '${3:inner_html' ${4:do}\n\ +snippet bf\n\ + before_filter :${1:method}\n\ +snippet bt\n\ + belongs_to :${1:association}\n\ +snippet crw\n\ + cattr_accessor :${1:attr_names}\n\ +snippet defcreate\n\ + def create\n\ + @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\ +\n\ + respond_to do |wants|\n\ + if @$1.save\n\ + flash[:notice] = '$2 was successfully created.'\n\ + wants.html { redirect_to(@$1) }\n\ + wants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n\ + else\n\ + wants.html { render :action => \"new\" }\n\ + wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\ + end\n\ + end\n\ + end${3}\n\ +snippet defdestroy\n\ + def destroy\n\ + @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ + @$1.destroy\n\ +\n\ + respond_to do |wants|\n\ + wants.html { redirect_to($1s_url) }\n\ + wants.xml { head :ok }\n\ + end\n\ + end${3}\n\ +snippet defedit\n\ + def edit\n\ + @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ + end\n\ +snippet defindex\n\ + def index\n\ + @${1:model_class_name} = ${2:ModelClassName}.all\n\ +\n\ + respond_to do |wants|\n\ + wants.html # index.html.erb\n\ + wants.xml { render :xml => @$1s }\n\ + end\n\ + end${3}\n\ +snippet defnew\n\ + def new\n\ + @${1:model_class_name} = ${2:ModelClassName}.new\n\ +\n\ + respond_to do |wants|\n\ + wants.html # new.html.erb\n\ + wants.xml { render :xml => @$1 }\n\ + end\n\ + end${3}\n\ +snippet defshow\n\ + def show\n\ + @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ +\n\ + respond_to do |wants|\n\ + wants.html # show.html.erb\n\ + wants.xml { render :xml => @$1 }\n\ + end\n\ + end${3}\n\ +snippet defupdate\n\ + def update\n\ + @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\ +\n\ + respond_to do |wants|\n\ + if @$1.update_attributes(params[:$1])\n\ + flash[:notice] = '$2 was successfully updated.'\n\ + wants.html { redirect_to(@$1) }\n\ + wants.xml { head :ok }\n\ + else\n\ + wants.html { render :action => \"edit\" }\n\ + wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\ + end\n\ + end\n\ + end${3}\n\ +snippet flash\n\ + flash[:${1:notice}] = \"${2}\"\n\ +snippet habtm\n\ + has_and_belongs_to_many :${1:object}, :join_table => \"${2:table_name}\", :foreign_key => \"${3}_id\"${4}\n\ +snippet hm\n\ + has_many :${1:object}\n\ +snippet hmd\n\ + has_many :${1:other}s, :class_name => \"${2:$1}\", :foreign_key => \"${3:$1}_id\", :dependent => :destroy${4}\n\ +snippet hmt\n\ + has_many :${1:object}, :through => :${2:object}\n\ +snippet ho\n\ + has_one :${1:object}\n\ +snippet i18\n\ + I18n.t('${1:type.key}')${2}\n\ +snippet ist\n\ + <%= image_submit_tag(\"${1:agree.png}\", :id => \"${2:id}\"${3} %>\n\ +snippet log\n\ + Rails.logger.${1:debug} ${2}\n\ +snippet log2\n\ + RAILS_DEFAULT_LOGGER.${1:debug} ${2}\n\ +snippet logd\n\ + logger.debug { \"${1:message}\" }${2}\n\ +snippet loge\n\ + logger.error { \"${1:message}\" }${2}\n\ +snippet logf\n\ + logger.fatal { \"${1:message}\" }${2}\n\ +snippet logi\n\ + logger.info { \"${1:message}\" }${2}\n\ +snippet logw\n\ + logger.warn { \"${1:message}\" }${2}\n\ +snippet mapc\n\ + ${1:map}.${2:connect} '${3:controller/:action/:id}'\n\ +snippet mapca\n\ + ${1:map}.catch_all \"*${2:anything}\", :controller => \"${3:default}\", :action => \"${4:error}\"${5}\n\ +snippet mapr\n\ + ${1:map}.resource :${2:resource}\n\ +snippet maprs\n\ + ${1:map}.resources :${2:resource}\n\ +snippet mapwo\n\ + ${1:map}.with_options :${2:controller} => '${3:thing}' do |$3|\n\ + ${4}\n\ + end\n\ +snippet mbs\n\ + before_save :${1:method}\n\ +snippet mcht\n\ + change_table :${1:table_name} do |t|\n\ + ${2}\n\ + end\n\ +snippet mp\n\ + map(&:${1:id})\n\ +snippet mrw\n\ + mattr_accessor :${1:attr_names}\n\ +snippet oa\n\ + order(\"${1:field}\")\n\ +snippet od\n\ + order(\"${1:field} DESC\")\n\ +snippet pa\n\ + params[:${1:id}]${2}\n\ +snippet ra\n\ + render :action => \"${1:action}\"\n\ +snippet ral\n\ + render :action => \"${1:action}\", :layout => \"${2:layoutname}\"\n\ +snippet rest\n\ + respond_to do |wants|\n\ + wants.${1:html} { ${2} }\n\ + end\n\ +snippet rf\n\ + render :file => \"${1:filepath}\"\n\ +snippet rfu\n\ + render :file => \"${1:filepath}\", :use_full_path => ${2:false}\n\ +snippet ri\n\ + render :inline => \"${1:<%= 'hello' %>}\"\n\ +snippet ril\n\ + render :inline => \"${1:<%= 'hello' %>}\", :locals => { ${2::name} => \"${3:value}\"${4} }\n\ +snippet rit\n\ + render :inline => \"${1:<%= 'hello' %>}\", :type => ${2::rxml}\n\ +snippet rjson\n\ + render :json => ${1:text to render}\n\ +snippet rl\n\ + render :layout => \"${1:layoutname}\"\n\ +snippet rn\n\ + render :nothing => ${1:true}\n\ +snippet rns\n\ + render :nothing => ${1:true}, :status => ${2:401}\n\ +snippet rp\n\ + render :partial => \"${1:item}\"\n\ +snippet rpc\n\ + render :partial => \"${1:item}\", :collection => ${2:@$1s}\n\ +snippet rpl\n\ + render :partial => \"${1:item}\", :locals => { :${2:$1} => ${3:@$1}\n\ +snippet rpo\n\ + render :partial => \"${1:item}\", :object => ${2:@$1}\n\ +snippet rps\n\ + render :partial => \"${1:item}\", :status => ${2:500}\n\ +snippet rt\n\ + render :text => \"${1:text to render}\"\n\ +snippet rtl\n\ + render :text => \"${1:text to render}\", :layout => \"${2:layoutname}\"\n\ +snippet rtlt\n\ + render :text => \"${1:text to render}\", :layout => ${2:true}\n\ +snippet rts\n\ + render :text => \"${1:text to render}\", :status => ${2:401}\n\ +snippet ru\n\ + render :update do |${1:page}|\n\ + $1.${2}\n\ + end\n\ +snippet rxml\n\ + render :xml => ${1:text to render}\n\ +snippet sc\n\ + scope :${1:name}, :where(:@${2:field} => ${3:value})\n\ +snippet sl\n\ + scope :${1:name}, lambda do |${2:value}|\n\ + where(\"${3:field = ?}\", ${4:bind var})\n\ + end\n\ +snippet sha1\n\ + Digest::SHA1.hexdigest(${1:string})\n\ +snippet sweeper\n\ + class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n\ + observe $1\n\ +\n\ + def after_save(${2:model_class_name})\n\ + expire_cache($2)\n\ + end\n\ +\n\ + def after_destroy($2)\n\ + expire_cache($2)\n\ + end\n\ +\n\ + def expire_cache($2)\n\ + expire_page\n\ + end\n\ + end\n\ +snippet tcb\n\ + t.boolean :${1:title}\n\ + ${2}\n\ +snippet tcbi\n\ + t.binary :${1:title}, :limit => ${2:2}.megabytes\n\ + ${3}\n\ +snippet tcd\n\ + t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n\ + ${4}\n\ +snippet tcda\n\ + t.date :${1:title}\n\ + ${2}\n\ +snippet tcdt\n\ + t.datetime :${1:title}\n\ + ${2}\n\ +snippet tcf\n\ + t.float :${1:title}\n\ + ${2}\n\ +snippet tch\n\ + t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n\ + ${5}\n\ +snippet tci\n\ + t.integer :${1:title}\n\ + ${2}\n\ +snippet tcl\n\ + t.integer :lock_version, :null => false, :default => 0\n\ + ${1}\n\ +snippet tcr\n\ + t.references :${1:taggable}, :polymorphic => { :default => '${2:Photo}' }\n\ + ${3}\n\ +snippet tcs\n\ + t.string :${1:title}\n\ + ${2}\n\ +snippet tct\n\ + t.text :${1:title}\n\ + ${2}\n\ +snippet tcti\n\ + t.time :${1:title}\n\ + ${2}\n\ +snippet tcts\n\ + t.timestamp :${1:title}\n\ + ${2}\n\ +snippet tctss\n\ + t.timestamps\n\ + ${1}\n\ +snippet va\n\ + validates_associated :${1:attribute}\n\ +snippet vao\n\ + validates_acceptance_of :${1:terms}\n\ +snippet vc\n\ + validates_confirmation_of :${1:attribute}\n\ +snippet ve\n\ + validates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\n\ +snippet vf\n\ + validates_format_of :${1:attribute}, :with => /${2:regex}/\n\ +snippet vi\n\ + validates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\n\ +snippet vl\n\ + validates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\n\ +snippet vn\n\ + validates_numericality_of :${1:attribute}\n\ +snippet vpo\n\ + validates_presence_of :${1:attribute}\n\ +snippet vu\n\ + validates_uniqueness_of :${1:attribute}\n\ +snippet wants\n\ + wants.${1:js|xml|html} { ${2} }\n\ +snippet wc\n\ + where(${1:\"conditions\"}${2:, bind_var})\n\ +snippet wh\n\ + where(${1:field} => ${2:value})\n\ +snippet xdelete\n\ + xhr :delete, :${1:destroy}, :id => ${2:1}${3}\n\ +snippet xget\n\ + xhr :get, :${1:show}, :id => ${2:1}${3}\n\ +snippet xpost\n\ + xhr :post, :${1:create}, :${2:object} => { ${3} }\n\ +snippet xput\n\ + xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\n\ +snippet test\n\ + test \"should ${1:do something}\" do\n\ + ${2}\n\ + end\n\ +#migrations\n\ +snippet mac\n\ + add_column :${1:table_name}, :${2:column_name}, :${3:data_type}\n\ +snippet mrc\n\ + remove_column :${1:table_name}, :${2:column_name}\n\ +snippet mrnc\n\ + rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\n\ +snippet mcc\n\ + change_column :${1:table}, :${2:column}, :${3:type}\n\ +snippet mccc\n\ + t.column :${1:title}, :${2:string}\n\ +snippet mct\n\ + create_table :${1:table_name} do |t|\n\ + t.column :${2:name}, :${3:type}\n\ + end\n\ +snippet migration\n\ + class ${1:class_name} < ActiveRecord::Migration\n\ + def self.up\n\ + ${2}\n\ + end\n\ +\n\ + def self.down\n\ + end\n\ + end\n\ +\n\ +snippet trc\n\ + t.remove :${1:column}\n\ +snippet tre\n\ + t.rename :${1:old_column_name}, :${2:new_column_name}\n\ + ${3}\n\ +snippet tref\n\ + t.references :${1:model}\n\ +\n\ +#rspec\n\ +snippet it\n\ + it \"${1:spec_name}\" do\n\ + ${2}\n\ + end\n\ +snippet itp\n\ + it \"${1:spec_name}\"\n\ + ${2}\n\ +snippet desc\n\ + describe ${1:class_name} do\n\ + ${2}\n\ + end\n\ +snippet cont\n\ + context \"${1:message}\" do\n\ + ${2}\n\ + end\n\ +snippet bef\n\ + before :${1:each} do\n\ + ${2}\n\ + end\n\ +snippet aft\n\ + after :${1:each} do\n\ + ${2}\n\ + end\n\ +"; +exports.scope = "ruby"; + +});