less-rails-semantic_ui 2.0.6.0 → 2.0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/assets/javascripts/semantic_ui/definitions/behaviors/api.js +61 -33
- data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +3 -2
- data/assets/javascripts/semantic_ui/definitions/modules/popup.js +8 -7
- data/assets/stylesheets/semantic_ui/definitions/collections/breadcrumb.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/form.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/message.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/table.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/button.less +6 -3
- data/assets/stylesheets/semantic_ui/definitions/elements/divider.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/flag.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/header.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/image.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/input.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/label.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/list.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/loader.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/rail.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/reveal.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/step.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/globals/site.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/accordion.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +1 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/dimmer.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/nag.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/rating.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/search.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/shape.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/sticky.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/tab.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/transition.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/views/card.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/views/comment.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/views/feed.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/views/item.less +0 -0
- data/assets/stylesheets/semantic_ui/definitions/views/statistic.less +0 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/form.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/grid.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/menu.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/table.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/button.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/divider.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/flag.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/header.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/icon.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/image.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/input.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/label.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/loader.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/rail.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/reveal.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/segment.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/step.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/globals/reset.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/globals/site.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/checkbox.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/modal.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/modal.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/progress.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/rating.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/rating.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/search.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/search.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sticky.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sticky.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/transition.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/video.overrides +0 -0
- data/lib/generators/semantic_ui/install/templates/theme.config +0 -0
- data/lib/less/rails/semantic_ui/version.rb +1 -1
- data/tasks/update.rake +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8d24723db4d5cb6e18e7274de27abf0bbf82cee
|
4
|
+
data.tar.gz: a63d17ebed38233ed9977c912d94cadd1fb03513
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be0f79c5614e0ec2d5ea5617edb619dabaeddbbe3a50320625e3a43e503b51d4ea0e35ab08967b357f5e402eddfcce2ef8c38a825e2c532a5ed07d612eba37e6
|
7
|
+
data.tar.gz: 3e34a365b0063f9decea360b5210189433e7f7ca55f564d5d9fdae4fbd246bddf046e78005b308aaa734d8fd8af192e28bbcf11ae914149a86f191ddd8edd435
|
@@ -115,6 +115,20 @@ $.api = $.fn.api = function(parameters) {
|
|
115
115
|
}
|
116
116
|
},
|
117
117
|
|
118
|
+
decode: {
|
119
|
+
json: function(response) {
|
120
|
+
if(response !== undefined && typeof response == 'string') {
|
121
|
+
try {
|
122
|
+
response = JSON.parse(response);
|
123
|
+
}
|
124
|
+
catch(e) {
|
125
|
+
// isnt json string
|
126
|
+
}
|
127
|
+
}
|
128
|
+
return response;
|
129
|
+
}
|
130
|
+
},
|
131
|
+
|
118
132
|
read: {
|
119
133
|
cachedResponse: function(url) {
|
120
134
|
var
|
@@ -126,15 +140,7 @@ $.api = $.fn.api = function(parameters) {
|
|
126
140
|
}
|
127
141
|
response = sessionStorage.getItem(url);
|
128
142
|
module.debug('Using cached response', url, response);
|
129
|
-
|
130
|
-
try {
|
131
|
-
response = JSON.parse(response);
|
132
|
-
}
|
133
|
-
catch(e) {
|
134
|
-
// didnt store object
|
135
|
-
}
|
136
|
-
return response;
|
137
|
-
}
|
143
|
+
response = module.decode.json(response);
|
138
144
|
return false;
|
139
145
|
}
|
140
146
|
},
|
@@ -287,7 +293,7 @@ $.api = $.fn.api = function(parameters) {
|
|
287
293
|
}
|
288
294
|
},
|
289
295
|
validResponse: function(response) {
|
290
|
-
if( settings.dataType !== 'json' || !$.isFunction(settings.successTest) ) {
|
296
|
+
if( (settings.dataType !== 'json' && settings.dataType !== 'jsonp') || !$.isFunction(settings.successTest) ) {
|
291
297
|
module.verbose('Response is not JSON, skipping validation', settings.successTest, response);
|
292
298
|
return true;
|
293
299
|
}
|
@@ -445,13 +451,13 @@ $.api = $.fn.api = function(parameters) {
|
|
445
451
|
},
|
446
452
|
xhr: {
|
447
453
|
always: function() {
|
448
|
-
//
|
454
|
+
// nothing special
|
449
455
|
},
|
450
456
|
done: function(response, textStatus, xhr) {
|
451
457
|
var
|
452
|
-
context
|
453
|
-
elapsedTime
|
454
|
-
timeLeft
|
458
|
+
context = this,
|
459
|
+
elapsedTime = (new Date().getTime() - requestStartTime),
|
460
|
+
timeLeft = (settings.loadingDuration - elapsedTime),
|
455
461
|
translatedResponse = ( $.isFunction(settings.onResponse) )
|
456
462
|
? settings.onResponse.call(context, $.extend(true, {}, response))
|
457
463
|
: false
|
@@ -469,7 +475,7 @@ $.api = $.fn.api = function(parameters) {
|
|
469
475
|
}
|
470
476
|
setTimeout(function() {
|
471
477
|
if( module.is.validResponse(response) ) {
|
472
|
-
module.request.resolveWith(context, [response]);
|
478
|
+
module.request.resolveWith(context, [response, xhr]);
|
473
479
|
}
|
474
480
|
else {
|
475
481
|
module.request.rejectWith(context, [xhr, 'invalid']);
|
@@ -500,46 +506,52 @@ $.api = $.fn.api = function(parameters) {
|
|
500
506
|
}
|
501
507
|
},
|
502
508
|
request: {
|
503
|
-
|
504
|
-
module.remove.loading();
|
505
|
-
settings.onComplete.call(context, response, $module);
|
506
|
-
},
|
507
|
-
done: function(response) {
|
509
|
+
done: function(response, xhr) {
|
508
510
|
module.debug('Successful API Response', response);
|
509
511
|
if(settings.cache === 'local' && url) {
|
510
512
|
module.write.cachedResponse(url, response);
|
511
513
|
module.debug('Saving server response locally', module.cache);
|
512
514
|
}
|
513
|
-
settings.onSuccess.call(context, response, $module);
|
515
|
+
settings.onSuccess.call(context, response, $module, xhr);
|
516
|
+
},
|
517
|
+
complete: function(firstParameter, secondParameter) {
|
518
|
+
var
|
519
|
+
xhr,
|
520
|
+
response
|
521
|
+
;
|
522
|
+
// have to guess callback parameters based on request success
|
523
|
+
if( module.was.succesful() ) {
|
524
|
+
response = firstParameter;
|
525
|
+
xhr = secondParameter;
|
526
|
+
}
|
527
|
+
else {
|
528
|
+
xhr = firstParameter;
|
529
|
+
response = module.get.responseFromXHR(xhr);
|
530
|
+
}
|
531
|
+
module.remove.loading();
|
532
|
+
settings.onComplete.call(context, response, $module, xhr);
|
514
533
|
},
|
515
534
|
fail: function(xhr, status, httpMessage) {
|
516
535
|
var
|
517
536
|
// pull response from xhr if available
|
518
|
-
response
|
519
|
-
|
520
|
-
: false,
|
521
|
-
errorMessage = ($.isPlainObject(response) && response.error !== undefined)
|
522
|
-
? response.error // use json error message
|
523
|
-
: (settings.error[status] !== undefined) // use server error message
|
524
|
-
? settings.error[status]
|
525
|
-
: httpMessage
|
537
|
+
response = module.get.responseFromXHR(xhr),
|
538
|
+
errorMessage = module.get.errorFromRequest(response, status, httpMessage)
|
526
539
|
;
|
527
540
|
if(status == 'aborted') {
|
528
541
|
module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);
|
529
|
-
settings.onAbort.call(context, status, $module);
|
542
|
+
settings.onAbort.call(context, status, $module, xhr);
|
530
543
|
}
|
531
544
|
else if(status == 'invalid') {
|
532
545
|
module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);
|
533
546
|
}
|
534
547
|
else if(status == 'error') {
|
535
|
-
|
536
548
|
if(xhr !== undefined) {
|
537
549
|
module.debug('XHR produced a server error', status, httpMessage);
|
538
550
|
// make sure we have an error to display to console
|
539
551
|
if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') {
|
540
552
|
module.error(error.statusMessage + httpMessage, ajaxSettings.url);
|
541
553
|
}
|
542
|
-
settings.onError.call(context, errorMessage, $module);
|
554
|
+
settings.onError.call(context, errorMessage, $module, xhr);
|
543
555
|
}
|
544
556
|
}
|
545
557
|
|
@@ -549,7 +561,7 @@ $.api = $.fn.api = function(parameters) {
|
|
549
561
|
setTimeout(module.remove.error, settings.errorDuration);
|
550
562
|
}
|
551
563
|
module.debug('API Request failed', errorMessage, xhr);
|
552
|
-
settings.onFailure.call(context, response, $module);
|
564
|
+
settings.onFailure.call(context, response, $module, xhr);
|
553
565
|
}
|
554
566
|
}
|
555
567
|
},
|
@@ -650,6 +662,22 @@ $.api = $.fn.api = function(parameters) {
|
|
650
662
|
},
|
651
663
|
|
652
664
|
get: {
|
665
|
+
responseFromXHR: function(xhr) {
|
666
|
+
return $.isPlainObject(xhr)
|
667
|
+
? (settings.dataType == 'json' || settings.dataType == 'jsonp')
|
668
|
+
? module.decode.json(xhr.responseText)
|
669
|
+
: xhr.responseText
|
670
|
+
: false
|
671
|
+
;
|
672
|
+
},
|
673
|
+
errorFromRequest: function(response, status, httpMessage) {
|
674
|
+
return ($.isPlainObject(response) && response.error !== undefined)
|
675
|
+
? response.error // use json error message
|
676
|
+
: (settings.error[status] !== undefined) // use server error message
|
677
|
+
? settings.error[status]
|
678
|
+
: httpMessage
|
679
|
+
;
|
680
|
+
},
|
653
681
|
request: function() {
|
654
682
|
return module.request || false;
|
655
683
|
},
|
@@ -895,7 +895,7 @@ $.fn.dropdown = function(parameters) {
|
|
895
895
|
toggleBehavior = (module.is.multiple())
|
896
896
|
? module.show
|
897
897
|
: module.toggle
|
898
|
-
|
898
|
+
;
|
899
899
|
if( module.determine.eventOnElement(event, toggleBehavior) ) {
|
900
900
|
event.preventDefault();
|
901
901
|
}
|
@@ -1297,7 +1297,8 @@ $.fn.dropdown = function(parameters) {
|
|
1297
1297
|
eventOnElement: function(event, callback) {
|
1298
1298
|
var
|
1299
1299
|
$target = $(event.target),
|
1300
|
-
|
1300
|
+
$label = $target.closest(selector.siblingLabel),
|
1301
|
+
notOnLabel = ($module.find($label).length === 0),
|
1301
1302
|
notInMenu = ($target.closest($menu).length === 0)
|
1302
1303
|
;
|
1303
1304
|
callback = $.isFunction(callback)
|
@@ -22,7 +22,7 @@ $.fn.popup = function(parameters) {
|
|
22
22
|
|
23
23
|
moduleSelector = $allModules.selector || '',
|
24
24
|
|
25
|
-
hasTouch = (
|
25
|
+
hasTouch = (true),
|
26
26
|
time = new Date().getTime(),
|
27
27
|
performance = [],
|
28
28
|
|
@@ -156,7 +156,9 @@ $.fn.popup = function(parameters) {
|
|
156
156
|
: settings.delay
|
157
157
|
;
|
158
158
|
clearTimeout(module.hideTimer);
|
159
|
-
|
159
|
+
if(!openedWithTouch) {
|
160
|
+
module.showTimer = setTimeout(module.show, delay);
|
161
|
+
}
|
160
162
|
},
|
161
163
|
end: function() {
|
162
164
|
var
|
@@ -169,7 +171,7 @@ $.fn.popup = function(parameters) {
|
|
169
171
|
},
|
170
172
|
touchstart: function(event) {
|
171
173
|
openedWithTouch = true;
|
172
|
-
module.
|
174
|
+
module.show();
|
173
175
|
},
|
174
176
|
resize: function() {
|
175
177
|
if( module.is.visible() ) {
|
@@ -279,7 +281,6 @@ $.fn.popup = function(parameters) {
|
|
279
281
|
show: function(callback) {
|
280
282
|
callback = callback || function(){};
|
281
283
|
module.debug('Showing pop-up', settings.transition);
|
282
|
-
|
283
284
|
if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {
|
284
285
|
if( !module.exists() ) {
|
285
286
|
module.create();
|
@@ -398,8 +399,8 @@ $.fn.popup = function(parameters) {
|
|
398
399
|
hide: function(callback) {
|
399
400
|
callback = $.isFunction(callback) ? callback : function(){};
|
400
401
|
module.debug('Hiding pop-up');
|
401
|
-
if(settings.
|
402
|
-
module.debug('
|
402
|
+
if(settings.onHide.call($popup, element) === false) {
|
403
|
+
module.debug('onHide callback returned false, cancelling popup animation');
|
403
404
|
return;
|
404
405
|
}
|
405
406
|
if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
|
@@ -884,7 +885,7 @@ $.fn.popup = function(parameters) {
|
|
884
885
|
.on('touchstart' + eventNamespace, module.event.touchstart)
|
885
886
|
;
|
886
887
|
}
|
887
|
-
|
888
|
+
if( module.get.startEvent() ) {
|
888
889
|
$module
|
889
890
|
.on(module.get.startEvent() + eventNamespace, module.event.start)
|
890
891
|
.on(module.get.endEvent() + eventNamespace, module.event.end)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -777,13 +777,14 @@
|
|
777
777
|
position: absolute;
|
778
778
|
height: 100%;
|
779
779
|
line-height: 1;
|
780
|
+
border-radius: 0px;
|
781
|
+
border-top-left-radius: inherit;
|
782
|
+
border-bottom-left-radius: inherit;
|
780
783
|
|
781
784
|
width: @labeledIconWidth;
|
782
785
|
background-color: @labeledIconBackgroundColor;
|
783
786
|
text-align: center;
|
784
787
|
color: @labeledIconColor;
|
785
|
-
|
786
|
-
border-radius: @borderRadius 0px 0px @borderRadius;
|
787
788
|
box-shadow: @labeledIconLeftShadow;
|
788
789
|
}
|
789
790
|
|
@@ -802,7 +803,9 @@
|
|
802
803
|
.ui[class*="right labeled"].icon.button > .icon {
|
803
804
|
left: auto;
|
804
805
|
right: 0em;
|
805
|
-
border-radius:
|
806
|
+
border-radius: 0px;
|
807
|
+
border-top-right-radius: inherit;
|
808
|
+
border-bottom-right-radius: inherit;
|
806
809
|
box-shadow: @labeledIconRightShadow;
|
807
810
|
}
|
808
811
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/tasks/update.rake
CHANGED
@@ -15,6 +15,8 @@ namespace :update do
|
|
15
15
|
transform_sources
|
16
16
|
|
17
17
|
bump_gem_version(version)
|
18
|
+
|
19
|
+
mark_all_files_as_world_readable
|
18
20
|
end
|
19
21
|
|
20
22
|
def paths
|
@@ -191,6 +193,13 @@ namespace :update do
|
|
191
193
|
File.write(version_file, File.read(version_file).gsub(/\d+\.\d+\.\d+\.\d+/, "#{version}.0"))
|
192
194
|
end
|
193
195
|
|
196
|
+
def mark_all_files_as_world_readable
|
197
|
+
Dir[File.join(paths.root, '{assets,lib,spec,tasks}', '**/*')].each do |file|
|
198
|
+
mode = File.directory?(file) ? 0755 : 0644
|
199
|
+
File.chmod(mode, file)
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
194
203
|
private
|
195
204
|
|
196
205
|
def copy_tree(src, src_dir, dest_dir)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: less-rails-semantic_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxim Dobryakov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: less-rails
|