# Encoding: UTF-8

[{content: "\\$LABEL",
  name: "$LABEL",
  scope: "source.yaml",
  tabTrigger: "$L",
  uuid: "786980D8-FA69-4542-85A3-5E48CFAA6814"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}Fixtures.identify(:${1:name})${TM_RAILS_TEMPLATE_END_RUBY_EXPR}$0",
  name: "<%= Fixtures.identify(:symbol) %>",
  scope: "source.yaml",
  tabTrigger: "fi",
  uuid: "9671EB7A-89D6-4C23-914F-88CBEE0D177A"},
 {content: "t.column ${1:title}, :${2:string}\n$0",
  name: "Create Column in Table",
  scope: "meta.rails.migration.create_table",
  tabTrigger: "mcol",
  uuid: "7592CA99-75D7-48B6-9133-00B9F148FF43"},
 {content: "t.column ${1:title}, :${2:string}\nmccc$0",
  name: "Create Several Columns in Table",
  scope: "meta.rails.migration.create_table",
  tabTrigger: "mccc",
  uuid: "67FD2F8F-5F25-45F2-A451-2F39977A9EDE"},
 {content: 
   "class ${1:Model}Controller < ApplicationController\n\tbefore_filter :find_${2:model}\n\n\t$0\n\n\tprivate\n\tdef find_${2}\n\t\t@$2 = ${3:$1}.find(params[:id]) if params[:id]\n\tend\nend",
  name: "Create controller class",
  scope: "source.ruby",
  tabTrigger: "cla",
  uuid: "4B3F798E-E3B6-48C8-8C2F-CB8631011638"},
 {content: 
   "require File.dirname(__FILE__) + '/../test_helper'\n\nclass ${1:Model}ControllerTest < ActionController::TestCase\n\tdeft$0\nend\n",
  name: "Create functional test class",
  scope: "source.ruby",
  tabTrigger: "cla",
  uuid: "F60D0630-CBF5-4283-9D20-FA46C787A88D"},
 {content: 
   "drop_table :${1:table}${2: [press tab twice to generate create_table]}",
  name: "Drop / Create Table",
  scope: 
   "meta.rails.migration - meta.rails.migration.create_table - meta.rails.migration.change_table",
  tabTrigger: "mtab",
  uuid: "20375601-B13F-4314-B8E4-362706566636"},
 {content: "RAILS_DEFAULT_LOGGER.debug \"${1:message}\"$0",
  name: "RAILS_DEFAULT_LOGGER.debug",
  scope: "source.ruby.rails",
  tabTrigger: "rdb",
  uuid: "7B15B396-1F41-4529-9253-32761E94448C"},
 {content: 
   "remove_column :${1:table}, :${2:column}${3: [press tab twice to generate add_column]}",
  name: "Remove / Add Column",
  scope: 
   "meta.rails.migration - meta.rails.migration.create_table - meta.rails.migration.change_table",
  tabTrigger: "mcol",
  uuid: "16A705EB-10DC-42B5-9FF2-377E206421DC"},
 {content: "t.binary :${1:title}${2:, :limit => ${3:2}.megabytes}\n$0",
  name: "Table column binary",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcbi",
  uuid: "5E9B8B0E-D532-11DC-BD8E-00112475D960"},
 {content: "t.boolean :${1:title}\n$0",
  name: "Table column boolean",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcb",
  uuid: "967093B4-D532-11DC-BD8E-00112475D960"},
 {content: "t.date :${1:title}\n$0",
  name: "Table column date",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcda",
  uuid: "56276686-D532-11DC-BD8E-00112475D960"},
 {content: "t.datetime :${1:title}\n$0",
  name: "Table column datetime",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcdt",
  uuid: "D6CBCA96-D52F-11DC-BD8E-00112475D960"},
 {content: 
   "t.decimal :${1:title}${2:${3:, :precision => ${4:10}}${5:, :scale => ${6:2}}}\n$0",
  name: "Table column decimal",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcd",
  uuid: "93A16768-D52E-11DC-BD8E-00112475D960"},
 {content: "t.float :${1:title}\n$0",
  name: "Table column float",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcf",
  uuid: "8AF989C4-D52E-11DC-BD8E-00112475D960"},
 {content: "t.integer :${1:title}\n$0",
  name: "Table column integer",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tci",
  uuid: "729D559E-D52D-11DC-BD8E-00112475D960"},
 {content: "t.integer :lock_version, :null => false, :default => 0\n$0",
  name: "Table column lock_version",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcl",
  uuid: "FC2523C1-D532-11DC-BD8E-00112475D960"},
 {content: "t.string :${1:title}\n$0",
  name: "Table column string",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcs",
  uuid: "377BF814-D52D-11DC-BD8E-00112475D960"},
 {content: "t.text :${1:title}\n$0",
  name: "Table column text",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tct",
  uuid: "6A9D4C30-D52D-11DC-BD8E-00112475D960"},
 {content: "t.time :${1:title}\n$0",
  name: "Table column time",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcti",
  uuid: "4F5DDD37-D532-11DC-BD8E-00112475D960"},
 {content: "t.timestamp :${1:title}\n$0",
  name: "Table column timestamp",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcts",
  uuid: "4600CE20-D532-11DC-BD8E-00112475D960"},
 {content: "t.timestamps\n$0",
  name: "Table column timestamps",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tctss",
  uuid: "E0C8FDC4-D532-11DC-BD8E-00112475D960"},
 {content: 
   "t.references :${1:taggable}${2:, :polymorphic => ${3:{ :default => '${4:Photo}' \\}}}\n$0",
  name: "Table column(s) references",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tcr",
  uuid: "EDA6568B-D533-11DC-BD8E-00112475D960"},
 {content: "t.rename(:${1:old_column_name}, :${2:new_column_name})\n$0",
  name: "Table column(s) rename",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "tre",
  uuid: "DF30226E-1111-448A-B669-7CA34EE83909"},
 {content: "after_create ",
  name: "after_create",
  scope: "source.ruby.rails",
  tabTrigger: "aftc",
  uuid: "279D1981-B055-4693-B9AF-5B571A62A6AE"},
 {content: "after_destroy ",
  name: "after_destroy",
  scope: "source.ruby.rails",
  tabTrigger: "aftd",
  uuid: "A2F3E8C1-4216-4890-8491-2F8C7534ED03"},
 {content: "after_save ",
  name: "after_save",
  scope: "source.ruby.rails",
  tabTrigger: "afts",
  uuid: "4D1787E3-1583-4CF3-8D99-CC45D7C35EED"},
 {content: "after_update ",
  name: "after_update",
  scope: "source.ruby.rails",
  tabTrigger: "aftu",
  uuid: "0C9EA1A1-66C5-4E1C-9C30-E1FFE8EC6EAE"},
 {content: "after_validation ",
  name: "after_validation",
  scope: "source.ruby.rails",
  tabTrigger: "aftv",
  uuid: "44FBD811-70A9-462B-AC56-F975ADAD62AF"},
 {content: "after_validation_on_create ",
  name: "after_validation_on_create",
  scope: "source.ruby.rails",
  tabTrigger: "aftvoc",
  uuid: "BA0DE6C7-EAD3-42C9-8ABB-2B9A5F2FE225"},
 {content: "after_validation_on_update ",
  name: "after_validation_on_update",
  scope: "source.ruby.rails",
  tabTrigger: "aftvou",
  uuid: "BCB25D36-2D3F-41E9-B2CF-37D6E883E8D1"},
 {content: "assert(${1:var} = assigns(:${1}), \"Cannot find @${1}\")\n$0",
  name: "assert(var = assigns(:var))",
  scope: "source.ruby",
  tabTrigger: "asg",
  uuid: "FE9C4B4E-860D-49F0-AAF7-5582B98F5F54"},
 {content: "assert_difference \"${1:Model}.${2:count}\", ${3:1} do\n  $0\nend",
  name: "assert_difference",
  scope: "source.ruby",
  tabTrigger: "asd",
  uuid: "30BEA6FB-301C-4460-93EC-FA3404688962"},
 {content: "assert_no_difference \"${1:Model}.${2:count}\" do\n  $0\nend",
  name: "assert_no_difference",
  scope: "source.ruby",
  tabTrigger: "asnd",
  uuid: "5C6F4462-70E6-40B4-B3F2-F371656E7784"},
 {content: "assert_redirected_to ${2::action => \"${1:index}\"}",
  name: "assert_redirected_to",
  scope: "source.ruby.rails",
  tabTrigger: "art",
  uuid: "CD60F800-850D-47CF-BE32-3DE665DD5C68"},
 {content: 
   "assert_redirected_to ${10:${2:parent}_${3:child}_path(${4:@}${5:${2}})}",
  name: "assert_redirected_to (nested path plural)",
  scope: "source.ruby.rails",
  tabTrigger: "artnpp",
  uuid: "4C92C020-7337-4D6E-91EE-7ABF2BFC7F41"},
 {content: 
   "assert_redirected_to ${2:${12:parent}_${13:child}_path(${14:@}${15:${12}}, ${16:@}${17:${13}})}",
  name: "assert_redirected_to (nested path)",
  scope: "source.ruby.rails",
  tabTrigger: "artnp",
  uuid: "97021C0D-EB65-4046-B688-01F09B3B1615"},
 {content: "assert_redirected_to ${10:${2:model}s_path}",
  name: "assert_redirected_to (path plural)",
  scope: "source.ruby.rails",
  tabTrigger: "artpp",
  uuid: "0249637E-0720-46DA-A8FD-E176A2CC458B"},
 {content: "assert_redirected_to ${2:${12:model}_path(${13:@}${14:${12}})}",
  name: "assert_redirected_to (path)",
  scope: "source.ruby.rails",
  tabTrigger: "artp",
  uuid: "D33EDCE7-F8AF-48D4-AA7A-852BBF03E31D"},
 {content: "assert_response :${1:success}, @response.body$0",
  name: "assert_response",
  scope: "source.ruby.rails",
  tabTrigger: "asre",
  uuid: "2BD82DCB-1F19-4C8F-BC70-C0BBB06A2138"},
 {content: "assert_rjs :${1:replace}, ${2:\"${3:dom id}\"}",
  name: "assert_rjs",
  scope: "source.ruby.rails",
  tabTrigger: "asrj",
  uuid: "E0F281EC-5311-41F8-ADD9-2E2D059DA651"},
 {content: 
   "assert_select '${1:path}'${2:, :${3:text} => ${4:'${5:inner_html}'}}${6: do\n\t$0\nend}",
  name: "assert_select",
  scope: "source.ruby.rails",
  tabTrigger: "ass",
  uuid: "DBE14FE8-B415-4DBC-A316-F8DA63FE9FD7"},
 {content: "before_create ",
  name: "before_create",
  scope: "source.ruby.rails",
  tabTrigger: "befc",
  uuid: "D64D8863-DCB6-4397-B5B0-073E0AE04167"},
 {content: "before_destroy ",
  name: "before_destroy",
  scope: "source.ruby.rails",
  tabTrigger: "befd",
  uuid: "3F4B502B-5F68-4687-88E9-6EF3BDF9677D"},
 {content: "before_save ",
  name: "before_save",
  scope: "source.ruby.rails",
  tabTrigger: "befs",
  uuid: "523BE8A6-0845-493D-A9B6-532F73D21950"},
 {content: "before_update ",
  name: "before_update",
  scope: "source.ruby.rails",
  tabTrigger: "befu",
  uuid: "1C20EEBE-B4BA-48C8-9B33-7B5BB00D958C"},
 {content: "before_validation ",
  name: "before_validation",
  scope: "source.ruby.rails",
  tabTrigger: "befv",
  uuid: "A1776279-5396-4FE9-9218-8BF2C88C5271"},
 {content: "before_validation_on_create ",
  name: "before_validation_on_create",
  scope: "source.ruby.rails",
  tabTrigger: "befvoc",
  uuid: "E2CE2E3B-8A61-4866-9AF5-A12F44CF7233"},
 {content: "before_validation_on_update",
  name: "before_validation_on_update",
  scope: "source.ruby.rails",
  tabTrigger: "befvou",
  uuid: "86CFB156-E72B-440F-9C7D-08A3375C3ADB"},
 {content: 
   "belongs_to :${1:object}${2:, :class_name => \"${3:${1/[[:alpha:]]+|(_)/(?1::\\u$0)/g}}\", :foreign_key => \"${4:${1}_id}\"}",
  name: "belongs_to",
  scope: "source.ruby.rails",
  tabTrigger: "bt",
  uuid: "B8F08BD7-6160-482C-8A3D-CBC6BD2079A4"},
 {content: "cattr_accessor :${0:attr_names}",
  name: "cattr_accessor",
  scope: "source.ruby.rails",
  tabTrigger: "crw",
  uuid: "F57522B2-9F5F-4DF9-AE46-9478AF019C63"},
 {content: 
   "def create\n\t@${1:model} = ${2:${1/[[:alpha:]]+|(_)/(?1::\\u$0)/g}}.new(params[:$1])\n\t$0\n\trespond_to do |wants|\n\t\tif @$1.save\n\t\t\tflash[:notice] = '$2 was successfully created.'\n\t\t\twants.html { redirect_to(@$1) }\n\t\t\twants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n\t\telse\n\t\t\twants.html { render :action => \"new\" }\n\t\t\twants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\t\tend\n\tend\nend\n",
  name: "def create - resource",
  scope: "meta.rails.controller",
  tabTrigger: "defcreate",
  uuid: "54F61419-001F-4B71-83AC-8DC633694AF0"},
 {content: 
   "def test_should_get_${1:action}\n\t${2:@${3:model} = ${4:$3s}(:${5:fixture_name})\n\t}get :${1}${6:, :id => @$3.to_param}\n\tassert_response :success\n\t$0\nend",
  name: "def test_should_get_action",
  scope: "meta.rails.functional_test",
  tabTrigger: "deftg",
  uuid: "1C491A76-751F-44EF-8DFB-0A585C7EEFF6"},
 {content: 
   "def test_should_post_${1:action}\n\t${3:@$2 = ${4:$2s}(:${5:fixture_name})\n\t}post :${1}${6:, :id => @$2.to_param}, :${2:model} => { $0 }\n\tassert_response :redirect\n\nend",
  name: "def test_should_post_action",
  scope: "meta.rails.functional_test",
  tabTrigger: "deftp",
  uuid: "8B9CD068-4338-4039-AA06-D839A6C7A9FF"},
 {content: "<% end -%>",
  name: "end (ERB)",
  scope: "text.html.ruby",
  tabTrigger: "end",
  uuid: "AC385ABF-96CD-4FCB-80AD-BF37D6EE79D2"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.check_box :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.check_box (ffcb)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "F579F9E7-E072-4BCC-BFF9-C8C5BAE7FFA5"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.file_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.file_field (ffff)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "79BC2303-3D9D-4E21-AF85-73B388B7B56D"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.hidden_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.hidden_field (ffhf)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "5DBA8F72-DD6C-4CBF-83FD-76301E159BA9"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.label :${1:attribute}${2:, \"${3:${1/[[:alpha:]]+|(_)/(?1: :\\u$0)/g}}\"}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.label (ffl)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "402C251E-595B-4A58-8EB9-41989040F280"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.password_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.password_field (ffpf)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "42289456-C8D1-498C-AE30-5206544B349F"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.radio_box :${1:attribute}, :${2:tag_value}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.radio_box (ffrb)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "A95358D2-C68A-4894-8C36-062C9F45848A"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.submit \"${1:Submit}\"${2:, :disable_with => '${3:$1ing...}'}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.submit (ffs)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "C315EC5D-A7F3-49CB-9795-21B78BB42FF4"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.text_area :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.text_area (ffta)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "06498926-F84D-466C-8736-B8A0AC586A94"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.text_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "f.text_field (fftf)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "f.",
  uuid: "CC1BCD1C-2479-4335-B511-17B880316A75"},
 {content: 
   "find(:all${1:, :conditions => ['${2:${3:field} = ?}', ${5:true}]})",
  name: "find(:all)",
  scope: "source.ruby.rails",
  tabTrigger: "fina",
  uuid: "A017AB39-A875-40DC-8ACF-7E3551057CA0"},
 {content: 
   "find(:first${1:, :conditions => ['${2:${3:field} = ?}', ${5:true}]})",
  name: "find(:first)",
  scope: "source.ruby.rails",
  tabTrigger: "finf",
  uuid: "FE430ECD-5D40-4D95-A73B-F064C73992DE"},
 {content: "find(${1:id})",
  name: "find(id)",
  scope: "source.ruby.rails",
  tabTrigger: "fini",
  uuid: "59CD3A41-8164-4FB4-B462-D7ACE86BCDBF"},
 {content: "flash[:${1:notice}] = \"${2:Successfully created...}\"$0",
  name: "flash[…]",
  scope: "source.ruby.rails",
  tabTrigger: "flash",
  uuid: "D864896E-8763-11D9-897C-000393CBCE2E"},
 {content: 
   "<% if !${1:list}.blank? %>\n  <% for ${2:item} in ${1} %>\n    $3\n  <% end %>\n<% else %>\n  $4\n<% end %>\n",
  name: "for loop in rhtml",
  scope: "text.html.ruby",
  tabTrigger: "for",
  uuid: "F7744F07-306C-4951-AB5A-3D69BA5516B7"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_INLINE}form_for @${1:model} do |f|${TM_RAILS_TEMPLATE_END_RUBY_INLINE}\n  $0\n${TM_RAILS_TEMPLATE_END_RUBY_BLOCK}",
  name: "form_for",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ff",
  uuid: "7D99041D-C3B7-4940-AE64-6B1758CDB47C"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.check_box :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for check_box",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffcb",
  uuid: "F0DB6886-4FFE-45BA-907F-44326AD8142D"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.file_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for file_field",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffff",
  uuid: "C8BA285D-E12E-4AB8-A941-514C963E8226"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.hidden_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for hidden_field",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffhf",
  uuid: "99FEFD9B-5A07-46E3-950D-5C474E42B695"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.label :${1:attribute}${2:, \"${3:${1/[[:alpha:]]+|(_)/(?1: :\\u$0)/g}}\"}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for label",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffl",
  uuid: "B31822D9-2048-4D16-B2AF-00E0B4E5C368"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.password_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for password_field",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffpf",
  uuid: "3379FB35-C664-4255-96C6-6E4B91F12759"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.radio_box :${1:attribute}, :${2:tag_value}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for radio_box",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffrb",
  uuid: "D4282CE1-4171-4B13-9220-3F2718BC2505"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.submit \"${1:Submit}\"${2:, :disable_with => '${3:$1ing...}'}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for submit",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffs",
  uuid: "3000E569-4E19-4566-B08E-A3FFFAAC9075"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.text_area :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for text_area",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffta",
  uuid: "4C898FA8-D09C-4B28-BE42-14BB4EA4E2B1"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}f.text_field :${1:attribute}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "form_for text_field",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "fftf",
  uuid: "F46EE8EE-239C-46D7-980B-3F861B7D9111"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}error_messages_for :${1:model}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}\n\n${TM_RAILS_TEMPLATE_START_RUBY_INLINE}form_for @${2:$1} do |f|${TM_RAILS_TEMPLATE_END_RUBY_INLINE}\n  $0\n${TM_RAILS_TEMPLATE_END_RUBY_BLOCK}",
  name: "form_for with errors",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ffe",
  uuid: "15BDD7B6-5C15-4684-93C7-A05E3D2221AC"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_INLINE}form_tag(${1::action => \"${5:update}\"}${6:, {:${8:class} => \"${9:form}\"\\}}) do${TM_RAILS_TEMPLATE_END_RUBY_EXPR}\n  $0\n${TM_RAILS_TEMPLATE_END_RUBY_BLOCK}",
  name: "form_tag",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ft",
  uuid: "F0F6DACA-6A0B-11D9-BDC2-000D932CD5BA"},
 {content: 
   "has_and_belongs_to_many :${1:object}${2:, :join_table => \"${3:table_name}\", :foreign_key => \"${4:${1}_id}\"}",
  name: "has_and_belongs_to_many",
  scope: "source.ruby.rails",
  tabTrigger: "habtm",
  uuid: "2AC3AC1F-743B-4A33-863C-C37885073806"},
 {content: 
   "has_many :${1:object}s${2:, :class_name => \"${1}\", :foreign_key => \"${4:reference}_id\"}",
  name: "has_many",
  scope: "source.ruby.rails",
  tabTrigger: "hm",
  uuid: "F396B7BD-8255-48B1-904A-06E7D7CC2741"},
 {content: 
   "has_many :${1:objects}, :through => :${2:join_association}${3:, :source => :${4:${2}_table_foreign_key_to_${1}_table}}",
  name: "has_many (through)",
  scope: "source.ruby.rails",
  tabTrigger: "hmt",
  uuid: "9D58B6C9-BA52-48B3-B639-D5CB894AF810"},
 {content: 
   "has_many :${1:object}s${2:, :class_name => \"${1}\", :foreign_key => \"${4:reference}_id\"}, :dependent => :destroy$0",
  name: "has_many :dependent => :destroy",
  scope: "source.ruby.rails",
  tabTrigger: "hmd",
  uuid: "3E3AF538-171B-4108-AB92-827AD7E24C77"},
 {content: 
   "has_one :${1:object}${2:, :class_name => \"${3:${1/[[:alpha:]]+|(_)/(?1::\\u$0)/g}}\", :foreign_key => \"${4:${1}_id}\"}",
  name: "has_one",
  scope: "source.ruby.rails",
  tabTrigger: "ho",
  uuid: "BD2E4045-54E6-450E-B31B-5E1865CFFBC9"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}image_submit_tag(\"${1:agree.png}\"${2:${3:, :id => \"${4:${1/^(\\w+)(\\.\\w*)?$/$1/}}\"}${5:, :name => \"${6:${1/^(\\w+)(\\.\\w*)?$/$1/}}\"}${7:, :class => \"${8:${1/^(\\w+)(\\.\\w*)?$/$1/}-button}\"}${9:, :disabled => ${10:false}}})${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "image_submit_tag",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "ist",
  uuid: "9FB9848E-EA5A-11DC-9DE5-00112475D960"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}javascript_include_tag ${1::all}${2:, :cache => ${3:true}}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "javascript_include_tag",
  scope: "text.html.ruby",
  tabTrigger: "jit",
  uuid: "FEF49C86-9386-405E-A191-684D1C963E3A"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to \"${1:link text...}\", :action => \"${2:index}\"${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (action)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "lia",
  uuid: "9E2B42FE-7BC8-11D9-906A-000D932CD5BA"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to \"${1:link text...}\", :action => \"${2:edit}\", :id => ${3:@item}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (action, id)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "liai",
  uuid: "B4F952F4-7BC8-11D9-906A-000D932CD5BA"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to \"${1:link text...}\", :controller => \"${2:items}\"${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (controller)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "lic",
  uuid: "74590E16-7BCB-11D9-906A-000D932CD5BA"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to \"${1:link text...}\", :controller => \"${2:items}\", :action => \"${3:index}\"${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (controller, action)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "lica",
  uuid: "C11C0BF5-7BC8-11D9-906A-000D932CD5BA"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to \"${1:link text...}\", :controller => \"${2:items}\", :action => \"${3:edit}\", :id => ${4:@item}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (controller, action, id)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "licai",
  uuid: "D21BE958-7BC8-11D9-906A-000D932CD5BA"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to ${1:\"${2:link text...}\"}, ${3:${10:parent}_${11:child}_path(${12:@}${13:${10}})}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (nested path plural)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "linpp",
  uuid: "866AAD87-E458-4F2D-9E7C-3CE73EFC047B"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to ${1:\"${2:link text...}\"}, ${3:${12:parent}_${13:child}_path(${14:@}${15:${12}}, ${16:@}${17:${13}})}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (nested path)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "linp",
  uuid: "750DEEF9-18A0-40FC-8E54-574CE5EE5565"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to ${1:\"${2:link text...}\"}, ${3:${4:model}s_path}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (path plural)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "lipp",
  uuid: "6BA737F0-63D1-4D82-9381-4331E18B12C5"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to ${1:\"${2:link text...}\"}, ${3:${12:model}_path(${13:@}${14:${12}})}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to (path)",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "lip",
  uuid: "326B57A7-B4A9-447B-A3D2-0EA74158E1E1"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}link_to ${1:model}.${2:name}, ${3:${4:$1}_path(${14:$1})}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "link_to model",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "lim",
  uuid: "E5E08AA0-4EDD-4583-BF07-5D6C49E98410"},
 {content: "logger.debug { \"${1:message}\" }$0",
  name: "logger.debug",
  scope: "source.ruby.rails",
  tabTrigger: "logd",
  uuid: "D975E5C1-42C2-40F1-8960-0DA533B18113"},
 {content: "logger.error { \"${1:message}\" }$0",
  name: "logger.error",
  scope: "source.ruby.rails",
  tabTrigger: "loge",
  uuid: "7053B86A-9B81-4154-AB3C-61B8035C5D33"},
 {content: "logger.fatal { \"${1:message}\" }$0",
  name: "logger.fatal",
  scope: "source.ruby.rails",
  tabTrigger: "logf",
  uuid: "35E95C81-22F7-4C40-8297-ED21086DDA81"},
 {content: "logger.info { \"${1:message}\" }$0",
  name: "logger.info",
  scope: "source.ruby.rails",
  tabTrigger: "logi",
  uuid: "36E2A3EE-E9CC-4B7F-A4CF-AFAF970B8699"},
 {content: "logger.warn { \"${1:message}\" }$0",
  name: "logger.warn",
  scope: "source.ruby.rails",
  tabTrigger: "logw",
  uuid: "38D5CA05-E219-4399-A244-609AF40B1D0B"},
 {content: "map(&:${1:id})",
  name: "map(&:sym_proc)",
  scope: "source.ruby.rails",
  tabTrigger: "mp",
  uuid: "EC605540-C431-4FD0-AD91-D913118DACA7"},
 {content: 
   "${1:map}.catch_all \"*${2:anything}\", :controller => \"${3:default}\", :action => \"${4:error}\"\n",
  name: "map.catch_all",
  scope: "meta.rails.routes",
  tabTrigger: "mapca",
  uuid: "F3606586-F905-4A91-92CA-82319239221D"},
 {content: "${1:map}.${2:connect} '${3::controller/:action/:id}'",
  name: "map.named_route",
  scope: "meta.rails.routes",
  tabTrigger: "map",
  uuid: "91C543BF-7BD8-4E3A-B493-AE572C5472A0"},
 {content: "${1:map}.resource :${2:resource}${10: do |${11:$2}|\n  $0\nend}",
  name: "map.resource",
  scope: "meta.rails.routes",
  tabTrigger: "mapr",
  uuid: "2183A9A9-17ED-4A4F-ABB6-668EDDD3A6E4"},
 {content: "${1:map}.resources :${2:resource}${10: do |${11:$2}|\n  $0\nend}",
  name: "map.resources",
  scope: "meta.rails.routes",
  tabTrigger: "maprs",
  uuid: "0FF86C46-0E01-4D03-8232-72CA5BD55706"},
 {content: 
   "${1:map}.with_options :${2:controller} => '${3:thing}' do |${4:$3}|\n\t$0\nend\n",
  name: "map.with_options",
  scope: "meta.rails.routes",
  tabTrigger: "mapwo",
  uuid: "BD4B90F7-2187-4E75-BFFB-77BE67CB8DAE"},
 {content: "mattr_accessor :${0:attr_names}",
  name: "mattr_accessor",
  scope: "source.ruby.rails",
  tabTrigger: "mrw",
  uuid: "B25B7560-FACB-4A9E-A226-B71C796BD1F3"},
 {content: 
   "named_scope :name${1:, :joins => :${2:table}}, :conditions => ${3:['${4:${5:field} = ?}', ${6:true}]}\n",
  name: "named_scope",
  scope: "source.ruby.rails",
  tabTrigger: "nc",
  uuid: "1CB65A0D-4FEC-4438-9B4F-8B0BD13FB875"},
 {content: 
   "named_scope :name, lambda { |${1:param}| { :conditions => ${3:['${4:${5:field} = ?}', ${6:$1}]} } }\n",
  name: "named_scope lambda",
  scope: "source.ruby.rails",
  tabTrigger: "ncl",
  uuid: "4E286CB4-069E-474C-A970-95216FE7DE95"},
 {content: "page.hide ${1:\"${2:id(s)}\"}",
  name: "page.hide (*ids)",
  scope: "source.ruby.rails.rjs",
  tabTrigger: "hide",
  uuid: "390A447F-0FA3-4F01-A10C-4F35675E0A43"},
 {content: 
   "page.insert_html :${1:top}, ${2:\"${3:id}\"}, :${4:partial => \"${5:template}\"}",
  name: "page.insert_html (position, id, partial)",
  scope: "source.ruby.rails.rjs",
  tabTrigger: "ins",
  uuid: "62BEA590-F4EF-4001-B661-764EDFB92811"},
 {content: "page.replace ${1:\"${2:id}\"}, :${3:partial => \"${4:template}\"}",
  name: "page.replace (id, partial)",
  scope: "source.ruby.rails.rjs",
  tabTrigger: "rep",
  uuid: "273E5E76-8D13-4476-9C38-8AF87432CB96"},
 {content: 
   "page.replace_html ${1:\"${2:id}\"}, :${3:partial => \"${4:template}\"}",
  name: "page.replace_html (id, partial)",
  scope: "source.ruby.rails.rjs",
  tabTrigger: "reph",
  uuid: "8B914165-9C66-4FA3-9AD6-1DA41B25F8F1"},
 {content: "page.show ${1:\"${2:id(s)}\"}",
  name: "page.show (*ids)",
  scope: "source.ruby.rails.rjs",
  tabTrigger: "show",
  uuid: "5ACBF49D-B5A5-495C-89D8-18AA740D9D02"},
 {content: "page.toggle ${1:\"${2:id(s)}\"}",
  name: "page.toggle (*ids)",
  scope: "source.ruby.rails.rjs",
  tabTrigger: "tog",
  uuid: "028DA0A4-B310-4BEF-8643-2A22993C21C7"},
 {content: "page.visual_effect :${1:toggle_slide}, ${2:\"${3:DOM ID}\"}",
  name: "page.visual_effect (effect, id)",
  scope: "source.ruby.rails.rjs",
  tabTrigger: "vis",
  uuid: "CFDC27A3-58CF-4198-8F93-36360978F0D0"},
 {content: "params[:${1:id}]",
  keyEquivalent: "^p",
  name: "params[…]",
  scope: "source.ruby.rails",
  uuid: "AC8EDA3E-875B-11D9-897C-000393CBCE2E"},
 {content: "redirect_to :action => \"${1:index}\"",
  name: "redirect_to (action)",
  scope: "source.ruby.rails",
  tabTrigger: "rea",
  uuid: "F2F3167C-73B9-11D9-B752-000D932CD5BA"},
 {content: "redirect_to :action => \"${1:show}\", :id => ${0:@item}",
  name: "redirect_to (action, id)",
  scope: "source.ruby.rails",
  tabTrigger: "reai",
  uuid: "2233B484-73BA-11D9-B752-000D932CD5BA"},
 {content: "redirect_to :controller => \"${1:items}\"",
  name: "redirect_to (controller)",
  scope: "source.ruby.rails",
  tabTrigger: "rec",
  uuid: "053490FE-73BA-11D9-B752-000D932CD5BA"},
 {content: 
   "redirect_to :controller => \"${1:items}\", :action => \"${2:list}\"",
  name: "redirect_to (controller, action)",
  scope: "source.ruby.rails",
  tabTrigger: "reca",
  uuid: "0C137FBF-73BA-11D9-B752-000D932CD5BA"},
 {content: 
   "redirect_to :controller => \"${1:items}\", :action => \"${2:show}\", :id => ${0:@item}",
  name: "redirect_to (controller, action, id)",
  scope: "source.ruby.rails",
  tabTrigger: "recai",
  uuid: "18D3C1C3-73BA-11D9-B752-000D932CD5BA"},
 {content: 
   "redirect_to(${2:${10:parent}_${11:child}_path(${12:@}${13:${10}})})",
  name: "redirect_to (nested path plural)",
  scope: "source.ruby.rails",
  tabTrigger: "renpp",
  uuid: "EF527A27-D1D4-4FD8-BD23-71397881C29A"},
 {content: 
   "redirect_to(${2:${12:parent}_${13:child}_path(${14:@}${15:${12}}, ${16:@}${17:${13}})})",
  name: "redirect_to (nested path)",
  scope: "source.ruby.rails",
  tabTrigger: "renp",
  uuid: "9D7228B3-A6ED-4598-B096-032B3600864F"},
 {content: "redirect_to(${2:${10:model}s_path})",
  name: "redirect_to (path plural)",
  scope: "source.ruby.rails",
  tabTrigger: "repp",
  uuid: "AFE06B67-CE98-42A6-93D1-8EC8E3B9F83C"},
 {content: "redirect_to(${2:${12:model}_path(${13:@}${14:${12}})})",
  name: "redirect_to (path)",
  scope: "source.ruby.rails",
  tabTrigger: "rep",
  uuid: "A909C4C3-8EFE-4E39-9D96-BA8F0ABE6085"},
 {content: "render :action => \"${1:action}\"",
  name: "render (action)",
  scope: "source.ruby.rails",
  tabTrigger: "ra",
  uuid: "7B03D38B-7580-41AC-BC2B-3766AB074A43"},
 {content: "render :action => \"${1:action}\", :layout => \"${2:layoutname}\"",
  name: "render (action, layout)",
  scope: "source.ruby.rails",
  tabTrigger: "ral",
  uuid: "053F1D6A-B413-43FF-B697-E3120FD0489F"},
 {content: "render :file => \"${1:filepath}\"",
  name: "render (file)",
  scope: "source.ruby.rails",
  tabTrigger: "rf",
  uuid: "7D43B0EA-2C3C-499B-9346-A8E48CBF29CD"},
 {content: "render :file => \"${1:filepath}\", :use_full_path => ${2:false}",
  name: "render (file, use_full_path)",
  scope: "source.ruby.rails",
  tabTrigger: "rfu",
  uuid: "2A8FBE48-E196-4019-AE76-BF3ED4B54F47"},
 {content: "render :inline => \"${1:<%= 'hello' %>}\"",
  name: "render (inline)",
  scope: "source.ruby.rails",
  tabTrigger: "ri",
  uuid: "64E93A71-6E62-48D9-9694-123080AE6723"},
 {content: 
   "render :inline => \"${1:<%= 'hello' %>}\", :locals => { ${2::name} => \"${3:value}\"$4 }",
  name: "render (inline, locals)",
  scope: "source.ruby.rails",
  tabTrigger: "ril",
  uuid: "1E5DE984-510C-4992-8AD5-C5FA6D7F2A88"},
 {content: "render :inline => \"${1:<%= 'hello' %>}\", :type => ${2::rxml}",
  name: "render (inline, type)",
  scope: "source.ruby.rails",
  tabTrigger: "rit",
  uuid: "A8AF8B90-94E8-42E1-8057-DDBA57809F6A"},
 {content: "render :layout => \"${1:layoutname}\"",
  name: "render (layout)",
  scope: "source.ruby.rails",
  tabTrigger: "rl",
  uuid: "3F83272F-62D5-4BCB-BAA3-806083078829"},
 {content: "render :nothing => ${1:true}",
  name: "render (nothing)",
  scope: "source.ruby.rails",
  tabTrigger: "rn",
  uuid: "AC8A995F-0034-433C-905D-E5C1F29D6EFF"},
 {content: "render :nothing => ${1:true}, :status => ${2:401}",
  name: "render (nothing, status)",
  scope: "source.ruby.rails",
  tabTrigger: "rns",
  uuid: "724A68C1-A727-46FF-AF59-288E26B09629"},
 {content: "render :partial => \"${1:item}\"",
  name: "render (partial)",
  scope: "source.ruby.rails",
  tabTrigger: "rp",
  uuid: "498168A5-5AF8-4F59-8A2D-B517FAB98CDB"},
 {content: "render :partial => \"${1:item}\", :collection => ${2:@$1s}",
  name: "render (partial, collection)",
  scope: "source.ruby.rails",
  tabTrigger: "rpc",
  uuid: "046FB1B6-9C65-4702-91EC-4AA9878CD949"},
 {content: 
   "render :partial => \"${1:item}\", :locals => { :${2:$1} => ${3:@$1}$0 }",
  name: "render (partial, locals)",
  scope: "source.ruby.rails",
  tabTrigger: "rpl",
  uuid: "6F41AFFD-B3A7-42D0-8A84-D6086C118D92"},
 {content: "render :partial => \"${1:item}\", :object => ${2:@$1}",
  name: "render (partial, object)",
  scope: "source.ruby.rails",
  tabTrigger: "rpo",
  uuid: "BFAAC8DA-A043-4684-967B-B3E5DAE08C62"},
 {content: "render :partial => \"${1:item}\", :status => ${2:500}",
  name: "render (partial, status)",
  scope: "source.ruby.rails",
  tabTrigger: "rps",
  uuid: "CBB06A4E-3A82-45F3-91AA-259F02314B9D"},
 {content: "render :text => \"${1:text to render...}\"",
  name: "render (text)",
  scope: "source.ruby.rails",
  tabTrigger: "rt",
  uuid: "67C5082F-5011-434A-8EAA-6B8D3600935F"},
 {content: "render :text => \"${1:text to render...}\", :layout => ${2:true}",
  name: "render (text, layout => true)",
  scope: "source.ruby.rails",
  tabTrigger: "rtlt",
  uuid: "97C0992D-715F-4322-A3E0-DD4D2B7E2FC2"},
 {content: 
   "render :text => \"${1:text to render...}\", :layout => \"${2:layoutname}\"",
  name: "render (text, layout)",
  scope: "source.ruby.rails",
  tabTrigger: "rtl",
  uuid: "A3B09AFE-40B5-4623-8B85-E9F369ECE22D"},
 {content: "render :text => \"${1:text to render...}\", :status => ${2:401}",
  name: "render (text, status)",
  scope: "source.ruby.rails",
  tabTrigger: "rts",
  uuid: "4F636977-F7A6-4BF5-B09B-7F087683C3B9"},
 {content: "render :update do |${2:page}|\n\t$2.$0\nend",
  name: "render (update)",
  scope: "source.ruby.rails",
  tabTrigger: "ru",
  uuid: "ECB10C0B-E8B7-4606-ABF5-4A2A26E5AB1A"},
 {content: "respond_to do |wants|\n\twants.${1:html}${2: { $0 \\}}\nend",
  name: "respond_to",
  scope: "meta.rails.controller",
  tabTrigger: "rest",
  uuid: "B41D3164-EA53-4DDC-850E-27B82B24061F"},
 {content: 
   "respond_to do |wants|\n\twants.html do\n\t\t$TM_SELECTED_TEXT\n\tend\n\twants.${1:js} { $0 }\nend",
  keyEquivalent: "@H",
  name: "respond_to (html)",
  scope: "meta.rails.controller",
  uuid: "3BDD0D52-443E-4F5F-AE09-ABCC2ABE9A42"},
 {content: 
   "returning ${1:variable} do${2/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1: |)/}${2:v}${2/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}\n\t$0\nend",
  name: "returning do |variable| … end",
  scope: "source.ruby.rails",
  tabTrigger: "returning",
  uuid: "D2783155-23F3-4B90-A317-5BD139471193"},
 {content: "session[:${1:user}]",
  keyEquivalent: "^j",
  name: "session[…]",
  scope: "source.ruby.rails",
  uuid: "7B02ABF8-8763-11D9-897C-000393CBCE2E"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}stylesheet_link_tag {1::all}${2:, :cache => ${3:true}}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "stylesheet_link_tag",
  scope: "text.html.ruby",
  tabTrigger: "slt",
  uuid: "980C7667-9D60-49FF-AF74-A7B19B379F45"},
 {content: 
   "${TM_RAILS_TEMPLATE_START_RUBY_EXPR}submit_tag \"${1:Save changes}\"${2:, :id => \"${3:submit}\"}${4:, :name => \"${5:$3}\"}${6:, :class => \"${7:form_$3}\"}${8:, :disabled => ${9:false}}${10:, :disable_with => \"${11:Please wait...}\"}${TM_RAILS_TEMPLATE_END_RUBY_EXPR}",
  name: "submit_tag",
  scope: "text.html.ruby, text.haml",
  tabTrigger: "st",
  uuid: "D0E29200-E910-11DC-A399-00112475D960"},
 {content: "t.binary :${1:title}${2:, :limit => ${3:2}.megabytes}\nt.$0",
  name: "t.binary (tcbi)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "7CE57C6C-E4BE-11DC-A11A-00112475D960"},
 {content: "t.boolean :${1:title}\nt.$0",
  name: "t.boolean (tcb)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "6BE6F315-E4BE-11DC-A11A-00112475D960"},
 {content: "t.date :${1:title}\nt.$0",
  name: "t.date (tcda)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "61CF5B32-E4BE-11DC-A11A-00112475D960"},
 {content: "t.datetime :${1:title}\nt.$0",
  name: "t.datetime (tcdt)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "3458B140-E4BE-11DC-A11A-00112475D960"},
 {content: 
   "t.decimal :${1:title}${2:${3:, :precision => ${4:10}}${5:, :scale => ${6:2}}}\nt.$0",
  name: "t.decimal (tcd)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "26C09807-E4BE-11DC-A11A-00112475D960"},
 {content: "t.float :${1:title}\nt.$0",
  name: "t.float (tcf)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "1BDC463A-E4BE-11DC-A11A-00112475D960"},
 {content: "t.integer :${1:title}\nt.$0",
  name: "t.integer (tci)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "0E63B7D5-E4BE-11DC-A11A-00112475D960"},
 {content: "t.integer :lock_version, :null => false, :default => 0\nt.$0",
  name: "t.lock_version (tcl)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "A677FFD4-E4BE-11DC-A11A-00112475D960"},
 {content: 
   "t.references :${1:taggable}${2:, :polymorphic => ${3:{ :default => '${4:Photo}' \\}}}\nt.$0",
  name: "t.references (tcr)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "B6D9225C-E4BE-11DC-A11A-00112475D960"},
 {content: "t.rename(:${1:old_column_name}, :${2:new_column_name})\nt.$0",
  name: "t.rename (tre)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "9D4E30E2-4A61-4941-B9F3-BEE97552747A"},
 {content: "t.string :${1:title}\nt.$0",
  name: "t.string (tcs)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "B757F7E5-E4BD-11DC-A11A-00112475D960"},
 {content: "t.text :${1:title}\nt.$0",
  name: "t.text (tct)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "FFE7B820-E4BD-11DC-A11A-00112475D960"},
 {content: "t.time :${1:title}\nt.$0",
  name: "t.time (tcti)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "537BDD48-E4BE-11DC-A11A-00112475D960"},
 {content: "t.timestamp :${1:title}\nt.$0",
  name: "t.timestamp (tcts)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "49643690-E4BE-11DC-A11A-00112475D960"},
 {content: "t.timestamps\nt.$0",
  name: "t.timestamps (tctss)",
  scope: 
   "meta.rails.migration.create_table, meta.rails.migration.change_table",
  tabTrigger: "t.",
  uuid: "950B0BF2-E4BE-11DC-A11A-00112475D960"},
 {content: 
   "validates_acceptance_of :${1:terms}${2:${3:, :accept => \"${4:1}\"}${5:, :message => \"${6:You must accept the terms of service}\"}}",
  name: "validates_acceptance_of",
  scope: "source.ruby.rails",
  tabTrigger: "vao",
  uuid: "89198999-7E6D-4D97-A20E-45263E1CA993"},
 {content: 
   "validates_acceptance_of :${1:terms}${2:${3:, :accept => \"${4:1}\"}${5:, :message => \"${6:You must accept the terms of service}\"}}, :if => proc { |obj| ${7:obj.condition?} }}",
  name: "validates_acceptance_of if",
  scope: "source.ruby.rails",
  tabTrigger: "vaoif",
  uuid: "A2477223-AD5A-4723-8052-943CE9BA634D"},
 {content: "validates_associated :${1:attribute}${2:, :on => :${3:create}}",
  name: "validates_associated",
  scope: "source.ruby.rails",
  tabTrigger: "va",
  uuid: "47944705-F605-4ED4-B4C0-9E823EE25138"},
 {content: 
   "validates_associated :${1:attribute}${2:, :on => :${3:create}, :if => proc { |obj| ${5:obj.condition?} }}",
  name: "validates_associated if",
  scope: "source.ruby.rails",
  tabTrigger: "vaif",
  uuid: "85E9264C-5414-4FA0-AC07-F305A798ED46"},
 {content: 
   "validates_confirmation_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:should match confirmation}\"}",
  name: "validates_confirmation_of",
  scope: "source.ruby.rails",
  tabTrigger: "vc",
  uuid: "B5893618-D07C-48F1-8867-736D0AAFF0E7"},
 {content: 
   "validates_confirmation_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:should match confirmation}\", :if => proc { |obj| ${5:obj.condition?} }}",
  name: "validates_confirmation_of if",
  scope: "source.ruby.rails",
  tabTrigger: "vcif",
  uuid: "1354726C-DA64-4CA6-A099-26626A865D8D"},
 {content: 
   "validates_exclusion_of :${1:attribute}${2:, :in => ${3:%w( ${4:mov avi} )}, :on => :${5:create}, :message => \"${6:extension %s is not allowed}\"}",
  name: "validates_exclusion_of",
  scope: "source.ruby.rails",
  tabTrigger: "ve",
  uuid: "4CC98A56-B60B-4A89-80E0-400C5314A050"},
 {content: 
   "validates_exclusion_of :${1:attribute}${2:, :in => ${3:%w( ${4:mov avi} )}, :on => :${5:create}, :message => \"${6:extension %s is not allowed}\"}, :if => proc { |obj| ${7:obj.condition?} }}",
  name: "validates_exclusion_of if",
  scope: "source.ruby.rails",
  tabTrigger: "veif",
  uuid: "869AB0B7-12DD-440A-905A-BFB1E0E16E1C"},
 {content: 
   "validates_format_of :${1:attribute}, :with => /${2:^[${3:\\w\\d}]+\\$}/${4:, :on => :${5:create}, :message => \"${6:is invalid}\"}",
  name: "validates_format_of",
  scope: "source.ruby.rails",
  tabTrigger: "vf",
  uuid: "EB47FBA1-AFB3-42F9-94A4-552D3175C17A"},
 {content: 
   "validates_format_of :${1:attribute}, :with => /${2:^[${3:\\w\\d}]+\\$}/${4:, :on => :${5:create}, :message => \"${6:is invalid}\"}, :if => proc { |obj| ${7:obj.condition?} }}",
  name: "validates_format_of if",
  scope: "source.ruby.rails",
  tabTrigger: "vfif",
  uuid: "14BF0586-F2E8-4AB3-BB4B-E49099384403"},
 {content: 
   "validates_inclusion_of :${1:attribute}${2:, :in => ${3:%w( ${4:mov avi} )}, :on => :${5:create}, :message => \"${6:extension %s is not included in the list}\"}",
  name: "validates_inclusion_of",
  scope: "source.ruby.rails",
  tabTrigger: "vi",
  uuid: "4611F02E-E9BF-11DC-8518-00112475D960"},
 {content: 
   "validates_inclusion_of :${1:attribute}${2:, :in => ${3:%w( ${4:mov avi} )}, :on => :${5:create}, :message => \"${6:extension %s is not included in the list}\"}, :if => proc { |obj| ${7:obj.condition?} }}",
  name: "validates_inclusion_of if",
  scope: "source.ruby.rails",
  tabTrigger: "viif",
  uuid: "47FF50AF-E9BF-11DC-8518-00112475D960"},
 {content: 
   "validates_length_of :${1:attribute}, :within => ${2:3..20}${3:, :on => :${4:create}, :message => \"${5:must be present}\"}",
  name: "validates_length_of",
  scope: "source.ruby.rails",
  tabTrigger: "vl",
  uuid: "5CE8838A-BF2C-497E-B87A-E90C3BC482E0"},
 {content: 
   "validates_length_of :${1:attribute}, :within => ${2:3..20}${3:, :on => :${4:create}, :message => \"${5:must be present}\"}, :if => proc { |obj| ${6:obj.condition?} }}",
  name: "validates_length_of if",
  scope: "source.ruby.rails",
  tabTrigger: "vlif",
  uuid: "EC511A43-D3B7-11DC-BA49-00112475D960"},
 {content: 
   "validates_numericality_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:is not a number}\"}",
  name: "validates_numericality_of",
  scope: "source.ruby.rails",
  tabTrigger: "vn",
  uuid: "B21BA16D-7C04-4912-8488-425CDCC332A8"},
 {content: 
   "validates_numericality_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:is not a number}\"}, :if => proc { |obj| ${5:obj.condition?} }}",
  name: "validates_numericality_of if",
  scope: "source.ruby.rails",
  tabTrigger: "vnif",
  uuid: "CF506019-E964-4172-A3DA-475AE3B65558"},
 {content: 
   "validates_presence_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:can't be blank}\"}",
  name: "validates_presence_of",
  scope: "source.ruby.rails",
  tabTrigger: "vp",
  uuid: "5DAC28A7-33C8-4DA7-9E85-56618D6BEC9F"},
 {content: 
   "validates_presence_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:can't be blank}\"}, :if => proc { |obj| ${5:obj.condition?} }}",
  name: "validates_presence_of if",
  scope: "source.ruby.rails",
  tabTrigger: "vpif",
  uuid: "F5CBBE16-F5CC-4EDA-8BC6-30281BD7D854"},
 {content: 
   "validates_uniqueness_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:must be unique}\"}",
  name: "validates_uniqueness_of",
  scope: "source.ruby.rails",
  tabTrigger: "vu",
  uuid: "F8316545-9AE4-4C7F-87ED-A2C00E6637FA"},
 {content: 
   "validates_uniqueness_of :${1:attribute}${2:, :on => :${3:create}, :message => \"${4:must be unique}\", :if => proc { |obj| ${6:obj.condition?} }}",
  name: "validates_uniqueness_of if",
  scope: "source.ruby.rails",
  tabTrigger: "vuif",
  uuid: "43680344-0818-42BF-95B4-58CD2D76545B"},
 {bundlePath: 
   "/Users/tobi/Library/Application Support/TextMate/Bundles/Custom.tmbundle",
  content: 
   "verify :only => [:$1], :session => :user, :params => :id, :redirect_to => {:action => '${2:index}'}\n",
  name: "verify — redirect",
  scope: "source.ruby.rails",
  tabTrigger: "verify",
  uuid: "7BBD3F57-57A5-4CD0-8E79-B931021FC110"},
 {bundlePath: 
   "/Users/tobi/Library/Application Support/TextMate/Bundles/Custom.tmbundle",
  content: 
   "verify :only => [:$1], :method => :post, :render => {:status => 500, :text => \"use HTTP-POST\"}\n",
  name: "verify — render",
  scope: "source.ruby.rails",
  tabTrigger: "verify",
  uuid: "9ECBF20C-003E-41D9-A881-4BAC0656F9DC"},
 {content: "wants.${1:js|xml|html}${2: { $0 \\}}",
  name: "wants.format",
  scope: "meta.rails.controller",
  tabTrigger: "wants",
  uuid: "3F26FDB4-ACF9-4856-9312-6A4D78DC8564"},
 {content: "xhr :delete, :${1:destroy}, :id => ${2:1}$0",
  name: "xhr delete",
  scope: "source.ruby.rails",
  tabTrigger: "xdelete",
  uuid: "F1BE0C3D-7203-43E9-BEFB-D1A99CDD31C1"},
 {content: "xhr :get, :${1:show}${2:, :id => ${3:1}}$0",
  name: "xhr get",
  scope: "source.ruby.rails",
  tabTrigger: "xget",
  uuid: "78FCF992-D01B-404F-BC54-5EE7B91F999A"},
 {content: "xhr :post, :${1:create}, :${2:object} => { $3 }",
  name: "xhr post",
  scope: "source.ruby.rails",
  tabTrigger: "xpost",
  uuid: "62C3838B-0790-4FC2-8425-F273A57F5D33"},
 {content: "xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { $4 }$0",
  name: "xhr put",
  scope: "source.ruby.rails",
  tabTrigger: "xput",
  uuid: "C12C98A5-74E5-4E70-9ADB-8783455D6539"}]
