Commit 368deb5992f27fce9a23629229af4367ba38f901

Authored by Nihad Abbasov
1 parent 415eddaf

clean up whitespace from project

Showing 50 changed files with 356 additions and 413 deletions   Show diff stats
app/assets/javascripts/application.js
... ... @@ -22,9 +22,9 @@ $(function(){
22 22 $('select#branch').selectmenu({style:'popup', width:200});
23 23 $('select#tag').selectmenu({style:'popup', width:200});
24 24  
25   - $(".account-box").mouseenter(showMenu);
26   - $(".account-box").mouseleave(resetMenu);
27   -
  25 + $(".account-box").mouseenter(showMenu);
  26 + $(".account-box").mouseleave(resetMenu);
  27 +
28 28 });
29 29  
30 30 function updatePage(data){
... ... @@ -32,9 +32,9 @@ function updatePage(data){
32 32 }
33 33  
34 34 function showMenu() {
35   - $(this).toggleClass('hover');
  35 + $(this).toggleClass('hover');
36 36 }
37 37  
38 38 function resetMenu() {
39   - $(this).removeClass("hover");
  39 + $(this).removeClass("hover");
40 40 }
... ...
app/assets/javascripts/commits.js
... ... @@ -8,25 +8,23 @@ $(document).ready(function(){
8 8 });
9 9 });
10 10  
11   -
12   -
13   -var CommitsList = {
  11 +var CommitsList = {
14 12  
15 13 ref:null,
16 14 limit:0,
17 15 offset:0,
18 16  
19   -init:
20   - function(ref, limit) {
21   - this.ref=ref;
22   - this.limit=limit;
23   - this.offset=limit;
  17 +init:
  18 + function(ref, limit) {
  19 + this.ref=ref;
  20 + this.limit=limit;
  21 + this.offset=limit;
24 22 this.initLoadMore();
25 23 $('.loading').show();
26 24 },
27 25  
28 26 getOld:
29   - function() {
  27 + function() {
30 28 $('.loading').show();
31 29 $.ajax({
32 30 type: "GET",
... ... @@ -39,14 +37,14 @@ getOld:
39 37 append:
40 38 function(count, html) {
41 39 $("#commits_list").append(html);
42   - if(count > 0) {
  40 + if(count > 0) {
43 41 this.offset += count;
44 42 this.initLoadMore();
45   - }
  43 + }
46 44 },
47 45  
48 46 initLoadMore:
49   - function() {
  47 + function() {
50 48 $(window).bind('scroll', function(){
51 49 if($(window).scrollTop() == $(document).height() - $(window).height()){
52 50 $(window).unbind('scroll');
... ...
app/assets/javascripts/note.js
1   -var NoteList = {
  1 +var NoteList = {
2 2  
3 3 first_id: 0,
4 4 last_id: 0,
5 5 resource_name: null,
6 6  
7   -init:
8   - function(resource_name, first_id, last_id) {
9   - this.resource_name = resource_name;
10   - this.first_id = first_id;
11   - this.last_id = last_id;
  7 +init:
  8 + function(resource_name, first_id, last_id) {
  9 + this.resource_name = resource_name;
  10 + this.first_id = first_id;
  11 + this.last_id = last_id;
12 12 this.initRefresh();
13 13 this.initLoadMore();
14 14 },
15 15  
16 16 getOld:
17   - function() {
  17 + function() {
18 18 $('.loading').show();
19 19 $.ajax({
20 20 type: "GET",
... ... @@ -31,7 +31,7 @@ append:
31 31 this.initLoadMore();
32 32 },
33 33  
34   -replace:
  34 +replace:
35 35 function(fid, lid, html) {
36 36 this.first_id = fid;
37 37 this.last_id = lid;
... ... @@ -39,17 +39,16 @@ replace:
39 39 this.initLoadMore();
40 40 },
41 41  
42   -
43 42 prepend:
44 43 function(id, html) {
45   - if(id != this.last_id) {
  44 + if(id != this.last_id) {
46 45 this.last_id = id;
47 46 $("#notes-list").prepend(html);
48 47 }
49 48 },
50 49  
51 50 getNew:
52   - function() {
  51 + function() {
53 52 // refersh notes list
54 53 $.ajax({
55 54 type: "GET",
... ... @@ -59,7 +58,7 @@ getNew:
59 58 },
60 59  
61 60 refresh:
62   - function() {
  61 + function() {
63 62 // refersh notes list
64 63 $.ajax({
65 64 type: "GET",
... ... @@ -68,8 +67,6 @@ refresh:
68 67 dataType: "script"});
69 68 },
70 69  
71   -
72   -
73 70 initRefresh:
74 71 function() {
75 72 // init timer
... ... @@ -78,7 +75,7 @@ initRefresh:
78 75 },
79 76  
80 77 initLoadMore:
81   - function() {
  78 + function() {
82 79 $(window).bind('scroll', function(){
83 80 if($(window).scrollTop() == $(document).height() - $(window).height()){
84 81 $(window).unbind('scroll');
... ...
app/assets/javascripts/projects.js
... ... @@ -48,7 +48,6 @@ function taggifyForm(){
48 48 source: '/tags.json'
49 49 });
50 50  
51   -
52 51 $('form').submit( function() {
53 52 var tag_field = $('#tag_field')
54 53 tag_field.val( tag_field.tagify('serialize') );
... ...
app/assets/stylesheets/application.css
... ... @@ -15,10 +15,10 @@
15 15 .cgreen { color:#44aa22; }
16 16  
17 17 /** COMMON STYLES **/
18   -.left {
  18 +.left {
19 19 float:left;
20 20 }
21   -.right {
  21 +.right {
22 22 float:right;
23 23 }
24 24 .width-50p{
... ... @@ -33,7 +33,7 @@
33 33 .width-65p{
34 34 width:65%;
35 35 }
36   -.append-bottom-10 {
  36 +.append-bottom-10 {
37 37 margin-bottom:10px;
38 38 }
39 39 .prepend-top-10 {
... ...
app/assets/stylesheets/issues.css.scss
... ... @@ -12,7 +12,7 @@
12 12  
13 13 .issues_filter {
14 14 margin-top:10px;
15   - .left {
  15 + .left {
16 16 margin-right:15px;
17 17 }
18 18 }
... ... @@ -38,11 +38,10 @@
38 38  
39 39 /** ISSUES LIST **/
40 40 .issue .action-links {
41   - display:none;
42   - a {
  41 + display:none;
  42 + a {
43 43 margin-left:10px;
44 44 }
45 45 }
46 46 .issue:hover .action-links { display:block; }
47 47  
48   -
... ...
app/assets/stylesheets/notes.css.scss
... ... @@ -14,7 +14,6 @@
14 14 }
15 15 }
16 16  
17   -
18 17 /* Note textare */
19 18 #note_note {
20 19 height:100px;
... ...
app/assets/stylesheets/projects.css.scss
... ... @@ -99,15 +99,15 @@ a {
99 99 }
100 100 }
101 101  
102   -td.code {
  102 +td.code {
103 103 width: 100%;
104   - .highlight {
  104 + .highlight {
105 105 margin-left: 55px;
106 106 overflow:auto;
107 107 overflow-y:hidden;
108 108 }
109 109 }
110   -.highlight pre {
  110 +.highlight pre {
111 111 white-space: pre;
112 112 word-wrap:normal;
113 113 }
... ... @@ -115,12 +115,11 @@ td.code {
115 115 .highlighttable tr:hover {
116 116 background:white;
117 117 }
118   -table.highlighttable pre{
  118 +table.highlighttable pre{
119 119 line-height:16px !important;
120 120 font-size:12px !important;
121 121 }
122 122  
123   -
124 123 table.highlighttable .linenodiv pre {
125 124 text-align: right;
126 125 padding-right: 4px;
... ... @@ -235,7 +234,6 @@ input.ssh_project_url {
235 234 }
236 235 }
237 236  
238   -
239 237 #user_projects_limit{
240 238 width: 60px;
241 239 }
... ... @@ -244,7 +242,7 @@ input.ssh_project_url {
244 242 cursor: move;
245 243 }
246 244  
247   -.project-refs-form {
  245 +.project-refs-form {
248 246 span {
249 247 background: none !important;
250 248 position:static !important;
... ... @@ -258,18 +256,18 @@ input.ssh_project_url {
258 256 }
259 257  
260 258 .filter .left { margin-right:15px; }
261   -
262   -body.project-page table .commit {
263   - a.tree-commit-link {
  259 +
  260 +body.project-page table .commit {
  261 + a.tree-commit-link {
264 262 color:gray;
265   - &:hover {
  263 + &:hover {
266 264 text-decoration:underline;
267 265 }
268 266 }
269 267 }
270 268  
271 269 /** NEW PROJECT **/
272   -.new-project-hodler {
  270 +.new-project-hodler {
273 271 .icon span { background-position: -31px -70px; }
274 272 td { border-bottom: 1px solid #DEE2E3; }
275 273 }
... ... @@ -277,8 +275,8 @@ body.project-page table .commit {
277 275 /** Feed entry **/
278 276 .commit,
279 277 .snippet,
280   -.message {
281   - .title {
  278 +.message {
  279 + .title {
282 280 color:#666;
283 281 a { color:#666 !important; }
284 282 p { margin-top:0px; }
... ... @@ -295,21 +293,21 @@ body.project-page table .commit {
295 293 font-size:1.5em;
296 294 height:auto;
297 295 font-weight:bold;
298   - .ui-selectmenu-status {
  296 + .ui-selectmenu-status {
299 297 padding:3px 10px;
300 298 }
301 299 }
302   -
  300 +
303 301 /** Snippets **/
304   -.new_snippet textarea,
305   -.edit_snippet textarea {
  302 +.new_snippet textarea,
  303 +.edit_snippet textarea {
306 304 height:300px;
307 305 padding: 8px;
308 306 width: 95%;
309 307 }
310 308 .snippet .action-links {
311   - display:none;
312   - a {
  309 + display:none;
  310 + a {
313 311 margin-left:10px;
314 312 }
315 313 }
... ... @@ -348,11 +346,11 @@ body.project-page table .commit {
348 346 background: #2c5c66;
349 347 color:white;
350 348 }
351   - &.issue {
  349 + &.issue {
352 350 background: #D12F19;
353 351 color:white;
354 352 }
355   - &.commit {
  353 + &.commit {
356 354 background: #44aacc;
357 355 color:white;
358 356 }
... ...
app/assets/stylesheets/style.scss
... ... @@ -60,7 +60,6 @@ input:invalid, textarea:invalid { background-color: #f0dddd; }
60 60 table { border-collapse: collapse; border-spacing: 0; }
61 61 td { vertical-align: top; }
62 62  
63   -
64 63 /* ==|== primary styles =====================================================
65 64 Author: Ricardo Rauch
66 65 ========================================================================== */
... ... @@ -89,13 +88,13 @@ input[type="text"]:focus, input[type="password"]:focus { outline: none; }
89 88 input.text{border: 1px solid #ccc; border-radius: 4px; display: block; padding: 10px}
90 89  
91 90 .form-row{
92   - padding: 0px 0px 10px 0px;
  91 + padding: 0px 0px 10px 0px;
93 92 }
94 93  
95 94 .form-row label{
96   - font-weight:bold;
97   - display: inline-block;
98   - padding: 0px 0px 5px 0px;
  95 + font-weight:bold;
  96 + display: inline-block;
  97 + padding: 0px 0px 5px 0px;
99 98 }
100 99  
101 100 /* eo Forms */
... ... @@ -103,23 +102,23 @@ input.text{border: 1px solid #ccc; border-radius: 4px; display: block; padding:
103 102 /* Tables */
104 103 table {width:100%; border: 1px solid #DEE2E3; margin-bottom: 20px}
105 104 table thead{
106   - -webkit-border-top-left-radius: 5px;
107   - -webkit-border-top-right-radius: 5px;
108   - -moz-border-radius-topleft: 5px;
109   - -moz-border-radius-topright: 5px;
110   - border-top-left-radius: 5px;
111   - border-top-right-radius: 5px;
  105 + -webkit-border-top-left-radius: 5px;
  106 + -webkit-border-top-right-radius: 5px;
  107 + -moz-border-radius-topleft: 5px;
  108 + -moz-border-radius-topright: 5px;
  109 + border-top-left-radius: 5px;
  110 + border-top-right-radius: 5px;
112 111 }
113 112 table thead th{
114   - background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #fefefe), to(#F6F7F8));
115   - background-image: -webkit-linear-gradient(#fefefe 7.6%, #F6F7F8);
116   - background-image: -moz-linear-gradient(#fefefe 7.6%, #F6F7F8);
117   - background-image: -o-linear-gradient(#fefefe 7.6%, #F6F7F8);
118   - margin: 0;
119   - font-weight: normal;
120   - font-weight: bold;
121   - text-align: left;
122   - color: #97A0A5;
  113 + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #fefefe), to(#F6F7F8));
  114 + background-image: -webkit-linear-gradient(#fefefe 7.6%, #F6F7F8);
  115 + background-image: -moz-linear-gradient(#fefefe 7.6%, #F6F7F8);
  116 + background-image: -o-linear-gradient(#fefefe 7.6%, #F6F7F8);
  117 + margin: 0;
  118 + font-weight: normal;
  119 + font-weight: bold;
  120 + text-align: left;
  121 + color: #97A0A5;
123 122 }
124 123 td, th{ padding: .9em 1em; vertical-align: middle; }
125 124  
... ... @@ -127,37 +126,36 @@ table thead .image{width:100px}
127 126 table tr:hover, .listed_items tr.odd:hover{background-color:#FFFFCF}
128 127 /* eo Tables */
129 128  
130   -
131 129 /* Buttons */
132 130 .grey-button{
133   - border-radius: 5px;
134   - font-size: 12px;
135   - font-weight: bold;
136   - padding: 6px 20px;
137   - border: 1px solid #999;
138   - color: #666;
139   - display: inline-block;
140   - box-shadow: 0 1px 2px rgba(0,0,0,.3);
141   - background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #f7f7f7), to(#d5d5d5));
142   - background-image: -webkit-linear-gradient(#f7f7f7 7.6%, #d5d5d5);
143   - background-image: -moz-linear-gradient(#f7f7f7 7.6%, #d5d5d5);
144   - background-image: -o-linear-gradient(#f7f7f7 7.6%, #d5d5d5);
  131 + border-radius: 5px;
  132 + font-size: 12px;
  133 + font-weight: bold;
  134 + padding: 6px 20px;
  135 + border: 1px solid #999;
  136 + color: #666;
  137 + display: inline-block;
  138 + box-shadow: 0 1px 2px rgba(0,0,0,.3);
  139 + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #f7f7f7), to(#d5d5d5));
  140 + background-image: -webkit-linear-gradient(#f7f7f7 7.6%, #d5d5d5);
  141 + background-image: -moz-linear-gradient(#f7f7f7 7.6%, #d5d5d5);
  142 + background-image: -o-linear-gradient(#f7f7f7 7.6%, #d5d5d5);
145 143 }
146 144  
147 145 a.button, input.button {
148   - font-weight: bold;
149   - padding: 10px 20px;
150   - text-align: center;
151   - display: inline-block;
152   - border-radius: 5px;
153   - color: #578E91;
154   - font-size: 12px;
155   - text-transform: uppercase;
156   - border: 1px solid #8CE2E6;
157   - background-image: -webkit-gradient(linear, 0 0, 0 34, color-stop(0.794, #dbf5f6), to(#c5eef0));
158   - background-image: -webkit-linear-gradient(#dbf5f6 79.4%, #c5eef0);
159   - background-image: -moz-linear-gradient(#dbf5f6 79.4%, #c5eef0);
160   - background-image: -o-linear-gradient(#dbf5f6 79.4%, #c5eef0);
  146 + font-weight: bold;
  147 + padding: 10px 20px;
  148 + text-align: center;
  149 + display: inline-block;
  150 + border-radius: 5px;
  151 + color: #578E91;
  152 + font-size: 12px;
  153 + text-transform: uppercase;
  154 + border: 1px solid #8CE2E6;
  155 + background-image: -webkit-gradient(linear, 0 0, 0 34, color-stop(0.794, #dbf5f6), to(#c5eef0));
  156 + background-image: -webkit-linear-gradient(#dbf5f6 79.4%, #c5eef0);
  157 + background-image: -moz-linear-gradient(#dbf5f6 79.4%, #c5eef0);
  158 + background-image: -o-linear-gradient(#dbf5f6 79.4%, #c5eef0);
161 159 }
162 160  
163 161 input.button{margin-bottom: 1.5em}
... ... @@ -167,21 +165,21 @@ input.button{margin-bottom: 1.5em}
167 165 .button.green {margin-right: 0; }
168 166  
169 167 .button.yellow{
170   - color: #908054;
171   - border-color: #DDCDA1;
172   - background-image: -webkit-gradient(linear, 0 0, 0 34, color-stop(0.794, #FFEFC3), to(#F3E3B7));
173   - background-image: -webkit-linear-gradient(#FFEFC3 79.4%, #F3E3B7);
174   - background-image: -moz-linear-gradient(#FFEFC3 79.4%, #F3E3B7);
175   - background-image: -o-linear-gradient(#FFEFC3 79.4%, #F3E3B7);
  168 + color: #908054;
  169 + border-color: #DDCDA1;
  170 + background-image: -webkit-gradient(linear, 0 0, 0 34, color-stop(0.794, #FFEFC3), to(#F3E3B7));
  171 + background-image: -webkit-linear-gradient(#FFEFC3 79.4%, #F3E3B7);
  172 + background-image: -moz-linear-gradient(#FFEFC3 79.4%, #F3E3B7);
  173 + background-image: -o-linear-gradient(#FFEFC3 79.4%, #F3E3B7);
176 174 }
177 175  
178 176 .button.blue{
179   - color: #417E97;
180   - border-color: #b2cdec;
181   - background-image: -webkit-gradient(linear, 0 0, 0 34, color-stop(0.794, #dbe8f6), to(#c7daf1));
182   - background-image: -webkit-linear-gradient(#dbe8f6 79.4%, #c7daf1);
183   - background-image: -moz-linear-gradient(#dbe8f6 79.4%, #c7daf1);
184   - background-image: -o-linear-gradient(#dbe8f6 79.4%, #c7daf1);
  177 + color: #417E97;
  178 + border-color: #b2cdec;
  179 + background-image: -webkit-gradient(linear, 0 0, 0 34, color-stop(0.794, #dbe8f6), to(#c7daf1));
  180 + background-image: -webkit-linear-gradient(#dbe8f6 79.4%, #c7daf1);
  181 + background-image: -moz-linear-gradient(#dbe8f6 79.4%, #c7daf1);
  182 + background-image: -o-linear-gradient(#dbe8f6 79.4%, #c7daf1);
185 183 }
186 184  
187 185 .button-small{ text-shadow: none; padding: 4px 10px; }
... ... @@ -192,50 +190,49 @@ input.button{margin-bottom: 1.5em}
192 190 /* UI Box */
193 191 .ui-box{border: 1px solid #DEDFE1; float: left; border-radius: 5px}
194 192 .ui-box h3{
195   - background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #fefefe), to(#F6F7F8));
196   - background-image: -webkit-linear-gradient(#fefefe 7.6%, #F6F7F8);
197   - background-image: -moz-linear-gradient(#fefefe 7.6%, #F6F7F8);
198   - background-image: -o-linear-gradient(#fefefe 7.6%, #F6F7F8);
199   - margin: 0;
200   - padding: 1em;
201   - font-size: 12px;
202   - font-weight: normal;
203   - font-weight: bold;
204   - font-size: 16px;
205   - border-bottom: 1px solid #DEDFE1;
206   - -webkit-border-top-left-radius: 5px;
207   - -webkit-border-top-right-radius: 5px;
208   - -moz-border-radius-topleft: 5px;
209   - -moz-border-radius-topright: 5px;
210   - border-top-left-radius: 5px;
211   - border-top-right-radius: 5px;
  193 + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #fefefe), to(#F6F7F8));
  194 + background-image: -webkit-linear-gradient(#fefefe 7.6%, #F6F7F8);
  195 + background-image: -moz-linear-gradient(#fefefe 7.6%, #F6F7F8);
  196 + background-image: -o-linear-gradient(#fefefe 7.6%, #F6F7F8);
  197 + margin: 0;
  198 + padding: 1em;
  199 + font-size: 12px;
  200 + font-weight: normal;
  201 + font-weight: bold;
  202 + font-size: 16px;
  203 + border-bottom: 1px solid #DEDFE1;
  204 + -webkit-border-top-left-radius: 5px;
  205 + -webkit-border-top-right-radius: 5px;
  206 + -moz-border-radius-topleft: 5px;
  207 + -moz-border-radius-topright: 5px;
  208 + border-top-left-radius: 5px;
  209 + border-top-right-radius: 5px;
212 210 }
213 211  
214 212 .ui-box.ui-box-small h3{
215   - padding: 8px 10px;
216   - font-size: 12px;
  213 + padding: 8px 10px;
  214 + font-size: 12px;
217 215 }
218 216  
219   -
220 217 .ui-box .data{padding: .5em 1em}
221 218  
222 219 .ui-box .buttons{background-color: #f7f8f9; padding: 1em;
223   - -webkit-border-bottom-right-radius: 5px;
224   - -webkit-border-bottom-left-radius: 5px;
225   - -moz-border-radius-bottomright: 5px;
226   - -moz-border-radius-bottomleft: 5px;
227   - border-bottom-right-radius: 5px;
228   - border-bottom-left-radius: 5px;
  220 + -webkit-border-bottom-right-radius: 5px;
  221 + -webkit-border-bottom-left-radius: 5px;
  222 + -moz-border-radius-bottomright: 5px;
  223 + -moz-border-radius-bottomleft: 5px;
  224 + border-bottom-right-radius: 5px;
  225 + border-bottom-left-radius: 5px;
229 226 }
230 227  
231 228 .ui-box .buttons .button{padding: 8px 9px; font-size: 11px}
232 229  
233 230 .ui-box.hover:hover{box-shadow: 0 0 10px rgba(0,0,0,.1); border: 1px solid #ccc;
234   -
235   - -webkit-transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
236   - -moz-transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
237   - -o-transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
238   - transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
  231 +
  232 + -webkit-transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
  233 + -moz-transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
  234 + -o-transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
  235 + transition: all 200ms cubic-bezier(0.470, 0.000, 0.745, 0.715);
239 236 }
240 237  
241 238 /* eo UI Box */
... ... @@ -244,62 +241,61 @@ input.button{margin-bottom: 1.5em}
244 241 body.login-page{background-color: #f1f1f1; padding-top: 10%}
245 242  
246 243 .login-box{
247   - width: 304px;
248   - position: relative;
249   - border-radius: 5px;
250   - margin: auto;
251   - padding: 20px;
252   - background: white;
253   - box-shadow: rgba(0, 0, 0, 0.07) 0 1px 0,white 0 2px 0,rgba(0, 0, 0, 0.07) 0 3px 0,white 0 4px 0, rgba(0, 0, 0, 0.07) 0 5px 0;
  244 + width: 304px;
  245 + position: relative;
  246 + border-radius: 5px;
  247 + margin: auto;
  248 + padding: 20px;
  249 + background: white;
  250 + box-shadow: rgba(0, 0, 0, 0.07) 0 1px 0,white 0 2px 0,rgba(0, 0, 0, 0.07) 0 3px 0,white 0 4px 0, rgba(0, 0, 0, 0.07) 0 5px 0;
254 251 }
255 252  
256 253 .login-box .login-logo{
257   - margin: 10px 0 30px 0;
258   - display: block;
  254 + margin: 10px 0 30px 0;
  255 + display: block;
259 256 }
260 257  
261 258 .login-box input.text{background-color: #f1f1f1; font-size: 16px; border-radius: 0; padding: 14px 10px; width: 280px}
262 259  
263 260 .login-box input.text.top{
264   - -webkit-border-top-left-radius: 5px;
265   - -webkit-border-top-right-radius: 5px;
266   - -moz-border-radius-topleft: 5px;
267   - -moz-border-radius-topright: 5px;
268   - border-top-left-radius: 5px;
269   - border-top-right-radius: 5px;
  261 + -webkit-border-top-left-radius: 5px;
  262 + -webkit-border-top-right-radius: 5px;
  263 + -moz-border-radius-topleft: 5px;
  264 + -moz-border-radius-topright: 5px;
  265 + border-top-left-radius: 5px;
  266 + border-top-right-radius: 5px;
270 267 }
271 268  
272 269 .login-box input.text.bottom{
273   - -webkit-border-bottom-right-radius: 5px;
274   - -webkit-border-bottom-left-radius: 5px;
275   - -moz-border-radius-bottomright: 5px;
276   - -moz-border-radius-bottomleft: 5px;
277   - border-bottom-right-radius: 5px;
278   - border-bottom-left-radius: 5px;
279   - border-top: 0;
280   - margin-bottom: 20px;
  270 + -webkit-border-bottom-right-radius: 5px;
  271 + -webkit-border-bottom-left-radius: 5px;
  272 + -moz-border-radius-bottomright: 5px;
  273 + -moz-border-radius-bottomleft: 5px;
  274 + border-bottom-right-radius: 5px;
  275 + border-bottom-left-radius: 5px;
  276 + border-top: 0;
  277 + margin-bottom: 20px;
281 278 }
282 279  
283 280 .login-box a.forgot{float: right; padding-top: 6px}
284 281  
285   -
286 282 /* Icons */
287 283 .directory, .file{
288   - display: inline-block;
289   - margin-right: 10px;
290   - width: 14px;
  284 + display: inline-block;
  285 + margin-right: 10px;
  286 + width: 14px;
291 287 }
292 288  
293 289 .directory{
294   - background: url('images.png') no-repeat -73px -26px;
295   - height: 11px;
296   - margin-bottom: -1px;
  290 + background: url('images.png') no-repeat -73px -26px;
  291 + height: 11px;
  292 + margin-bottom: -1px;
297 293 }
298 294  
299 295 .file{
300   - background: url('images.png') no-repeat -114px -24px;
301   - height: 16px;
302   - margin-bottom: -3px;
  296 + background: url('images.png') no-repeat -114px -24px;
  297 + height: 16px;
  298 + margin-bottom: -3px;
303 299 }
304 300  
305 301 /* eo Icons*/
... ... @@ -315,7 +311,7 @@ body.login-page{background-color: #f1f1f1; padding-top: 10%}
315 311 textarea
316 312 {
317 313 border: 1px solid #FFBBBB;
318   - background: #fff4f6;
  314 + background: #fff4f6;
319 315 }
320 316 }
321 317 /* eo Errors */
... ... @@ -324,91 +320,84 @@ body.login-page{background-color: #f1f1f1; padding-top: 10%}
324 320 #container{background-color: white; overflow: hidden; }
325 321 body.collapsed #container{margin: auto; width: 980px; border: 1px solid rgba(0,0,0,.22); border-top: 0; box-shadow: 0 0 0px 4px rgba(0,0,0,.04)}
326 322  
327   -
328   -
329 323 /* Header */
330 324 header{background: #474D57 url('bg-header.png') repeat-x bottom; z-index: 10000; height: 44px; padding: 10px 2% 6px 2%; position: relative}
331 325 header a{color: white; text-shadow: 0 -1px 0 black}
332 326 header a:hover{color: #f1f1f1}
333 327 header h1{
334   - width: 65px;
  328 + width: 65px;
335 329 }
336 330 header h1.logo{margin: 0; padding: 0}
337 331 header h1.logo a{
338   - background: url('images.png') no-repeat -3px -7px;
339   - width: 65px;
340   - height: 26px;
341   - margin: 5px 0;
342   - padding: 0;
343   - display: block;
344   - float: left;
345   - text-indent: -1000em;
  332 + background: url('images.png') no-repeat -3px -7px;
  333 + width: 65px;
  334 + height: 26px;
  335 + margin: 5px 0;
  336 + padding: 0;
  337 + display: block;
  338 + float: left;
  339 + text-indent: -1000em;
346 340 }
347 341  
348   -
349   -
350 342 header nav{border-radius: 4px; box-shadow: 0 1px 2px black; width: 294px; margin: auto;
351   - background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595d63), to(#31363e));
352   - background-image: -webkit-linear-gradient(#595d63 6.6%, #31363e);
353   - background-image: -moz-linear-gradient(#595d63 6.6%, #31363e);
354   - background-image: -o-linear-gradient(#595d63 6.6%, #31363e);
355   - margin-top: 2px;
356   - height:30px
  343 + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595d63), to(#31363e));
  344 + background-image: -webkit-linear-gradient(#595d63 6.6%, #31363e);
  345 + background-image: -moz-linear-gradient(#595d63 6.6%, #31363e);
  346 + background-image: -o-linear-gradient(#595d63 6.6%, #31363e);
  347 + margin-top: 2px;
  348 + height:30px
357 349 }
358 350 header nav a{padding: 8px 12px 8px 34px; display: inline-block; color: #D6DADF; border-right: 1px solid #31363E; position: relative; box-shadow: 1px 0 0 rgba(255,255,255,.1); margin: 0}
359 351 header nav a span{width: 20px; height: 20px; display: inline-block; background: red; position: absolute; left: 8px; top: 6px;}
360 352 header nav a:last-child {border: 0; box-shadow: none}
361 353 header nav a:hover, header nav a.current{
362   - background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595d63), to(#2c2f35));
363   - background-image: -webkit-linear-gradient(#595d63 6.6%, #2c2f35);
364   - background-image: -moz-linear-gradient(#595d63 6.6%, #202227);
365   - background-image: -o-linear-gradient(#595d63 6.6%, #202227);
  354 + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595d63), to(#2c2f35));
  355 + background-image: -webkit-linear-gradient(#595d63 6.6%, #2c2f35);
  356 + background-image: -moz-linear-gradient(#595d63 6.6%, #202227);
  357 + background-image: -o-linear-gradient(#595d63 6.6%, #202227);
366 358 }
367 359  
368 360 header nav a:active{
369   - box-shadow: 0 1px 4px rgba(0,0,0,.8) inset;
  361 + box-shadow: 0 1px 4px rgba(0,0,0,.8) inset;
370 362 }
371 363  
372   -
373 364 header nav a.dashboard {
374   - -webkit-border-top-left-radius: 4px;
375   - -webkit-border-bottom-left-radius: 4px;
376   - -moz-border-radius-topleft: 4px;
377   - -moz-border-radius-bottomleft: 4px;
378   - border-top-left-radius: 4px;
379   - border-bottom-left-radius: 4px;
  365 + -webkit-border-top-left-radius: 4px;
  366 + -webkit-border-bottom-left-radius: 4px;
  367 + -moz-border-radius-topleft: 4px;
  368 + -moz-border-radius-bottomleft: 4px;
  369 + border-top-left-radius: 4px;
  370 + border-bottom-left-radius: 4px;
380 371 }
381 372  
382 373 header nav a.admin{
383   - -webkit-border-top-right-radius: 4px;
384   - -webkit-border-bottom-right-radius: 4px;
385   - -moz-border-radius-topright: 4px;
386   - -moz-border-radius-bottomright: 4px;
387   - border-top-right-radius: 4px;
388   - border-bottom-right-radius: 4px;
  374 + -webkit-border-top-right-radius: 4px;
  375 + -webkit-border-bottom-right-radius: 4px;
  376 + -moz-border-radius-topright: 4px;
  377 + -moz-border-radius-bottomright: 4px;
  378 + border-top-right-radius: 4px;
  379 + border-bottom-right-radius: 4px;
389 380 }
390 381  
391   -
392 382 header .search{ display: inline-block; float: right; margin-right: 46px}
393 383  
394 384 header nav a span{width: 20px; height: 20px; display: inline-block; background: red; position: absolute; left: 8px; top: 6px;}
395 385  
396 386 header nav a.dashboard span{background: url('images.png') no-repeat -161px 0;}
397   -header nav a.admin span{background: url('images.png') no-repeat -184px 0;}
398   -header nav a.project span{background: url('images.png') no-repeat -209px -1px; top: 7px}
399   -
  387 +header nav a.admin span{background: url('images.png') no-repeat -184px 0;}
  388 +header nav a.project span{background: url('images.png') no-repeat -209px -1px; top: 7px}
400 389  
401 390 header .login-top{float: right; width: 180px;
402   - background-image: -webkit-gradient(linear, 0 0, 0 62, color-stop(0.032, #464c56), to(#363c45));
403   - background-image: -webkit-linear-gradient(#464c56 3.2%, #363c45);
404   - background-image: -moz-linear-gradient(#464c56 3.2%, #363c45);
405   - background-image: -o-linear-gradient(#464c56 3.2%, #363c45);
406   - padding: 0 10px;
407   - height: 44px;
  391 + background-image: -webkit-gradient(linear, 0 0, 0 62, color-stop(0.032, #464c56), to(#363c45));
  392 + background-image: -webkit-linear-gradient(#464c56 3.2%, #363c45);
  393 + background-image: -moz-linear-gradient(#464c56 3.2%, #363c45);
  394 + background-image: -o-linear-gradient(#464c56 3.2%, #363c45);
  395 + padding: 0 10px;
  396 + height: 44px;
408 397 }
409 398 header .login-top a{display: block;}
410 399 header .login-top a.pic{float: left; margin-right: 10px;
411   - img{ height: 36px; width: 36px; border: 1px solid black}
  400 + img{ height: 36px; width: 36px; border: 1px solid black}
412 401 }
413 402 header .login-top a.username{margin-bottom: 5px}
414 403 header .login-top a.logout{color: #ccc}
... ... @@ -419,12 +408,11 @@ header{margin-bottom: 0; clear: both; }
419 408 .page-title a.grey-button{float: right;}
420 409 .right{float: right;}
421 410  
422   -
423 411 /* Account box */
424 412 header .account-box{position: absolute; right: 0; top: 8px; z-index: 10000; width: 128px; font-size: 11px; float: right; display: block; cursor: pointer;}
425 413 header .account-box img{ border-radius: 4px; right: 20px; position: absolute; width: 38px; height: 38px; display: block; box-shadow: 0 1px 2px black}
426 414 header .account-box img:after{
427   - content: " ";
  415 + content: " ";
428 416 display: block;
429 417 position: absolute;
430 418 top: 0;
... ... @@ -432,7 +420,7 @@ header .account-box img:after{
432 420 left: 0;
433 421 bottom: 0;
434 422 float: right;
435   - border-radius: 5px;
  423 + border-radius: 5px;
436 424 border: 1px solid rgba(255, 255, 255, .1);
437 425 border-bottom: 0;
438 426 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255, 255, 255, .15)), to(rgba(0, 0, 0, .25))), -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(255, 255, 255, 0)), color-stop(0.5, rgba(255, 255, 255, .1)), color-stop(0.501, rgba(255, 255, 255, 0)), color-stop(1, rgba(255, 255, 255, 0)));
... ... @@ -462,7 +450,6 @@ header .account-links:before {
462 450 z-index:10;
463 451 }
464 452  
465   -
466 453 /* Inspired by http://maxvoltar.com/temp/nowplaying/ */
467 454 header .account-links{background: white; display: none; z-index: 100000; border-radius: 5px; width: 100px; position: absolute; right: 20px; top: 46px; margin-top: 0; float: right; box-shadow: 0 1px 1px rgba(0,0,0,.2); }
468 455 header .account-links a{color: #666; padding: 6px 10px; display: block; text-shadow: none; border-bottom: 1px solid #eee}
... ... @@ -470,28 +457,28 @@ header .account-links a:hover{
470 457 background: #3aacec;
471 458 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#39acec), to(#279ada), color-stop(.05, #4cbefe));
472 459 background: -moz-linear-gradient(top, #39acec, #4cbefe 5%, #279ada);
473   - background: linear-gradient(top, #39acec, #4cbefe 5%, #279ada);
474   - color: #fff;
  460 + background: linear-gradient(top, #39acec, #4cbefe 5%, #279ada);
  461 + color: #fff;
475 462 text-shadow: #1488c8 0 -1px 0;
476 463 }
477 464 .account-box.hover .arrow-up{top: 41px; right: 6px; position: absolute}
478 465 header .account-links a:first-child{
479   - -webkit-border-top-left-radius: 5px;
480   - -webkit-border-top-right-radius: 5px;
481   - -moz-border-radius-topleft: 5px;
482   - -moz-border-radius-topright: 5px;
483   - border-top-left-radius: 5px;
484   - border-top-right-radius: 5px;
  466 + -webkit-border-top-left-radius: 5px;
  467 + -webkit-border-top-right-radius: 5px;
  468 + -moz-border-radius-topleft: 5px;
  469 + -moz-border-radius-topright: 5px;
  470 + border-top-left-radius: 5px;
  471 + border-top-right-radius: 5px;
485 472 }
486 473  
487 474 header .account-links a:last-child{
488   - -webkit-border-bottom-right-radius: 5px;
489   - -webkit-border-bottom-left-radius: 5px;
490   - -moz-border-radius-bottomright: 5px;
491   - -moz-border-radius-bottomleft: 5px;
492   - border-bottom-right-radius: 5px;
493   - border-bottom-left-radius: 5px;
494   - border-bottom: 0;
  475 + -webkit-border-bottom-right-radius: 5px;
  476 + -webkit-border-bottom-left-radius: 5px;
  477 + -moz-border-radius-bottomright: 5px;
  478 + -moz-border-radius-bottomleft: 5px;
  479 + border-bottom-right-radius: 5px;
  480 + border-bottom-left-radius: 5px;
  481 + border-bottom: 0;
495 482 }
496 483  
497 484 #no_ssh_key_defined {
... ... @@ -509,13 +496,10 @@ input.search-input:focus{ background-color: white; width: 216px;}
509 496 input.search-input::-webkit-input-placeholder {color: #666}
510 497 /* eo Header */
511 498  
512   -
513 499 h2.icon{position: relative; padding-left: 40px; float: left; }
514 500 /*h2 a{font-weight: normal;}*/
515 501 h2.icon span{background: #E3E5EA url('images.png'); height: 32px; width: 32px; left: 0; top: -5px; border-radius: 4px; display: inline-block; position: absolute}
516 502  
517   -
518   -
519 503 /* Dashboard Page */
520 504 html, body { height: 100%; }
521 505  
... ... @@ -545,25 +529,22 @@ body.dashboard-page .news-feed .project-updates a.project-update span.update-aut
545 529 body.dashboard-page .news-feed .project-updates a.project-update span.update-author strong{font-weight: bold; font-style: normal;}
546 530 /* eo Dashboard Page */
547 531  
548   -
549 532 .grey-button.right{margin-top: 20px}
550 533  
551 534 /* Project Page */
552 535  
553 536 body.project-page h2.icon .project-name, body.project-page h2.icon d{border: 1px solid #eee; padding: 5px 30px 5px 10px; border-radius: 5px; position: relative;}
554 537 body.project-page h2.icon .project-name i.arrow{float: right;
555   - position: absolute;
556   - right: 10px;
557   - top: 13px;
558   - display: block;
559   - background: url('images.png') no-repeat -97px -29px;
560   - width: 4px;
561   - height: 5px;
  538 + position: absolute;
  539 + right: 10px;
  540 + top: 13px;
  541 + display: block;
  542 + background: url('images.png') no-repeat -97px -29px;
  543 + width: 4px;
  544 + height: 5px;
562 545 }
563 546  
564   -
565   -
566   -body.project-page h2.icon span{ background-position: -78px -68px; }
  547 +body.project-page h2.icon span{ background-position: -78px -68px; }
567 548 body.project-page .project-container{ position: relative; float: left; width: 100%; height: 100%; }
568 549 body.project-page .page-title{margin-bottom: 0}
569 550 body.project-page .project-sidebar {width: 220px; left: 0; top: 0; height: 100%; bottom: 0; position: absolute; background-color: #f7f7f7; float: left; display: inline-block; background: #f7f7f7; padding: 20px 0 20px 2%; margin: 0; }
... ... @@ -575,18 +556,17 @@ body.projects-page input.text.git-url {margin:10px 0 0 }
575 556  
576 557 .projects_selector:hover > .project-box{ -moz-box-shadow:0px 0px 10px rgba(0, 0, 0, .1); -webkit-box-shadow:0px 0px 10px rgba(0, 0, 0, .1); box-shadow:0px 0px 10px rgba(0, 0, 0, .1); }
577 558  
578   -
579 559 body.project-page .project-sidebar aside{width: 219px}
580 560 body.project-page .project-sidebar aside a{display: block; position: relative; background: white; padding: 15px 10px; border-bottom: 1px solid #eee}
581 561 body.project-page .project-sidebar aside a:first-child{
582   - -webkit-border-top-left-radius: 5px;
583   - -moz-border-radius-topleft: 5px;
584   - border-top-left-radius: 5px;
  562 + -webkit-border-top-left-radius: 5px;
  563 + -moz-border-radius-topleft: 5px;
  564 + border-top-left-radius: 5px;
585 565 }
586 566 .project-page .project-sidebar aside a:last-child{
587   - -webkit-border-bottom-left-radius: 5px;
588   - -moz-border-radius-bottomleft: 5px;
589   - border-bottom-left-radius: 5px;
  567 + -webkit-border-bottom-left-radius: 5px;
  568 + -moz-border-radius-bottomleft: 5px;
  569 + border-bottom-left-radius: 5px;
590 570 }
591 571 body.project-page .project-sidebar aside a:hover{background-color: #eee;}
592 572 body.project-page .project-sidebar aside a span.number{float: right; border-radius: 5px; text-shadow: none; background: rgba(0,0,0,.12); text-align: center; padding: 5px 8px; position: absolute; top: 10px; right: 10px}
... ... @@ -595,7 +575,7 @@ body.project-page .project-content{ padding: 20px; display: block; margin-left:
595 575 body.project-page .project-content h2{ margin-top: 6px}
596 576 body.project-page .project-content .button.right{margin-left: 20px}
597 577 body.project-page table .commit a{color: #{$blue_link}}
598   -body.project-page table th, body.project-page table td{ border-bottom: 1px solid #DEE2E3;}
  578 +body.project-page table th, body.project-page table td{ border-bottom: 1px solid #DEE2E3;}
599 579 body.project-page .fixed{position: fixed; }
600 580  
601 581 /* New project Page */
... ... @@ -606,32 +586,31 @@ body.project-page .fixed{position: fixed; }
606 586 /* Commit Page */
607 587 body.project-page.commits-page .commit-info{float: right;}
608 588 body.project-page.commits-page .commit-info data{
609   - padding: 4px 10px;
610   - font-size: 11px;
  589 + padding: 4px 10px;
  590 + font-size: 11px;
611 591 }
612 592 body.project-page.commits-page .commit-info data.commit-button{
613   - background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.192, #fff), to(#f4f4f4));
614   - background-image: -webkit-linear-gradient(#fff 19.2%, #f4f4f4);
615   - background-image: -moz-linear-gradient(#fff 19.2%, #f4f4f4);
616   - background-image: -o-linear-gradient(#fff 19.2%, #f4f4f4);
617   - box-shadow: 0 -1px 0 white inset;
618   - display: block;
619   - border: 1px solid #eee;
620   - border-radius: 5px;
621   - margin-bottom: 2px;
622   - position: relative;
623   - padding-right: 20px;
  593 + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.192, #fff), to(#f4f4f4));
  594 + background-image: -webkit-linear-gradient(#fff 19.2%, #f4f4f4);
  595 + background-image: -moz-linear-gradient(#fff 19.2%, #f4f4f4);
  596 + background-image: -o-linear-gradient(#fff 19.2%, #f4f4f4);
  597 + box-shadow: 0 -1px 0 white inset;
  598 + display: block;
  599 + border: 1px solid #eee;
  600 + border-radius: 5px;
  601 + margin-bottom: 2px;
  602 + position: relative;
  603 + padding-right: 20px;
624 604 }
625 605  
626   -
627 606 body.project-page.commits-page .commit-button i{
628   - background: url('images.png') no-repeat -138px -27px;
629   - width: 6px;
630   - height: 9px;
631   - float: right;
632   - position: absolute;
633   - top: 6px;
634   - right: 5px;
  607 + background: url('images.png') no-repeat -138px -27px;
  608 + width: 6px;
  609 + height: 9px;
  610 + float: right;
  611 + position: absolute;
  612 + top: 6px;
  613 + right: 5px;
635 614 }
636 615 body.project-page.commits-page .commits-date {display: block; width: 100%; margin-bottom: 20px}
637 616 body.project-page.commits-page .commits-date .data {padding: 0}
... ... @@ -648,9 +627,6 @@ body.project-page.commits-page .commits-date a.commit span.commit-author strong{
648 627  
649 628 /* eo Project Page */
650 629  
651   -
652   -
653   -
654 630 /* Projects Page */
655 631 body.projects-page h2.icon span{background-position: -31px -70px;}
656 632 body.projects-page .project-box.ui-box .data .repository {margin-bottom: 20px}
... ... @@ -659,7 +635,6 @@ body.projects-page .project-box{width: 100%; margin-bottom: 3em}
659 635 body.projects-page .browse-code{margin-right: 10px}
660 636 /* eo Projects Page */
661 637  
662   -
663 638 /* ==|== non-semantic helper classes ======================================== */
664 639 .ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
665 640 .ir br { display: none; }
... ... @@ -671,28 +646,24 @@ body.projects-page .browse-code{margin-right: 10px}
671 646 .clearfix:after { clear: both; }
672 647 .clearfix { zoom: 1; }
673 648  
674   -
675 649 /* ==|== media queries ====================================================== */
676 650  
677 651 @media only screen and (min-width: 480px) {
678 652  
679   -
680 653 }
681 654  
682 655 @media only screen and (min-width: 768px) {
683 656  
684 657 }
685 658  
686   -
687   -
688 659 /* ==|== print styles ======================================================= */
689   -
  660 +
690 661 @media print {
691   - * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
  662 + * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
692 663 a, a:visited { text-decoration: underline; }
693 664 a[href]:after { content: " (" attr(href) ")"; }
694 665 abbr[title]:after { content: " (" attr(title) ")"; }
695   - .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
  666 + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
696 667 pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
697 668 thead { display: table-header-group; }
698 669 tr, img { page-break-inside: avoid; }
... ...
app/assets/stylesheets/tags.css.css
1 1 .tags-list {
2   - padding : 0px 10px 10px 10px;
3   -
  2 + padding : 0px 10px 10px 10px;
  3 +
4 4 }
5 5  
6 6 .tags-list a {
... ... @@ -15,7 +15,6 @@
15 15 font-size: 14px;
16 16 }
17 17  
18   -
19 18 .small-tags a{
20 19 font-size: 9px;
21 20  
... ... @@ -26,10 +25,9 @@
26 25 background-color: #72bbdf;
27 26 color: #FFF;
28 27 text-shadow: none;
29   - font-weight: bold;
  28 + font-weight: bold;
30 29 }
31 30  
32   -
33 31 .medium-tags a{
34 32 font-size: 12px;
35 33  
... ... @@ -40,5 +38,5 @@
40 38 background-color: #72bbdf;
41 39 color: #FFF;
42 40 text-shadow: none;
43   - font-weight: bold;
44   -}
45 41 \ No newline at end of file
  42 + font-weight: bold;
  43 +}
... ...
app/controllers/application_controller.rb
... ... @@ -79,8 +79,8 @@ class ApplicationController < ActionController::Base
79 79 elsif params[:last_id]
80 80 @notes = @notes.where("id > ?", params[:last_id])
81 81 elsif params[:first_id]
82   - @notes = @notes.where("id < ?", params[:first_id])
83   - else
  82 + @notes = @notes.where("id < ?", params[:first_id])
  83 + else
84 84 nil
85 85 end
86 86 end
... ...
app/controllers/commits_controller.rb
... ... @@ -10,7 +10,6 @@ class CommitsController &lt; ApplicationController
10 10 before_filter :require_non_empty_project
11 11 before_filter :load_refs, :only => :index # load @branch, @tag & @ref
12 12  
13   -
14 13 def index
15 14 @repo = project.repo
16 15 limit, offset = (params[:limit] || 20), (params[:offset] || 0)
... ...
app/controllers/projects_controller.rb
... ... @@ -79,7 +79,7 @@ class ProjectsController &lt; ApplicationController
79 79 @notes = @project.common_notes.order("created_at DESC")
80 80 @notes = @notes.fresh.limit(20)
81 81  
82   - respond_to do |format|
  82 + respond_to do |format|
83 83 format.html
84 84 format.js { respond_with_notes }
85 85 end
... ... @@ -168,7 +168,7 @@ class ProjectsController &lt; ApplicationController
168 168  
169 169 def add_refs(commit, ref_cache)
170 170 if ref_cache.empty?
171   - @repo.refs.each do |ref|
  171 + @repo.refs.each do |ref|
172 172 ref_cache[ref.commit.id] ||= []
173 173 ref_cache[ref.commit.id] << ref
174 174 end
... ...
app/controllers/tags_controller.rb
1 1 class TagsController < ApplicationController
2   - def index
3   - @tags = Project.tag_counts.order('count DESC')
4   - @tags = @tags.where('name like ?', "%#{params[:term]}%") unless params[:term].blank?
  2 + def index
  3 + @tags = Project.tag_counts.order('count DESC')
  4 + @tags = @tags.where('name like ?', "%#{params[:term]}%") unless params[:term].blank?
5 5  
6   - respond_to do |format|
7   - format.html
8   - format.json { render json: @tags.limit(8).map {|t| t.name}}
9   - end
10   - end
  6 + respond_to do |format|
  7 + format.html
  8 + format.json { render json: @tags.limit(8).map {|t| t.name}}
  9 + end
  10 + end
11 11 end
... ...
app/helpers/application_helper.rb
... ... @@ -11,7 +11,7 @@ module ApplicationHelper
11 11 end
12 12  
13 13 def body_class(default_class = nil)
14   - main = content_for(:body_class).blank? ?
  14 + main = content_for(:body_class).blank? ?
15 15 default_class :
16 16 content_for(:body_class)
17 17  
... ... @@ -42,7 +42,7 @@ module ApplicationHelper
42 42 else
43 43 "Never"
44 44 end
45   - rescue
  45 + rescue
46 46 "Never"
47 47 end
48 48  
... ...
app/helpers/dashboard_helper.rb
... ... @@ -4,7 +4,7 @@ module DashboardHelper
4 4 when "Issue" then project_issue_path(project, project.issues.find(object.id))
5 5 when "Grit::Commit" then project_commit_path(project, project.repo.commits(object.id).first)
6 6 when "Note"
7   - then
  7 + then
8 8 note = object
9 9 case note.noteable_type
10 10 when "Issue" then project_issue_path(project, note.noteable_id)
... ... @@ -12,9 +12,9 @@ module DashboardHelper
12 12 when "Commit" then project_commit_path(project, :id => note.noteable_id)
13 13 else wall_project_path(project)
14 14 end
15   - else wall_project_path(project)
  15 + else wall_project_path(project)
16 16 end
17   - rescue
  17 + rescue
18 18 "#"
19 19 end
20 20  
... ...
app/models/issue.rb
... ... @@ -11,8 +11,8 @@ class Issue &lt; ActiveRecord::Base
11 11 validates_presence_of :author_id
12 12  
13 13 delegate :name,
14   - :email,
15   - :to => :author,
  14 + :email,
  15 + :to => :author,
16 16 :prefix => true
17 17  
18 18 validates :title,
... ...
app/models/note.rb
... ... @@ -8,8 +8,8 @@ class Note &lt; ActiveRecord::Base
8 8 :class_name => "User"
9 9  
10 10 delegate :name,
11   - :email,
12   - :to => :author,
  11 + :email,
  12 + :to => :author,
13 13 :prefix => true
14 14  
15 15 attr_protected :author, :author_id
... ...
app/models/project.rb
... ... @@ -121,9 +121,9 @@ class Project &lt; ActiveRecord::Base
121 121 private_flag
122 122 end
123 123  
124   - def last_activity
  124 + def last_activity
125 125 updates(1).first
126   - rescue
  126 + rescue
127 127 nil
128 128 end
129 129  
... ... @@ -132,7 +132,7 @@ class Project &lt; ActiveRecord::Base
132 132 end
133 133  
134 134 def updates(n = 3)
135   - [
  135 + [
136 136 fresh_commits(n),
137 137 issues.last(n),
138 138 notes.fresh.limit(n)
... ...
app/models/repository.rb
... ... @@ -9,7 +9,7 @@ class Repository
9 9 @project = project
10 10 end
11 11  
12   - def path
  12 + def path
13 13 @path ||= project.path
14 14 end
15 15  
... ...
app/views/admin/projects/_form.html.haml
1 1 = form_for [:admin, @admin_project] do |f|
2 2 -if @admin_project.errors.any?
3 3 #error_explanation
4   - %h2= "#{pluralize(@admin_project.errors.count, "error")} prohibited this admin_project from being saved:"
  4 + %h2= "#{pluralize(@admin_project.errors.count, "error")} prohibited this admin_project from being saved:"
5 5 %ul
6 6 - @admin_project.errors.full_messages.each do |msg|
7 7 %li= msg
... ... @@ -19,7 +19,6 @@
19 19 %br
20 20 = f.text_field :path
21 21  
22   -
23 22 .form-row
24 23 = f.label :tag_list
25 24 %br
... ... @@ -36,4 +35,4 @@
36 35 :javascript
37 36 $(function(){
38 37 taggifyForm();
39   - })
  38 + })
... ...
app/views/commits/index.html.haml
... ... @@ -6,7 +6,7 @@
6 6 %h2.icon
7 7 %span
8 8 %d
9   - = link_to project_commits_path(@project) do
  9 + = link_to project_commits_path(@project) do
10 10 = @project.name
11 11 - if params[:path]
12 12 \/
... ... @@ -20,8 +20,6 @@
20 20 .loading{ :style => "display:none;"}
21 21 %center= image_tag "ajax-loader.gif"
22 22  
23   -
24   -
25 23 :javascript
26 24 $(function(){
27 25 CommitsList.init("#{@ref}", 20);
... ...
app/views/dashboard/index.html.haml
... ... @@ -27,13 +27,13 @@
27 27 %a.project-update{:href => dashboard_feed_path(project, update)}
28 28 = image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
29 29 %span.update-title
30   - - if update.kind_of?(Grit::Commit)
  30 + - if update.kind_of?(Grit::Commit)
31 31 %span.right.tag.commit= update.head.name
32 32 = dashboard_feed_title(update)
33 33 %span.update-author
34 34 %strong= update.author_name
35 35 authored
36   - = time_ago_in_words(update.created_at)
  36 + = time_ago_in_words(update.created_at)
37 37 ago
38 38 / #news-feed
39 39 / #dashboard-content
... ...
app/views/issues/_show.html.haml
... ... @@ -18,7 +18,7 @@
18 18 - if can? current_user, :write_issue, issue
19 19 - if issue.closed
20 20 = link_to 'Reopen', project_issue_path(@project, issue, :issue => {:closed => false }, :status_only => true), :method => :put, :class => "cgray", :remote => true
21   - - else
  21 + - else
22 22 = link_to 'Resolve', project_issue_path(@project, issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "cgray", :remote => true
23 23 - if can? current_user, :write_issue, issue
24 24 = link_to 'Edit', edit_project_issue_path(@project, issue), :class => "cgray edit-issue-link", :remote => true
... ...
app/views/issues/index.html.haml
... ... @@ -31,7 +31,6 @@
31 31 var href = $('.issue_search').parent().attr('action');
32 32 var last_terms = '';
33 33  
34   -
35 34 var setIssueFilter = function(form, value){
36 35 $.cookie('issue_filter', value, { expires: 140 });
37 36 form.submit();
... ...
app/views/issues/show.html.haml
... ... @@ -22,12 +22,12 @@
22 22 %td
23 23 = image_tag gravatar_icon(@issue.assignee.email), :class => "left", :width => 40, :style => "padding:0 5px;"
24 24 = @issue.assignee.name
25   - %tr
  25 + %tr
26 26 %td Tags
27 27 %td
28 28 - if @issue.critical
29 29 %span.tag.high critical
30   - - else
  30 + - else
31 31 %span.tag.normal normal
32 32  
33 33 - if @issue.today?
... ... @@ -42,7 +42,6 @@
42 42 - else
43 43 = check_box_tag "closed", 1, @issue.closed, :disabled => true
44 44  
45   -
46 45 - if can?(current_user, :write_issue, @issue)
47 46 .clear
48 47 %br
... ...
app/views/layouts/_head_panel.html.erb
... ... @@ -10,7 +10,7 @@
10 10  
11 11 <div class="account-links">
12 12 <%= link_to profile_path, :class => "username" do %>
13   - <%#= current_user.name %>
  13 + <%#= current_user.name %>
14 14 My profile
15 15 <% end %>
16 16 <%= link_to 'Logout', destroy_user_session_path, :class => "logout", :method => :delete %>
... ...
app/views/layouts/profile.html.haml
... ... @@ -19,7 +19,7 @@
19 19 %aside
20 20 = link_to "Profile", profile_path, :class => current_page?(:controller => "profile", :action => :show) ? "current" : nil
21 21 = link_to "Password", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil
22   - = link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do
  22 + = link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do
23 23 Keys
24 24 - unless current_user.keys.empty?
25 25 %span{ :class => "number" }= current_user.keys.count
... ...
app/views/notes/_form.html.haml
... ... @@ -14,7 +14,7 @@
14 14 %br
15 15 %br
16 16 = f.text_area :note, :size => 255
17   -
  17 +
18 18 %div.attach_holder
19 19 %br
20 20 = f.label :attachment
... ...
app/views/notes/_load.js.haml
... ... @@ -4,7 +4,6 @@
4 4 :plain
5 5 NoteList.replace(#{@notes.last.id}, #{@notes.first.id}, "#{escape_javascript(render(:partial => 'notes/notes_list'))}");
6 6  
7   -
8 7 - elsif params[:last_id]
9 8 :plain
10 9 NoteList.prepend(#{@notes.first.id}, "#{escape_javascript(render(:partial => 'notes/notes_list'))}");
... ...
app/views/notes/_show.html.haml
... ... @@ -7,7 +7,7 @@
7 7 ago
8 8 - if(note.author_id == current_user.id) || can?(current_user, :admin_note, @project)
9 9 = link_to "Remove", [@project, note], :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "cred delete-note right"
10   -
  10 +
11 11 %div.note-title
12 12 = markdown(note.note)
13 13 - if note.attachment.url
... ...
app/views/projects/_feed.html.haml
... ... @@ -5,11 +5,11 @@
5 5 %span.update-author
6 6 %strong= update.author_name
7 7 authored
8   - = time_ago_in_words(update.created_at)
  8 + = time_ago_in_words(update.created_at)
9 9 ago
10 10 .right
11 11 - klass = update.class.to_s.split("::").last.downcase
12 12 %span.tag{ :class => klass }= klass
13   - - if update.kind_of?(Grit::Commit)
  13 + - if update.kind_of?(Grit::Commit)
14 14 %span.tag.commit= update.head.name
15 15  
... ...
app/views/projects/_form.html.haml
1 1 = form_for(@project, :remote => true) do |f|
2 2 %div.form_content
3 3 - unless @project.new_record?
4   - %h2.icon
  4 + %h2.icon
5 5 %span
6 6 = @project.name
7 7 - if @project.errors.any?
... ... @@ -56,4 +56,4 @@
56 56 :javascript
57 57 $(function(){
58 58 taggifyForm();
59   - })
  59 + })
... ...
app/views/projects/_list.html.haml
... ... @@ -14,7 +14,6 @@
14 14 = project.name
15 15 .small-tags= tag_list project
16 16  
17   -
18 17 %td= truncate project.url_to_repo
19 18 %td= project.code
20 19 %td= check_box_tag "read", 1, project.readers.include?(current_user), :disabled => :disabled
... ...
app/views/projects/_refs.html.haml
1 1 = form_tag destination, :method => :get, :class => "project-refs-form" do
2 2 = select_tag "ref", grouped_options_refs, :onchange => "this.form.submit();", :class => "project-refs-select"
3 3  
4   -
5 4 :javascript
6 5 $(function(){
7 6 $('.project-refs-select').chosen();
... ...
app/views/projects/_tile.html.haml
... ... @@ -2,7 +2,7 @@
2 2 - projects.each_with_index do |project, i|
3 3 %div.grid_1.projects_selector
4 4 %div{ :class => "project-box ui-box ui-box-big" }
5   - = link_to project_path(project) do
  5 + = link_to project_path(project) do
6 6 %h3= truncate(project.name, :length => 20)
7 7 .data
8 8 %p.title.repository.git_url_wrapper
... ...
app/views/projects/_tree.html.haml
1   -
2 1 -#%a.right.button{:href => "#"} Download
3 2 -#-if can? current_user, :admin_project, @project
4 3 %a.right.button.blue{:href => "#"} EDIT
... ... @@ -6,7 +5,7 @@
6 5 %h2.icon
7 6 %span
8 7 %d
9   - = link_to tree_project_path(@project, :path => nil, :commit_id => @commit.try(:id)), :remote => true do
  8 + = link_to tree_project_path(@project, :path => nil, :commit_id => @commit.try(:id)), :remote => true do
10 9 = @project.name
11 10 - if params[:path]
12 11 - part_path = ""
... ...
app/views/projects/index.html.haml
... ... @@ -4,7 +4,7 @@
4 4 .grid_4
5 5 - if current_user.can_create_project?
6 6 %a.grey-button.right{:href => new_project_path} Create new project
7   - %h2.icon
  7 + %h2.icon
8 8 %span
9 9 Projects
10 10  
... ...
app/views/projects/new.html.haml
1 1 - content_for(:body_class, "new-project-page")
2 2 - content_for(:page_title) do
3   - .new-project-hodler
4   - .container
5   - %h2.icon
6   - %span
7   - New Project
  3 + .new-project-hodler
  4 + .container
  5 + %h2.icon
  6 + %span
  7 + New Project
8 8  
9   - %div.clear
10   - = render 'form'
  9 + %div.clear
  10 + = render 'form'
... ...
app/views/snippets/index.html.haml
... ... @@ -4,7 +4,7 @@
4 4  
5 5 %table.round-borders#snippets-table
6 6 %thead
7   - %th
  7 + %th
8 8 = render @snippets.fresh
9 9 :javascript
10 10 $('.delete-snippet').live('ajax:success', function() {
... ...
app/views/tags/index.html.haml
1 1 - content_for(:body_class, "projects-page")
2 2 - content_for(:page_title) do
3 3 .grid_4
4   - %h2
  4 + %h2
5 5 Tags
6 6  
7   -
8 7 .tags-list
9 8 - @tags.all.each do |tag|
10 9 = link_to "#{tag.name}(#{tag.count})", tag_path(name)
11   -
  10 +
... ...
config/routes.rb
... ... @@ -3,7 +3,6 @@ Gitlab::Application.routes.draw do
3 3 get 'tags'=> 'tags#index'
4 4 get 'tags/:tag' => 'projects#index'
5 5  
6   -
7 6 namespace :admin do
8 7 resources :users
9 8 resources :projects
... ...
db/migrate/20111027152724_issue_conten_to_note.rb
... ... @@ -15,16 +15,16 @@ class IssueContenToNote &lt; ActiveRecord::Migration
15 15 if note.save
16 16 issue.update_attributes(:content => nil)
17 17 print "."
18   - else
  18 + else
19 19 print "F"
20 20 end
21 21 end
22 22  
23 23 total = Issue.where("content is not null").count
24 24  
25   - if total > 0
26   - puts "content of #{total} issues were not migrated"
27   - else
  25 + if total > 0
  26 + puts "content of #{total} issues were not migrated"
  27 + else
28 28 puts "Done"
29 29 end
30 30 end
... ...
lib/assets/javascripts/branch-graph.js
... ... @@ -39,7 +39,7 @@ function branchGraph(holder) {
39 39 var cuday = 0, cumonth = "";
40 40 r.rect(0, 0, days.length * 20 + 20, 20).attr({fill: "#474D57"});
41 41 r.rect(0, 20, days.length * 20 + 20, 20).attr({fill: "#f7f7f7"});
42   -
  42 +
43 43 for (mm = 0; mm < days.length; mm++) {
44 44 if(days[mm] != null){
45 45 if(cuday != days[mm][0]){
... ... @@ -50,7 +50,7 @@ function branchGraph(holder) {
50 50 r.text(10 + mm * 20, 10, days[mm][1]).attr({font: "12px Fontin-Sans, Arial", fill: "#444"});
51 51 cumonth = days[mm][1]
52 52 }
53   -
  53 +
54 54 }
55 55 }
56 56 for (i = 0; i < ii; i++) {
... ... @@ -65,7 +65,7 @@ function branchGraph(holder) {
65 65 }
66 66 var t = r.text(x+5, y+5, shortrefs).attr({font: "12px Fontin-Sans, Arial", fill: "#666",
67 67 title: longrefs, cursor: "pointer", rotation: "90"});
68   -
  68 +
69 69 var textbox = t.getBBox();
70 70 t.translate(textbox.height/-4,textbox.width/2);
71 71 }
... ... @@ -77,7 +77,7 @@ function branchGraph(holder) {
77 77 if (c.space == commits[i].space) {
78 78 r.path("M" + (x - 5) + "," + (y + .0001) + "L" + (15 + 20 * c.time) + "," + (y + .0001))
79 79 .attr({stroke: colors[c.space], "stroke-width": 2});
80   -
  80 +
81 81 } else if (c.space < commits[i].space) {
82 82 r.path(["M", x - 5, y + .0001, "l-5-2,0,4,5,-2C",x-5,y,x -17, y+2, x -20, y-10,"L", cx,y-10,cx , cy])
83 83 .attr({stroke: colors[commits[i].space], "stroke-width": 2});
... ...
lib/graph_commit.rb
... ... @@ -12,20 +12,20 @@ class GraphCommit
12 12 @_commit.send(m, *args, &block)
13 13 end
14 14  
15   - # Method is adding time and space on the
16   - # list of commits. As well as returns date list
  15 + # Method is adding time and space on the
  16 + # list of commits. As well as returns date list
17 17 # corelated with time set on commits.
18 18 #
19 19 # @param [Array<GraphCommit>] comits to index
20 20 #
21   - # @return [Array<TimeDate>] list of commit dates corelated with time on commits
  21 + # @return [Array<TimeDate>] list of commit dates corelated with time on commits
22 22 def self.index_commits(commits)
23 23 days, heads = [], []
24 24 map = {}
25 25  
26 26 commits.reverse.each_with_index do |c,i|
27 27 c.time = i
28   - days[i] = c.committed_date
  28 + days[i] = c.committed_date
29 29 map[c.id] = c
30 30 heads += c.refs unless c.refs.nil?
31 31 end
... ... @@ -35,7 +35,7 @@ class GraphCommit
35 35 heads.sort! do |a,b|
36 36 if a.name == "master"
37 37 -1
38   - elsif b.name == "master"
  38 + elsif b.name == "master"
39 39 1
40 40 else
41 41 b.commit.committed_date <=> a.commit.committed_date
... ... @@ -45,7 +45,7 @@ class GraphCommit
45 45 j = 0
46 46 heads.each do |h|
47 47 if map.include? h.commit.id then
48   - j = mark_chain(j+=1, map[h.commit.id], map)
  48 + j = mark_chain(j+=1, map[h.commit.id], map)
49 49 end
50 50 end
51 51 days
... ... @@ -55,15 +55,15 @@ class GraphCommit
55 55 #
56 56 # @param [Fixnum] space (row on the graph) to be set
57 57 # @param [GraphCommit] the commit object.
58   - # @param [Hash<String,GraphCommit>] map of commits
  58 + # @param [Hash<String,GraphCommit>] map of commits
59 59 #
60   - # @return [Fixnum] max space used.
  60 + # @return [Fixnum] max space used.
61 61 def self.mark_chain(mark, commit, map)
62 62 commit.space = mark if commit.space == 0
63 63 m1 = mark - 1
64 64 marks = commit.parents.collect do |p|
65 65 if map.include? p.id and map[p.id].space == 0 then
66   - mark_chain(m1 += 1, map[p.id],map)
  66 + mark_chain(m1 += 1, map[p.id],map)
67 67 else
68 68 m1 + 1
69 69 end
... ... @@ -71,5 +71,5 @@ class GraphCommit
71 71 marks << mark
72 72 marks.compact.max
73 73 end
74   -
  74 +
75 75 end
... ...
spec/models/project_spec.rb
... ... @@ -62,10 +62,10 @@ describe Project do
62 62 end
63 63 end
64 64  
65   - describe "updates" do
  65 + describe "updates" do
66 66 let(:project) { Factory :project }
67 67  
68   - before do
  68 + before do
69 69 @issue = Factory :issue,
70 70 :project => project,
71 71 :author => Factory(:user),
... ... @@ -86,10 +86,10 @@ describe Project do
86 86 end
87 87 end
88 88  
89   - describe "last_activity" do
  89 + describe "last_activity" do
90 90 let(:project) { Factory :project }
91 91  
92   - before do
  92 + before do
93 93 @note = Factory :note,
94 94 :project => project,
95 95 :author => Factory(:user)
... ... @@ -99,7 +99,7 @@ describe Project do
99 99 it { project.last_activity_date.to_s.should == @note.created_at.to_s }
100 100 end
101 101  
102   - describe "fresh commits" do
  102 + describe "fresh commits" do
103 103 let(:project) { Factory :project }
104 104  
105 105 it { project.fresh_commits(3).count.should == 3 }
... ...
spec/requests/dashboard_spec.rb
... ... @@ -15,13 +15,13 @@ describe &quot;Dashboard&quot; do
15 15 end
16 16  
17 17 it "should have projects panel" do
18   - within ".project-list" do
  18 + within ".project-list" do
19 19 page.should have_content(@project.name)
20 20 end
21 21 end
22   -
  22 +
23 23 it "should have news feed" do
24   - within "#news-feed" do
  24 + within "#news-feed" do
25 25 page.should have_content("master")
26 26 page.should have_content(@project.commit.author.name)
27 27 page.should have_content(@project.commit.safe_message)
... ...
spec/requests/projects_spec.rb
... ... @@ -73,7 +73,7 @@ describe &quot;Projects&quot; do
73 73 end
74 74  
75 75 it "should beahave like activities page" do
76   - within ".project-update" do
  76 + within ".project-update" do
77 77 page.should have_content("master")
78 78 page.should have_content(@project.commit.author.name)
79 79 page.should have_content(@project.commit.safe_message)
... ...
spec/requests/tags_spec.rb
... ... @@ -10,7 +10,6 @@ describe &quot;Tags&quot; do
10 10 # end
11 11 # end
12 12  
13   -
14 13 describe "GET '/tags.json'" do
15 14 before do
16 15 @project = Factory :project
... ... @@ -20,12 +19,9 @@ describe &quot;Tags&quot; do
20 19 visit '/tags.json'
21 20 end
22 21  
23   -
24 22 it "should contains tags" do
25 23 page.should have_content('demo1')
26 24 end
27 25 end
28 26  
29   -
30   -
31 27 end
... ...
spec/requests/top_panel_spec.rb
... ... @@ -7,7 +7,7 @@ describe &quot;Top Panel&quot;, :js =&gt; true do
7 7 before do
8 8 visit projects_path
9 9 fill_in "search", :with => "Ke"
10   - within ".ui-autocomplete" do
  10 + within ".ui-autocomplete" do
11 11 find(:xpath, "//a[.=\"Keys\"]").click
12 12 end
13 13 end
... ... @@ -24,7 +24,7 @@ describe &quot;Top Panel&quot;, :js =&gt; true do
24 24 visit project_path(@project)
25 25  
26 26 fill_in "search", :with => "Commi"
27   - within ".ui-autocomplete" do
  27 + within ".ui-autocomplete" do
28 28 find(:xpath, "//a[.=\"#{@project.code} / Commits\"]").click
29 29 end
30 30 end
... ...