533 lines
13 KiB
Plaintext
533 lines
13 KiB
Plaintext
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
|