public
Description: TextMate bundle for Ruby Shoulda gem/Rails plugin
Homepage: http://thoughtbot.com/projects/shoulda
Clone URL: git://github.com/drnic/ruby-shoulda-tmbundle.git
Search Repo:
added more snippets
syntax now includes the scope of the rails bundle so you don't have to 
switch back and forth.
The focused should/context runner now can handle weird characters in the 
string (quotes, parens, periods, etc)

there are also hooks for color customization:
assert tags have the scope: support.shoulda.assert
context and should tags have the scope: keyword.meta.ruby.shoulda (as they 
did before)



git-svn-id: 
http://macromates.com/svn/Bundles/trunk/Review/Bundles/Ruby%20Shoulda.tmbu
ndle@8640 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
dfl (author)
Mon Dec 10 11:55:08 -0800 2007
commit  713944464886ad812662d24fc1e71b8082addbe9
tree    a633f4264a33efad8f98a907ac825b6f8cf5d118
parent  a2a579e0f5dc1f631b364750f07833399939d6f8
...
1
2
 
3
4
5
...
27
28
29
30
 
31
32
33
...
51
52
53
54
 
55
56
57
...
1
 
2
3
4
5
...
27
28
29
 
30
31
32
33
...
51
52
53
 
54
55
56
57
0
@@ -1,5 +1,5 @@
0
 <?xml version="1.0" encoding="UTF-8"?>
0
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
0
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
0
 <plist version="1.0">
0
 <dict>
0
   <key>beforeRunningCommand</key>
0
@@ -27,7 +27,7 @@ end
0
 if !context.empty? &amp;&amp; !should.empty?
0
   puts "shoulda"
0
   context = parse_from_quotes( context )
