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