From cbcc23571fa420bf198d18a47ce33a1862a62c66 Mon Sep 17 00:00:00 2001 From: Eustaquio Rangel Date: Wed, 16 Jul 2014 12:01:05 -0300 Subject: [PATCH] Starting to split Ruby and Rails snippets --- snippets/rails.snippets | 532 +++++++++++++++++++++++++++++++++++++++ snippets/ruby.snippets | 539 ---------------------------------------- 2 files changed, 532 insertions(+), 539 deletions(-) create mode 100644 snippets/rails.snippets diff --git a/snippets/rails.snippets b/snippets/rails.snippets new file mode 100644 index 0000000..fba3fb4 --- /dev/null +++ b/snippets/rails.snippets @@ -0,0 +1,532 @@ +snippet art + assert_redirected_to ${1::action => "${2:index}"} +snippet artnp + assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${0:@$2}) +snippet artnpp + assert_redirected_to ${1:parent}_${2:child}_path(${0:@$1}) +snippet artp + assert_redirected_to ${1:model}_path(${0:@$1}) +snippet artpp + assert_redirected_to ${0:model}s_path +snippet asd + assert_difference "${1:Model}.${2:count}", ${3:1} do + ${0} + end +snippet asnd + assert_no_difference "${1:Model}.${2:count}" do + ${0} + end +snippet asre + assert_response :${1:success}, @response.body +snippet asrj + assert_rjs :${1:replace}, "${0:dom id}" +snippet ass assert_select(..) + assert_select '${1:path}', :${2:text} => '${3:inner_html' ${4:do} +snippet ba + before_action :${0:method} +snippet bf + before_filter :${0:method} +snippet bt + belongs_to :${0:association} +snippet btp + belongs_to :${1:association}, :polymorphic => true +snippet crw + cattr_accessor :${0:attr_names} +snippet defcreate + def create + @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1]) + + respond_to do |format| + if @$1.save + flash[:notice] = '$2 was successfully created.' + format.html { redirect_to(@$1) } + format.xml { render :xml => @$1, :status => :created, :location => @$1 } + else + format.html { render :action => "new" } + format.xml { render :xml => @$1.errors, :status => :unprocessable_entity } + end + end + end +snippet defdestroy + def destroy + @${1:model_class_name} = ${2:ModelClassName}.find(params[:id]) + @$1.destroy + + respond_to do |format| + format.html { redirect_to($1s_url) } + format.xml { head :ok } + end + end +snippet defedit + def edit + @${1:model_class_name} = ${0:ModelClassName}.find(params[:id]) + end +snippet defindex + def index + @${1:model_class_name} = ${2:ModelClassName}.all + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @$1s } + end + end +snippet defnew + def new + @${1:model_class_name} = ${2:ModelClassName}.new + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @$1 } + end + end +snippet defshow + def show + @${1:model_class_name} = ${2:ModelClassName}.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @$1 } + end + end +snippet defupdate + def update + @${1:model_class_name} = ${2:ModelClassName}.find(params[:id]) + + respond_to do |format| + if @$1.update_attributes(params[:$1]) + flash[:notice] = '$2 was successfully updated.' + format.html { redirect_to(@$1) } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @$1.errors, :status => :unprocessable_entity } + end + end + end +snippet dele delegate .. to + delegate :${1:methods}, :to => :${0:object} +snippet dele delegate .. to .. prefix .. allow_nil + delegate :${1:methods}, :to => :${2:object}, :prefix => :${3:prefix}, :allow_nil => ${0:allow_nil} +snippet flash + flash[:${1:notice}] = "${0}" +snippet habtm + has_and_belongs_to_many :${1:object}, :join_table => "${2:table_name}", :foreign_key => "${3}_id" +snippet hm + has_many :${0:object} +snippet hmd + has_many :${1:other}s, :class_name => "${2:$1}", :foreign_key => "${3:$1}_id", :dependent => :destroy +snippet hmt + has_many :${1:object}, :through => :${0:object} +snippet ho + has_one :${0:object} +snippet hod + has_one :${1:object}, dependent: :${0:destroy} +snippet i18 + I18n.t('${1:type.key}') +snippet ist + <%= image_submit_tag("${1:agree.png}", :id => "${2:id}"${0} %> +snippet log + Rails.logger.${1:debug} ${0} +snippet log2 + RAILS_DEFAULT_LOGGER.${1:debug} ${0} +snippet logd + logger.debug { "${1:message}" } +snippet loge + logger.error { "${1:message}" } +snippet logf + logger.fatal { "${1:message}" } +snippet logi + logger.info { "${1:message}" } +snippet logw + logger.warn { "${1:message}" } +snippet mapc + ${1:map}.${2:connect} '${0:controller/:action/:id}' +snippet mapca + ${1:map}.catch_all "*${2:anything}", :controller => "${3:default}", :action => "${4:error}" +snippet mapr + ${1:map}.resource :${0:resource} +snippet maprs + ${1:map}.resources :${0:resource} +snippet mapwo + ${1:map}.with_options :${2:controller} => '${3:thing}' do |$3| + ${0} + end + +############################### +# model callback snippets # +############################### + +# before callback +snippet mbv + before_validation :${0:method} +snippet mbc + before_create :${0:method} +snippet mbu + before_update :${0:method} +snippet mbs + before_save :${0:method} +snippet mbd + before_destroy :${0:method} + +# after callback +snippet mav + after_validation :${0:method} +snippet maf + after_find :${0:method} +snippet mat + after_touch :${0:method} +snippet macr + after_create :${0:method} +snippet mau + after_update :${0:method} +snippet mas + after_save :${0:method} +snippet mad + after_destroy :${0:method} + +# around callback +snippet marc + around_create :${0:method} +snippet maru + around_update :${0:method} +snippet mars + around_save :${0:method} +snippet mard + around_destroy :${0:method} + +snippet mcht + change_table :${1:table_name} do |t| + ${0} + end +snippet mp + map(&:${0:id}) +snippet mrw + mattr_accessor :${0:attr_names} +snippet oa + order("${0:field}") +snippet od + order("${0:field} DESC") +snippet pa + params[:${1:id}] +snippet ra + render :action => "${0:action}" +snippet ral + render :action => "${1:action}", :layout => "${0:layoutname}" +snippet rest + respond_to do |format| + format.${1:html} { ${0} } + end +snippet rf + render :file => "${0:filepath}" +snippet rfu + render :file => "${1:filepath}", :use_full_path => ${0:false} +snippet ri + render :inline => "${0:<%= 'hello' %>}" +snippet ril + render :inline => "${1:<%= 'hello' %>}", :locals => { ${2::name} => "${3:value}"${0} } +snippet rit + render :inline => "${1:<%= 'hello' %>}", :type => ${0::rxml} +snippet rjson + render :json => ${0:text to render} +snippet rl + render :layout => "${0:layoutname}" +snippet rn + render :nothing => ${0:true} +snippet rns + render :nothing => ${1:true}, :status => ${0:401} +snippet rp + render :partial => "${0:item}" +snippet rpc + render :partial => "${1:item}", :collection => ${0:@$1s} +snippet rpl + render :partial => "${1:item}", :locals => { :${2:$1} => ${0:@$1} +snippet rpo + render :partial => "${1:item}", :object => ${0:@$1} +snippet rps + render :partial => "${1:item}", :status => ${0:500} +snippet rt + render :text => "${0:text to render}" +snippet rtl + render :text => "${1:text to render}", :layout => "${0:layoutname}" +snippet rtlt + render :text => "${1:text to render}", :layout => ${0:true} +snippet rts + render :text => "${1:text to render}", :status => ${0:401} +snippet ru + render :update do |${1:page}| + $1.${0} + end +snippet rxml + render :xml => ${0:text to render} +snippet sc + scope :${1:name}, -> { where(${2:field}: ${0:value}) } +snippet sl + scope :${1:name}, lambda do |${2:value}| + where("${3:field = ?}", ${0:bind var}) + end +snippet sha1 + Digest::SHA1.hexdigest(${0:string}) +snippet sweeper + class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper + observe $1 + + def after_save(${0:model_class_name}) + expire_cache($2) + end + + def after_destroy($2) + expire_cache($2) + end + + def expire_cache($2) + expire_page + end + end +snippet va validates_associated + validates_associated :${0:attribute} +snippet va validates .., :acceptance => true + validates :${0:terms}, :acceptance => true +snippet vc + validates :${0:attribute}, :confirmation => true +snippet ve + validates :${1:attribute}, :exclusion => { :in => ${0:%w( mov avi )} } +snippet vf + validates :${1:attribute}, :format => { :with => /${0:regex}/ } +snippet vi + validates :${1:attribute}, :inclusion => { :in => %w(${0: mov avi }) } +snippet vl + validates :${1:attribute}, :length => { :in => ${2:3}..${0:20} } +snippet vn + validates :${0:attribute}, :numericality => true +snippet vp + validates :${0:attribute}, :presence => true +snippet vu + validates :${0:attribute}, :uniqueness => true +snippet format + format.${1:js|xml|html} { ${0} } +snippet wc + where(${1:"conditions"}${0:, bind_var}) +snippet wf + where(${1:field} => ${0:value}) +snippet xdelete + xhr :delete, :${1:destroy}, :id => ${2:1} +snippet xget + xhr :get, :${1:show}, :id => ${2:1} +snippet xpost + xhr :post, :${1:create}, :${2:object} => { ${0} } +snippet xput + xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} } +snippet test + test "should ${1:do something}" do + ${0} + end +########################### +# migrations snippets # +########################### +snippet mac + add_column :${1:table_name}, :${2:column_name}, :${0:data_type} +snippet mai + add_index :${1:table_name}, :${0:column_name} +snippet mrc + remove_column :${1:table_name}, :${0:column_name} +snippet mrnc + rename_column :${1:table_name}, :${2:old_column_name}, :${0:new_column_name} +snippet mcc + change_column :${1:table}, :${2:column}, :${0:type} +snippet mnc + t.${1:string} :${2:title}${3:, null: false} +snippet mct + create_table :${1:table_name} do |t| + ${0} + end +snippet migration class .. < ActiveRecord::Migration .. def up .. def down .. end + class ${1:class_name} < ActiveRecord::Migration + def up + ${0} + end + + def down + end + end +snippet migration class .. < ActiveRecord::Migration .. def change .. end + class ${1:class_name} < ActiveRecord::Migration + def change + ${0} + end + end +snippet trc + t.remove :${0:column} +snippet tre + t.rename :${1:old_column_name}, :${2:new_column_name} + ${0} +snippet tref + t.references :${0:model} +snippet tcb + t.boolean :${1:title} + ${0} +snippet tcbi + t.binary :${1:title}, :limit => ${2:2}.megabytes + ${0} +snippet tcd + t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2} + ${0} +snippet tcda + t.date :${1:title} + ${0} +snippet tcdt + t.datetime :${1:title} + ${0} +snippet tcf + t.float :${1:title} + ${0} +snippet tch + t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80} + ${0} +snippet tci + t.integer :${1:title} + ${0} +snippet tcl + t.integer :lock_version, :null => false, :default => 0 + ${0} +snippet tcr + t.references :${1:taggable}, :polymorphic => { :default => '${2:Photo}' } + ${0} +snippet tcs + t.string :${1:title} + ${0} +snippet tct + t.text :${1:title} + ${0} +snippet tcti + t.time :${1:title} + ${0} +snippet tcts + t.timestamp :${1:title} + ${0} +snippet tctss + t.timestamps + ${0} +########################## +# Rspec snippets # +########################## +snippet desc + describe ${1:`substitute(substitute(vim_snippets#Filename(), '_spec$', '', ''), '\(_\|^\)\(.\)', '\u\2', 'g')`} do + ${0} + end +snippet descm + describe "${1:#method}" do + ${0:pending "Not implemented"} + end +snippet cont + context "${1:message}" do + ${0} + end +snippet bef + before :${1:each} do + ${0} + end +snippet aft + after :${1:each} do + ${0} + end +snippet let + let(:${1:object}) { ${0} } +snippet let! + let!(:${1:object}) { ${0} } +snippet subj + subject { ${0} } +snippet s. + subject.${0:method} +snippet spec + specify { subject.${0} } +snippet exp + expect(${1:object}).to ${0} +snippet expb + expect { ${1:object} }.to ${0} +snippet experr + expect { ${1:object} }.to raise_error ${2:StandardError}, /${0:message_regex}/ +snippet shared + shared_examples ${0:"shared examples name"} +snippet ibl + it_behaves_like ${0:"shared examples name"} +snippet it + it "${1:spec_name}" do + ${0} + end +snippet its + its(:${1:method}) { should ${0} } +snippet is + it { should ${0} } +snippet isn + it { should_not ${0} } +#ShouldaMatchers#ActionController +snippet isfp + it { should filter_param :${0:key} } +snippet isrt + it { should redirect_to ${0:url} } +snippet isrtp + it { should render_template ${0} } +snippet isrwl + it { should render_with_layout ${0} } +snippet isrf + it { should rescue_from ${0:exception} } +snippet isrw + it { should respond_with ${0:status} } +snippet isr + it { should route(:${1:method}, '${0:path}') } +snippet isss + it { should set_session :${0:key} } +snippet issf + it { should set_the_flash('${0}') } +#ShouldaMatchers#ActiveModel +snippet isama + it { should allow_mass_assignment_of :${0} } +snippet isav + it { should allow_value(${1}).for :${0} } +snippet isee + it { should ensure_exclusion_of :${0} } +snippet isei + it { should ensure_inclusion_of :${0} } +snippet isel + it { should ensure_length_of :${0} } +snippet isva + it { should validate_acceptance_of :${0} } +snippet isvc + it { should validate_confirmation_of :${0} } +snippet isvn + it { should validate_numericality_of :${0} } +snippet isvp + it { should validate_presence_of :${0} } +snippet isvu + it { should validate_uniqueness_of :${0} } +#ShouldaMatchers#ActiveRecord +snippet isana + it { should accept_nested_attributes_for :${0} } +snippet isbt + it { should belong_to :${0} } +snippet isbtcc + it { should belong_to(:${1}).counter_cache ${0:true} } +snippet ishbtm + it { should have_and_belong_to_many :${0} } +snippet isbv + it { should be_valid } +snippet ishc + it { should have_db_column :${0} } +snippet ishi + it { should have_db_index :${0} } +snippet ishm + it { should have_many :${0} } +snippet ishmt + it { should have_many(:${1}).through :${0} } +snippet isho + it { should have_one :${0} } +snippet ishro + it { should have_readonly_attribute :${0} } +snippet iss + it { should serialize :${0} } +snippet isres + it { should respond_to :${0} } +snippet isresw + it { should respond_to(:${1}).with(${0}).arguments } +snippet super_call + ${1:super_class}.instance_method(:${0:method}).bind(self).call diff --git a/snippets/ruby.snippets b/snippets/ruby.snippets index 5d9c01e..fac1a05 100644 --- a/snippets/ruby.snippets +++ b/snippets/ruby.snippets @@ -1,7 +1,3 @@ -######################################## -# Ruby snippets - for Rails, see below # -######################################## - # encoding for Ruby 1.9 snippet enc # encoding: utf-8 @@ -595,538 +591,3 @@ snippet pry require 'pry'; binding.pry snippet strf strftime("${1:%Y-%m-%d %H:%M:%S %z}")${0} -############################################# -# 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}, ${0:@$2}) -snippet artnpp - assert_redirected_to ${1:parent}_${2:child}_path(${0:@$1}) -snippet artp - assert_redirected_to ${1:model}_path(${0:@$1}) -snippet artpp - assert_redirected_to ${0:model}s_path -snippet asd - assert_difference "${1:Model}.${2:count}", ${3:1} do - ${0} - end -snippet asnd - assert_no_difference "${1:Model}.${2:count}" do - ${0} - end -snippet asre - assert_response :${1:success}, @response.body -snippet asrj - assert_rjs :${1:replace}, "${0:dom id}" -snippet ass assert_select(..) - assert_select '${1:path}', :${2:text} => '${3:inner_html' ${4:do} -snippet ba - before_action :${0:method} -snippet bf - before_filter :${0:method} -snippet bt - belongs_to :${0:association} -snippet btp - belongs_to :${1:association}, :polymorphic => true -snippet crw - cattr_accessor :${0:attr_names} -snippet defcreate - def create - @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1]) - - respond_to do |format| - if @$1.save - flash[:notice] = '$2 was successfully created.' - format.html { redirect_to(@$1) } - format.xml { render :xml => @$1, :status => :created, :location => @$1 } - else - format.html { render :action => "new" } - format.xml { render :xml => @$1.errors, :status => :unprocessable_entity } - end - end - end -snippet defdestroy - def destroy - @${1:model_class_name} = ${2:ModelClassName}.find(params[:id]) - @$1.destroy - - respond_to do |format| - format.html { redirect_to($1s_url) } - format.xml { head :ok } - end - end -snippet defedit - def edit - @${1:model_class_name} = ${0:ModelClassName}.find(params[:id]) - end -snippet defindex - def index - @${1:model_class_name} = ${2:ModelClassName}.all - - respond_to do |format| - format.html # index.html.erb - format.xml { render :xml => @$1s } - end - end -snippet defnew - def new - @${1:model_class_name} = ${2:ModelClassName}.new - - respond_to do |format| - format.html # new.html.erb - format.xml { render :xml => @$1 } - end - end -snippet defshow - def show - @${1:model_class_name} = ${2:ModelClassName}.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.xml { render :xml => @$1 } - end - end -snippet defupdate - def update - @${1:model_class_name} = ${2:ModelClassName}.find(params[:id]) - - respond_to do |format| - if @$1.update_attributes(params[:$1]) - flash[:notice] = '$2 was successfully updated.' - format.html { redirect_to(@$1) } - format.xml { head :ok } - else - format.html { render :action => "edit" } - format.xml { render :xml => @$1.errors, :status => :unprocessable_entity } - end - end - end -snippet dele delegate .. to - delegate :${1:methods}, :to => :${0:object} -snippet dele delegate .. to .. prefix .. allow_nil - delegate :${1:methods}, :to => :${2:object}, :prefix => :${3:prefix}, :allow_nil => ${0:allow_nil} -snippet flash - flash[:${1:notice}] = "${0}" -snippet habtm - has_and_belongs_to_many :${1:object}, :join_table => "${2:table_name}", :foreign_key => "${3}_id" -snippet hm - has_many :${0:object} -snippet hmd - has_many :${1:other}s, :class_name => "${2:$1}", :foreign_key => "${3:$1}_id", :dependent => :destroy -snippet hmt - has_many :${1:object}, :through => :${0:object} -snippet ho - has_one :${0:object} -snippet hod - has_one :${1:object}, dependent: :${0:destroy} -snippet i18 - I18n.t('${1:type.key}') -snippet ist - <%= image_submit_tag("${1:agree.png}", :id => "${2:id}"${0} %> -snippet log - Rails.logger.${1:debug} ${0} -snippet log2 - RAILS_DEFAULT_LOGGER.${1:debug} ${0} -snippet logd - logger.debug { "${1:message}" } -snippet loge - logger.error { "${1:message}" } -snippet logf - logger.fatal { "${1:message}" } -snippet logi - logger.info { "${1:message}" } -snippet logw - logger.warn { "${1:message}" } -snippet mapc - ${1:map}.${2:connect} '${0:controller/:action/:id}' -snippet mapca - ${1:map}.catch_all "*${2:anything}", :controller => "${3:default}", :action => "${4:error}" -snippet mapr - ${1:map}.resource :${0:resource} -snippet maprs - ${1:map}.resources :${0:resource} -snippet mapwo - ${1:map}.with_options :${2:controller} => '${3:thing}' do |$3| - ${0} - end - -############################### -# model callback snippets # -############################### - -# before callback -snippet mbv - before_validation :${0:method} -snippet mbc - before_create :${0:method} -snippet mbu - before_update :${0:method} -snippet mbs - before_save :${0:method} -snippet mbd - before_destroy :${0:method} - -# after callback -snippet mav - after_validation :${0:method} -snippet maf - after_find :${0:method} -snippet mat - after_touch :${0:method} -snippet macr - after_create :${0:method} -snippet mau - after_update :${0:method} -snippet mas - after_save :${0:method} -snippet mad - after_destroy :${0:method} - -# around callback -snippet marc - around_create :${0:method} -snippet maru - around_update :${0:method} -snippet mars - around_save :${0:method} -snippet mard - around_destroy :${0:method} - -snippet mcht - change_table :${1:table_name} do |t| - ${0} - end -snippet mp - map(&:${0:id}) -snippet mrw - mattr_accessor :${0:attr_names} -snippet oa - order("${0:field}") -snippet od - order("${0:field} DESC") -snippet pa - params[:${1:id}] -snippet ra - render :action => "${0:action}" -snippet ral - render :action => "${1:action}", :layout => "${0:layoutname}" -snippet rest - respond_to do |format| - format.${1:html} { ${0} } - end -snippet rf - render :file => "${0:filepath}" -snippet rfu - render :file => "${1:filepath}", :use_full_path => ${0:false} -snippet ri - render :inline => "${0:<%= 'hello' %>}" -snippet ril - render :inline => "${1:<%= 'hello' %>}", :locals => { ${2::name} => "${3:value}"${0} } -snippet rit - render :inline => "${1:<%= 'hello' %>}", :type => ${0::rxml} -snippet rjson - render :json => ${0:text to render} -snippet rl - render :layout => "${0:layoutname}" -snippet rn - render :nothing => ${0:true} -snippet rns - render :nothing => ${1:true}, :status => ${0:401} -snippet rp - render :partial => "${0:item}" -snippet rpc - render :partial => "${1:item}", :collection => ${0:@$1s} -snippet rpl - render :partial => "${1:item}", :locals => { :${2:$1} => ${0:@$1} -snippet rpo - render :partial => "${1:item}", :object => ${0:@$1} -snippet rps - render :partial => "${1:item}", :status => ${0:500} -snippet rt - render :text => "${0:text to render}" -snippet rtl - render :text => "${1:text to render}", :layout => "${0:layoutname}" -snippet rtlt - render :text => "${1:text to render}", :layout => ${0:true} -snippet rts - render :text => "${1:text to render}", :status => ${0:401} -snippet ru - render :update do |${1:page}| - $1.${0} - end -snippet rxml - render :xml => ${0:text to render} -snippet sc - scope :${1:name}, -> { where(${2:field}: ${0:value}) } -snippet sl - scope :${1:name}, lambda do |${2:value}| - where("${3:field = ?}", ${0:bind var}) - end -snippet sha1 - Digest::SHA1.hexdigest(${0:string}) -snippet sweeper - class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper - observe $1 - - def after_save(${0:model_class_name}) - expire_cache($2) - end - - def after_destroy($2) - expire_cache($2) - end - - def expire_cache($2) - expire_page - end - end -snippet va validates_associated - validates_associated :${0:attribute} -snippet va validates .., :acceptance => true - validates :${0:terms}, :acceptance => true -snippet vc - validates :${0:attribute}, :confirmation => true -snippet ve - validates :${1:attribute}, :exclusion => { :in => ${0:%w( mov avi )} } -snippet vf - validates :${1:attribute}, :format => { :with => /${0:regex}/ } -snippet vi - validates :${1:attribute}, :inclusion => { :in => %w(${0: mov avi }) } -snippet vl - validates :${1:attribute}, :length => { :in => ${2:3}..${0:20} } -snippet vn - validates :${0:attribute}, :numericality => true -snippet vp - validates :${0:attribute}, :presence => true -snippet vu - validates :${0:attribute}, :uniqueness => true -snippet format - format.${1:js|xml|html} { ${0} } -snippet wc - where(${1:"conditions"}${0:, bind_var}) -snippet wf - where(${1:field} => ${0:value}) -snippet xdelete - xhr :delete, :${1:destroy}, :id => ${2:1} -snippet xget - xhr :get, :${1:show}, :id => ${2:1} -snippet xpost - xhr :post, :${1:create}, :${2:object} => { ${0} } -snippet xput - xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} } -snippet test - test "should ${1:do something}" do - ${0} - end -########################### -# migrations snippets # -########################### -snippet mac - add_column :${1:table_name}, :${2:column_name}, :${0:data_type} -snippet mai - add_index :${1:table_name}, :${0:column_name} -snippet mrc - remove_column :${1:table_name}, :${0:column_name} -snippet mrnc - rename_column :${1:table_name}, :${2:old_column_name}, :${0:new_column_name} -snippet mcc - change_column :${1:table}, :${2:column}, :${0:type} -snippet mnc - t.${1:string} :${2:title}${3:, null: false} -snippet mct - create_table :${1:table_name} do |t| - ${0} - end -snippet migration class .. < ActiveRecord::Migration .. def up .. def down .. end - class ${1:class_name} < ActiveRecord::Migration - def up - ${0} - end - - def down - end - end -snippet migration class .. < ActiveRecord::Migration .. def change .. end - class ${1:class_name} < ActiveRecord::Migration - def change - ${0} - end - end -snippet trc - t.remove :${0:column} -snippet tre - t.rename :${1:old_column_name}, :${2:new_column_name} - ${0} -snippet tref - t.references :${0:model} -snippet tcb - t.boolean :${1:title} - ${0} -snippet tcbi - t.binary :${1:title}, :limit => ${2:2}.megabytes - ${0} -snippet tcd - t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2} - ${0} -snippet tcda - t.date :${1:title} - ${0} -snippet tcdt - t.datetime :${1:title} - ${0} -snippet tcf - t.float :${1:title} - ${0} -snippet tch - t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80} - ${0} -snippet tci - t.integer :${1:title} - ${0} -snippet tcl - t.integer :lock_version, :null => false, :default => 0 - ${0} -snippet tcr - t.references :${1:taggable}, :polymorphic => { :default => '${2:Photo}' } - ${0} -snippet tcs - t.string :${1:title} - ${0} -snippet tct - t.text :${1:title} - ${0} -snippet tcti - t.time :${1:title} - ${0} -snippet tcts - t.timestamp :${1:title} - ${0} -snippet tctss - t.timestamps - ${0} -########################## -# Rspec snippets # -########################## -snippet desc - describe ${1:`substitute(substitute(vim_snippets#Filename(), '_spec$', '', ''), '\(_\|^\)\(.\)', '\u\2', 'g')`} do - ${0} - end -snippet descm - describe "${1:#method}" do - ${0:pending "Not implemented"} - end -snippet cont - context "${1:message}" do - ${0} - end -snippet bef - before :${1:each} do - ${0} - end -snippet aft - after :${1:each} do - ${0} - end -snippet let - let(:${1:object}) { ${0} } -snippet let! - let!(:${1:object}) { ${0} } -snippet subj - subject { ${0} } -snippet s. - subject.${0:method} -snippet spec - specify { subject.${0} } -snippet exp - expect(${1:object}).to ${0} -snippet expb - expect { ${1:object} }.to ${0} -snippet experr - expect { ${1:object} }.to raise_error ${2:StandardError}, /${0:message_regex}/ -snippet shared - shared_examples ${0:"shared examples name"} -snippet ibl - it_behaves_like ${0:"shared examples name"} -snippet it - it "${1:spec_name}" do - ${0} - end -snippet its - its(:${1:method}) { should ${0} } -snippet is - it { should ${0} } -snippet isn - it { should_not ${0} } -#ShouldaMatchers#ActionController -snippet isfp - it { should filter_param :${0:key} } -snippet isrt - it { should redirect_to ${0:url} } -snippet isrtp - it { should render_template ${0} } -snippet isrwl - it { should render_with_layout ${0} } -snippet isrf - it { should rescue_from ${0:exception} } -snippet isrw - it { should respond_with ${0:status} } -snippet isr - it { should route(:${1:method}, '${0:path}') } -snippet isss - it { should set_session :${0:key} } -snippet issf - it { should set_the_flash('${0}') } -#ShouldaMatchers#ActiveModel -snippet isama - it { should allow_mass_assignment_of :${0} } -snippet isav - it { should allow_value(${1}).for :${0} } -snippet isee - it { should ensure_exclusion_of :${0} } -snippet isei - it { should ensure_inclusion_of :${0} } -snippet isel - it { should ensure_length_of :${0} } -snippet isva - it { should validate_acceptance_of :${0} } -snippet isvc - it { should validate_confirmation_of :${0} } -snippet isvn - it { should validate_numericality_of :${0} } -snippet isvp - it { should validate_presence_of :${0} } -snippet isvu - it { should validate_uniqueness_of :${0} } -#ShouldaMatchers#ActiveRecord -snippet isana - it { should accept_nested_attributes_for :${0} } -snippet isbt - it { should belong_to :${0} } -snippet isbtcc - it { should belong_to(:${1}).counter_cache ${0:true} } -snippet ishbtm - it { should have_and_belong_to_many :${0} } -snippet isbv - it { should be_valid } -snippet ishc - it { should have_db_column :${0} } -snippet ishi - it { should have_db_index :${0} } -snippet ishm - it { should have_many :${0} } -snippet ishmt - it { should have_many(:${1}).through :${0} } -snippet isho - it { should have_one :${0} } -snippet ishro - it { should have_readonly_attribute :${0} } -snippet iss - it { should serialize :${0} } -snippet isres - it { should respond_to :${0} } -snippet isresw - it { should respond_to(:${1}).with(${0}).arguments } -snippet super_call - ${1:super_class}.instance_method(:${0:method}).bind(self).call