0
- name = "#{context}".gsub(/ /,'\ ')
0
+ name = "#{context}".gsub(/[\+\.\s\'\"\(\)]/,'.')
0
   print "--name=/#{name}/ -v v"
0
 end
0
 
0
@@ -51,7 +51,7 @@ if [[ -z "$args" ]]; then
0
   <key>output</key>
0
   <string>showAsHTML</string>
0
   <key>scope</key>
0
- <string>source.ruby.shoulda</string>
0
+ <string>source.ruby.rails.shoulda</string>
0
   <key>uuid</key>
0
   <string>2989704F-8F6B-439F-83A7-368BB174A010</string>
0
 </dict>
...
31
32
33
34
 
35
36
37
...
57
58
59
60
 
61
62
63
...
31
32
33
 
34
35
36
37
...
57
58
59
 
60
61
62
63
0
@@ -31,7 +31,7 @@ end
0
 if !context.empty? &amp;&amp; !should.empty?
0
   puts "shoulda"
0
   context = parse_from_quotes( context )
0
- name = "#{context} should #{should}".gsub(/\s/){ |c| "\\#{c}" }
0
+ name = "#{context} should #{should}".gsub(/[\+\.\s\'\"\(\)]/,'.')
0
   print "--name=/#{name}/ -v v"
0
 end
0
 
0
@@ -57,7 +57,7 @@ if [[ -z "$args" ]]; then
0
   <key>output</key>
0
   <string>showAsHTML</string>
0
   <key>scope</key>
0
- <string>source.ruby.shoulda</string>
0
+ <string>source.ruby.rails.shoulda</string>
0
   <key>uuid</key>
0
   <string>6AFF5956-7774-4175-A005-9A03AF7F29B3</string>
0
 </dict>
...
15
16
17
 
 
18
19
20
...
15
16
17
18
19
20
21
22
0
@@ -15,6 +15,8 @@
0
   <string>YAML to Shoulda</string>
0
   <key>output</key>
0
   <string>openAsNewDocument</string>
0
+ <key>scope</key>
0
+ <string>source.yaml</string>
0
   <key>uuid</key>
0
   <string>576CC2C5-2257-4F46-A6CE-E23C6A8B1128</string>
0
 </dict>
...
1
2
 
3
4
5
...
14
15
16
17
 
18
19
 
20
21
22
...
1
 
2
3
4
5
...
14
15
16
 
17
18
 
19
20
21
22
0
@@ -1,5 +1,5 @@
0
 <?xml version="1.0" encoding="UTF-8"?>
0
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
0
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
0
 <plist version="1.0">
0
 <dict>
0
   <key>content</key>
0
@@ -14,9 +14,9 @@
0
 end
0
 </string>
0
   <key>name</key>
0
- <string>context with setup</string>
0
+ <string>context block with setup</string>
0
   <key>scope</key>
0
- <string>source.ruby.shoulda</string>
0
+ <string>source.ruby.rails.shoulda</string>
0
   <key>tabTrigger</key>
0
   <string>cont</string>
0
   <key>uuid</key>
...
1
2
 
3
4
5
...
7
8
9
10
 
11
12
 
13
14
15
...
1
 
2
3
4
5
...
7
8
9
 
10
11
 
12
13
14
15
0
@@ -1,5 +1,5 @@
0
 <?xml version="1.0" encoding="UTF-8"?>
0
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
0
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
0
 <plist version="1.0">
0
 <dict>
0
   <key>content</key>
0
@@ -7,9 +7,9 @@
0
   $0
0
 end</string>
0
   <key>name</key>
0
- <string>should</string>
0
+ <string>should block</string>
0
   <key>scope</key>
0
- <string>source.ruby.shoulda</string>
0
+ <string>source.ruby.rails.shoulda</string>
0
   <key>tabTrigger</key>
0
   <string>should</string>
0
   <key>uuid</key>
...
18
19
20
 
 
 
21
22
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
25
26
27
28
29
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
32
33
...
18
19
20
21
22
23
24
25
 
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
0
@@ -18,16 +18,82 @@
0
       <string>------------------------------------</string>
0
       <string>9AD00D7F-EB66-431C-A3BD-13DEE32BA00F</string>
0
       <string>D8AB6BAF-153A-4134-9A46-B1273943F16D</string>
0
+ <string>7EA059BA-1B66-4719-8B5D-9C5A38C425CB</string>
0
+ <string>3828AEAE-1702-4DED-9C14-5B6386E9F8CD</string>
0
+ <string>D8EAA0DE-71A2-4042-8961-9E6F883C50C9</string>
0
     </array>
0
     <key>submenus</key>
0
- <dict/>
0
+ <dict>
0
+ <key>3828AEAE-1702-4DED-9C14-5B6386E9F8CD</key>
0
+ <dict>
0
+ <key>items</key>
0
+ <array>
0
+ <string>AFAC9DA9-19C9-417C-8F6D-C8757450E1A8</string>
0
+ <string>91843C06-640F-4199-93B8-32D196350AE4</string>
0
+ <string>43E1D56D-73E1-449B-A99B-8ECC4C438618</string>
0
+ <string>5595BC8B-3932-407A-9457-968A96662D2C</string>
0
+ <string>------------------------------------</string>
0
+ <string>B318649B-FA23-4BC3-8405-295D6E8D461C</string>
0
+ <string>DBD55A6E-FEF4-4E5F-9F78-30D9ECC3FDB0</string>
0
+ <string>F312BABE-A19D-4451-A714-4FA4127AD2DD</string>
0
+ <string>6D66108D-9C49-4B89-A0AE-66A3BDC75EDA</string>
0
+ <string>D69EC326-DE43-4757-8375-54DDFC6894ED</string>
0
+ <string>279BC6CF-139C-486A-ADD3-59E7D1BFC412</string>
0
+ <string>D80B7236-B3A8-4E47-B70D-57F5561419D7</string>
0
+ <string>BEC0BD89-6425-4547-9FF2-9BB35A2FAA58</string>
0
+ <string>5827CC16-B6E8-4293-A3CB-3969E5062C43</string>
0
+ </array>
0
+ <key>name</key>
0
+ <string>active record helpers</string>
0
+ </dict>
0
+ <key>D8EAA0DE-71A2-4042-8961-9E6F883C50C9</key>
0
+ <dict>
0
+ <key>items</key>
0
+ <array>
0
+ <string>1FB69312-1897-4A64-A7E8-F7B699F871B1</string>
0
+ <string>F50ED5FA-79F1-4854-BEE6-9F43E329A23B</string>
0
+ <string>84EF6B11-A96D-4964-90ED-D1E7123107D7</string>
0
+ <string>E9F561DC-64C6-49E1-8F18-CFD1389579B4</string>
0
+ <string>FAD1A46E-E71E-46E7-9F12-D83DE6F3290E</string>
0
+ <string>3072E3F8-22C5-467E-BE8C-8C14DF4308A7</string>
0
+ <string>436D0EC3-9F61-46E7-9A86-C775D4515DB5</string>
0
+ <string>E3A9360A-3177-41C4-B21B-B1411282FB16</string>
0
+ <string>9CD1EAE0-503A-4A47-86C8-3FC2D6868B88</string>
0
+ </array>
0
+ <key>name</key>
0
+ <string>controller tests</string>
0
+ </dict>
0
+ </dict>
0
   </dict>
0
   <key>name</key>
0
   <string>Ruby Shoulda</string>
0
   <key>ordering</key>
0
   <array>
0
- <string>9AD00D7F-EB66-431C-A3BD-13DEE32BA00F</string>
0
     <string>D8AB6BAF-153A-4134-9A46-B1273943F16D</string>
0
+ <string>9AD00D7F-EB66-431C-A3BD-13DEE32BA00F</string>
0
+ <string>AFAC9DA9-19C9-417C-8F6D-C8757450E1A8</string>
0
+ <string>91843C06-640F-4199-93B8-32D196350AE4</string>
0
+ <string>43E1D56D-73E1-449B-A99B-8ECC4C438618</string>
0
+ <string>5595BC8B-3932-407A-9457-968A96662D2C</string>
0
+ <string>B318649B-FA23-4BC3-8405-295D6E8D461C</string>
0
+ <string>DBD55A6E-FEF4-4E5F-9F78-30D9ECC3FDB0</string>
0
+ <string>F312BABE-A19D-4451-A714-4FA4127AD2DD</string>
0
+ <string>BEC0BD89-6425-4547-9FF2-9BB35A2FAA58</string>
0
+ <string>5827CC16-B6E8-4293-A3CB-3969E5062C43</string>
0
+ <string>6D66108D-9C49-4B89-A0AE-66A3BDC75EDA</string>
0
+ <string>279BC6CF-139C-486A-ADD3-59E7D1BFC412</string>
0
+ <string>D80B7236-B3A8-4E47-B70D-57F5561419D7</string>
0
+ <string>1FB69312-1897-4A64-A7E8-F7B699F871B1</string>
0
+ <string>F50ED5FA-79F1-4854-BEE6-9F43E329A23B</string>
0
+ <string>84EF6B11-A96D-4964-90ED-D1E7123107D7</string>
0
+ <string>E9F561DC-64C6-49E1-8F18-CFD1389579B4</string>
0
+ <string>FAD1A46E-E71E-46E7-9F12-D83DE6F3290E</string>
0
+ <string>3072E3F8-22C5-467E-BE8C-8C14DF4308A7</string>
0
+ <string>436D0EC3-9F61-46E7-9A86-C775D4515DB5</string>
0
+ <string>E3A9360A-3177-41C4-B21B-B1411282FB16</string>
0
+ <string>9CD1EAE0-503A-4A47-86C8-3FC2D6868B88</string>
0
+ <string>D69EC326-DE43-4757-8375-54DDFC6894ED</string>
0
+ <string>7EA059BA-1B66-4719-8B5D-9C5A38C425CB</string>
0
     <string>2989704F-8F6B-439F-83A7-368BB174A010</string>
0
     <string>6AFF5956-7774-4175-A005-9A03AF7F29B3</string>
0
     <string>576CC2C5-2257-4F46-A6CE-E23C6A8B1128</string>

Comments

    No one has commented yet.