o2webappizer 0.1.0 → 0.1.1

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +4 -9
  4. data/bin/o2webappizer +1 -1
  5. data/lib/o2webappizer.rb +1 -0
  6. data/lib/o2webappizer/app_builder.rb +167 -0
  7. data/lib/o2webappizer/generators/app_generator.rb +29 -0
  8. data/lib/o2webappizer/version.rb +1 -1
  9. data/templates/{dot_gitignore → .gitignore.tt} +4 -5
  10. data/templates/.ruby-version.tt +1 -0
  11. data/templates/Gemfile.tt +101 -0
  12. data/templates/README.md.tt +33 -0
  13. data/templates/app/assets/javascripts/app.js.coffee +7 -0
  14. data/templates/app/assets/javascripts/application.js.coffee +27 -0
  15. data/templates/app/assets/stylesheets/application.sass +20 -0
  16. data/templates/app/controllers/application_controller.rb +9 -0
  17. data/templates/app/controllers/cms/authenticate.rb.tt +38 -0
  18. data/templates/app/helpers/application_helper.rb +2 -0
  19. data/templates/app/helpers/spree/frontend_helper_decorator.rb +12 -0
  20. data/templates/app/mailers/application_mailer.rb +3 -0
  21. data/templates/app/views/layouts/application.html.erb.tt +27 -0
  22. data/templates/app/views/layouts/mailer.html.erb +1 -0
  23. data/templates/app/views/layouts/mailer.text.erb +1 -0
  24. data/templates/app/views/spree/layouts/spree_application.html.erb +37 -0
  25. data/templates/app/views/spree/shared/_head.html.erb +14 -0
  26. data/templates/app/views/spree/shared/_main_nav_bar.html.erb +18 -0
  27. data/templates/config/database.yml.tt +99 -0
  28. data/templates/config/initializers/assets.rb.tt +19 -0
  29. data/templates/config/initializers/devise.rb.tt +1 -0
  30. data/templates/config/initializers/lazyload.rb +3 -0
  31. data/templates/config/initializers/rails_admin.rb +101 -0
  32. data/templates/config/initializers/rails_admin_cms.rb +17 -0
  33. data/templates/config/initializers/rich.rb +142 -0
  34. data/templates/config/initializers/simple_form.rb +165 -0
  35. data/templates/config/initializers/simple_form_bootstrap.rb +149 -0
  36. data/templates/config/initializers/spree.rb +55 -0
  37. data/templates/config/locales/en.yml +7 -0
  38. data/templates/config/locales/routes.en.yml +3 -0
  39. data/templates/config/locales/simple_form.en.yml +31 -0
  40. data/templates/config/routes.rb.tt +68 -0
  41. data/templates/config/secrets.yml.tt +28 -0
  42. data/templates/public/404.html +67 -0
  43. data/templates/public/422.html +67 -0
  44. data/templates/public/500.html +66 -0
  45. data/templates/public/favicon.ico +0 -0
  46. data/templates/public/images/full/missing.png +0 -0
  47. data/templates/public/images/huge/missing.png +0 -0
  48. data/templates/public/images/large/missing.png +0 -0
  49. data/templates/public/images/loading.gif +0 -0
  50. data/templates/public/images/medium/missing.png +0 -0
  51. data/templates/public/images/mini/missing.png +0 -0
  52. data/templates/public/images/original/missing.png +0 -0
  53. data/templates/public/images/rich_thumb/missing.png +0 -0
  54. data/templates/public/images/small/missing.png +0 -0
  55. data/templates/public/images/thumb/missing.png +0 -0
  56. data/templates/public/robots.txt.tt +15 -0
  57. data/templates/vendor/assets/javascripts/jquery.lazyload.js +242 -0
  58. data/templates/vendor/assets/javascripts/modernizr.js +3 -0
  59. data/templates/vendor/assets/javascripts/spree/backend/all.js +11 -0
  60. data/templates/vendor/assets/javascripts/spree/frontend/all.js +13 -0
  61. data/templates/vendor/assets/stylesheets/nprogress-variables.sass +3 -0
  62. data/templates/vendor/assets/stylesheets/spree/backend/all.css +10 -0
  63. data/templates/vendor/assets/stylesheets/spree/frontend/all.css +12 -0
  64. metadata +58 -3
@@ -0,0 +1,242 @@
1
+ /*!
2
+ * Lazy Load - jQuery plugin for lazy loading images
3
+ *
4
+ * Copyright (c) 2007-2015 Mika Tuupola
5
+ *
6
+ * Licensed under the MIT license:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ *
9
+ * Project home:
10
+ * http://www.appelsiini.net/projects/lazyload
11
+ *
12
+ * Version: 1.9.7
13
+ *
14
+ */
15
+
16
+ (function($, window, document, undefined) {
17
+ var $window = $(window);
18
+
19
+ $.fn.lazyload = function(options) {
20
+ var elements = this;
21
+ var $container;
22
+ var settings = {
23
+ threshold : 0,
24
+ failure_limit : 0,
25
+ event : "scroll",
26
+ effect : "show",
27
+ container : window,
28
+ data_attribute : "original",
29
+ skip_invisible : false,
30
+ appear : null,
31
+ load : null,
32
+ placeholder : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"
33
+ };
34
+
35
+ function update() {
36
+ var counter = 0;
37
+
38
+ elements.each(function() {
39
+ var $this = $(this);
40
+ if (settings.skip_invisible && !$this.is(":visible")) {
41
+ return;
42
+ }
43
+ if ($.abovethetop(this, settings) ||
44
+ $.leftofbegin(this, settings)) {
45
+ /* Nothing. */
46
+ } else if (!$.belowthefold(this, settings) &&
47
+ !$.rightoffold(this, settings)) {
48
+ $this.trigger("appear");
49
+ /* if we found an image we'll load, reset the counter */
50
+ counter = 0;
51
+ } else {
52
+ if (++counter > settings.failure_limit) {
53
+ return false;
54
+ }
55
+ }
56
+ });
57
+
58
+ }
59
+
60
+ if(options) {
61
+ /* Maintain BC for a couple of versions. */
62
+ if (undefined !== options.failurelimit) {
63
+ options.failure_limit = options.failurelimit;
64
+ delete options.failurelimit;
65
+ }
66
+ if (undefined !== options.effectspeed) {
67
+ options.effect_speed = options.effectspeed;
68
+ delete options.effectspeed;
69
+ }
70
+
71
+ $.extend(settings, options);
72
+ }
73
+
74
+ /* Cache container as jQuery as object. */
75
+ $container = (settings.container === undefined ||
76
+ settings.container === window) ? $window : $(settings.container);
77
+
78
+ /* Fire one scroll event per scroll. Not one scroll event per image. */
79
+ if (0 === settings.event.indexOf("scroll")) {
80
+ $container.bind(settings.event, function() {
81
+ return update();
82
+ });
83
+ }
84
+
85
+ this.each(function() {
86
+ var self = this;
87
+ var $self = $(self);
88
+
89
+ self.loaded = false;
90
+
91
+ /* If no src attribute given use data:uri. */
92
+ if ($self.attr("src") === undefined || $self.attr("src") === false) {
93
+ if ($self.is("img")) {
94
+ $self.attr("src", settings.placeholder);
95
+ }
96
+ }
97
+
98
+ /* When appear is triggered load original image. */
99
+ $self.one("appear", function() {
100
+ if (!this.loaded) {
101
+ if (settings.appear) {
102
+ var elements_left = elements.length;
103
+ settings.appear.call(self, elements_left, settings);
104
+ }
105
+ $("<img />")
106
+ .bind("load", function() {
107
+
108
+ var original = $self.attr("data-" + settings.data_attribute);
109
+ $self.hide();
110
+ if ($self.is("img")) {
111
+ $self.attr("src", original);
112
+ } else {
113
+ $self.css("background-image", "url('" + original + "')");
114
+ }
115
+ $self[settings.effect](settings.effect_speed);
116
+
117
+ self.loaded = true;
118
+
119
+ /* Remove image from array so it is not looped next time. */
120
+ var temp = $.grep(elements, function(element) {
121
+ return !element.loaded;
122
+ });
123
+ elements = $(temp);
124
+
125
+ if (settings.load) {
126
+ var elements_left = elements.length;
127
+ settings.load.call(self, elements_left, settings);
128
+ }
129
+ })
130
+ .attr("src", $self.attr("data-" + settings.data_attribute));
131
+ }
132
+ });
133
+
134
+ /* When wanted event is triggered load original image */
135
+ /* by triggering appear. */
136
+ if (0 !== settings.event.indexOf("scroll")) {
137
+ $self.bind(settings.event, function() {
138
+ if (!self.loaded) {
139
+ $self.trigger("appear");
140
+ }
141
+ });
142
+ }
143
+ });
144
+
145
+ /* Check if something appears when window is resized. */
146
+ $window.bind("resize", function() {
147
+ update();
148
+ });
149
+
150
+ /* With IOS5 force loading images when navigating with back button. */
151
+ /* Non optimal workaround. */
152
+ if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) {
153
+ $window.bind("pageshow", function(event) {
154
+ if (event.originalEvent && event.originalEvent.persisted) {
155
+ elements.each(function() {
156
+ $(this).trigger("appear");
157
+ });
158
+ }
159
+ });
160
+ }
161
+
162
+ /* Force initial check if images should appear. */
163
+ $(document).ready(function() {
164
+ update();
165
+ });
166
+
167
+ return this;
168
+ };
169
+
170
+ /* Convenience methods in jQuery namespace. */
171
+ /* Use as $.belowthefold(element, {threshold : 100, container : window}) */
172
+
173
+ $.belowthefold = function(element, settings) {
174
+ var fold;
175
+
176
+ if (settings.container === undefined || settings.container === window) {
177
+ fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop();
178
+ } else {
179
+ fold = $(settings.container).offset().top + $(settings.container).height();
180
+ }
181
+
182
+ return fold <= $(element).offset().top - settings.threshold;
183
+ };
184
+
185
+ $.rightoffold = function(element, settings) {
186
+ var fold;
187
+
188
+ if (settings.container === undefined || settings.container === window) {
189
+ fold = $window.width() + $window.scrollLeft();
190
+ } else {
191
+ fold = $(settings.container).offset().left + $(settings.container).width();
192
+ }
193
+
194
+ return fold <= $(element).offset().left - settings.threshold;
195
+ };
196
+
197
+ $.abovethetop = function(element, settings) {
198
+ var fold;
199
+
200
+ if (settings.container === undefined || settings.container === window) {
201
+ fold = $window.scrollTop();
202
+ } else {
203
+ fold = $(settings.container).offset().top;
204
+ }
205
+
206
+ return fold >= $(element).offset().top + settings.threshold + $(element).height();
207
+ };
208
+
209
+ $.leftofbegin = function(element, settings) {
210
+ var fold;
211
+
212
+ if (settings.container === undefined || settings.container === window) {
213
+ fold = $window.scrollLeft();
214
+ } else {
215
+ fold = $(settings.container).offset().left;
216
+ }
217
+
218
+ return fold >= $(element).offset().left + settings.threshold + $(element).width();
219
+ };
220
+
221
+ $.inviewport = function(element, settings) {
222
+ return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) &&
223
+ !$.belowthefold(element, settings) && !$.abovethetop(element, settings);
224
+ };
225
+
226
+ /* Custom selectors for your convenience. */
227
+ /* Use as $("img:below-the-fold").something() or */
228
+ /* $("img").filter(":below-the-fold").something() which is faster */
229
+
230
+ $.extend($.expr[":"], {
231
+ "below-the-fold" : function(a) { return $.belowthefold(a, {threshold : 0}); },
232
+ "above-the-top" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
233
+ "right-of-screen": function(a) { return $.rightoffold(a, {threshold : 0}); },
234
+ "left-of-screen" : function(a) { return !$.rightoffold(a, {threshold : 0}); },
235
+ "in-viewport" : function(a) { return $.inviewport(a, {threshold : 0}); },
236
+ /* Maintain BC for couple of versions. */
237
+ "above-the-fold" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
238
+ "right-of-fold" : function(a) { return $.rightoffold(a, {threshold : 0}); },
239
+ "left-of-fold" : function(a) { return !$.rightoffold(a, {threshold : 0}); }
240
+ });
241
+
242
+ })(jQuery, window, document);
@@ -0,0 +1,3 @@
1
+ /*! modernizr 3.2.0 (Custom Build) | MIT *
2
+ * http://modernizr.com/download/?-boxshadow-checked-csscolumns-csstransforms-csstransforms3d-csstransitions-generatedcontent-placeholder-smil-svg-touchevents-domprefixes-prefixed-prefixes-printshiv-testallprops-testprop-teststyles !*/
3
+ !function(e,t,n){function r(e,t){return typeof e===t}function o(){var e,t,n,o,i,a,s;for(var u in g)if(g.hasOwnProperty(u)){if(e=[],t=g[u],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(o=r(t.fn,"function")?t.fn():t.fn,i=0;i<e.length;i++)a=e[i],s=a.split("."),1===s.length?Modernizr[s[0]]=o:(!Modernizr[s[0]]||Modernizr[s[0]]instanceof Boolean||(Modernizr[s[0]]=new Boolean(Modernizr[s[0]])),Modernizr[s[0]][s[1]]=o),x.push((o?"":"no-")+s.join("-"))}}function i(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function a(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):C?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function s(e,t){return!!~(""+e).indexOf(t)}function u(){var e=t.body;return e||(e=a(C?"svg":"body"),e.fake=!0),e}function l(e,n,r,o){var i,s,l,c,f="modernizr",d=a("div"),p=u();if(parseInt(r,10))for(;r--;)l=a("div"),l.id=o?o[r]:f+(r+1),d.appendChild(l);return i=a("style"),i.type="text/css",i.id="s"+f,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(t.createTextNode(e)),d.id=f,p.fake&&(p.style.background="",p.style.overflow="hidden",c=w.style.overflow,w.style.overflow="hidden",w.appendChild(p)),s=n(d,e),p.fake?(p.parentNode.removeChild(p),w.style.overflow=c,w.offsetHeight):d.parentNode.removeChild(d),!!s}function c(e,t){return function(){return e.apply(t,arguments)}}function f(e,t,n){var o;for(var i in e)if(e[i]in t)return n===!1?e[i]:(o=t[e[i]],r(o,"function")?c(o,n||t):o);return!1}function d(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function p(t,r){var o=t.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(d(t[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var i=[];o--;)i.push("("+d(t[o])+":"+r+")");return i=i.join(" or "),l("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return n}function m(e,t,o,u){function l(){f&&(delete P.style,delete P.modElem)}if(u=r(u,"undefined")?!1:u,!r(o,"undefined")){var c=p(e,o);if(!r(c,"undefined"))return c}for(var f,d,m,h,v,g=["modernizr","tspan"];!P.style;)f=!0,P.modElem=a(g.shift()),P.style=P.modElem.style;for(m=e.length,d=0;m>d;d++)if(h=e[d],v=P.style[h],s(h,"-")&&(h=i(h)),P.style[h]!==n){if(u||r(o,"undefined"))return l(),"pfx"==t?h:!0;try{P.style[h]=o}catch(y){}if(P.style[h]!=v)return l(),"pfx"==t?h:!0}return l(),!1}function h(e,t,n,o,i){var a=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+N.join(a+" ")+a).split(" ");return r(t,"string")||r(t,"undefined")?m(s,t,o,i):(s=(e+" "+E.join(a+" ")+a).split(" "),f(s,t,n))}function v(e,t,r){return h(e,n,n,t,r)}var g=[],y={_version:"3.2.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){g.push({name:e,fn:t,options:n})},addAsyncTest:function(e){g.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=y,Modernizr=new Modernizr,Modernizr.addTest("svg",!!t.createElementNS&&!!t.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect);var S=y._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):[];y._prefixes=S;var x=[],b="Moz O ms Webkit",E=y._config.usePrefixes?b.toLowerCase().split(" "):[];y._domPrefixes=E;var w=t.documentElement,C="svg"===w.nodeName.toLowerCase();C||!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=C.elements;return"string"==typeof e?e.split(" "):e}function o(e,t){var n=C.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),C.elements=n+" "+e,l(t)}function i(e){var t=w[e[b]];return t||(t={},E++,e[b]=E,w[E]=t),t}function a(e,n,r){if(n||(n=t),v)return n.createElement(e);r||(r=i(n));var o;return o=r.cache[e]?r.cache[e].cloneNode():x.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!o.canHaveChildren||S.test(e)||o.tagUrn?o:r.frag.appendChild(o)}function s(e,n){if(e||(e=t),v)return e.createDocumentFragment();n=n||i(e);for(var o=n.frag.cloneNode(),a=0,s=r(),u=s.length;u>a;a++)o.createElement(s[a]);return o}function u(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return C.shivMethods?a(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(C,t.frag)}function l(e){e||(e=t);var r=i(e);return!C.shivCSS||h||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),v||u(e,r),e}function c(e){for(var t,n=e.getElementsByTagName("*"),o=n.length,i=RegExp("^(?:"+r().join("|")+")$","i"),a=[];o--;)t=n[o],i.test(t.nodeName)&&a.push(t.applyElement(f(t)));return a}function f(e){for(var t,n=e.attributes,r=n.length,o=e.ownerDocument.createElement(k+":"+e.nodeName);r--;)t=n[r],t.specified&&o.setAttribute(t.nodeName,t.nodeValue);return o.style.cssText=e.style.cssText,o}function d(e){for(var t,n=e.split("{"),o=n.length,i=RegExp("(^|[\\s,>+~])("+r().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),a="$1"+k+"\\:$2";o--;)t=n[o]=n[o].split("}"),t[t.length-1]=t[t.length-1].replace(i,a),n[o]=t.join("}");return n.join("{")}function p(e){for(var t=e.length;t--;)e[t].removeNode()}function m(e){function t(){clearTimeout(a._removeSheetTimer),r&&r.removeNode(!0),r=null}var r,o,a=i(e),s=e.namespaces,u=e.parentWindow;return!_||e.printShived?e:("undefined"==typeof s[k]&&s.add(k),u.attachEvent("onbeforeprint",function(){t();for(var i,a,s,u=e.styleSheets,l=[],f=u.length,p=Array(f);f--;)p[f]=u[f];for(;s=p.pop();)if(!s.disabled&&T.test(s.media)){try{i=s.imports,a=i.length}catch(m){a=0}for(f=0;a>f;f++)p.push(i[f]);try{l.push(s.cssText)}catch(m){}}l=d(l.reverse().join("")),o=c(e),r=n(e,l)}),u.attachEvent("onafterprint",function(){p(o),clearTimeout(a._removeSheetTimer),a._removeSheetTimer=setTimeout(t,500)}),e.printShived=!0,e)}var h,v,g="3.7.3",y=e.html5||{},S=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,x=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,b="_html5shiv",E=0,w={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",h="hidden"in e,v=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){h=!0,v=!0}}();var C={elements:y.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:g,shivCSS:y.shivCSS!==!1,supportsUnknownElements:v,shivMethods:y.shivMethods!==!1,type:"default",shivDocument:l,createElement:a,createDocumentFragment:s,addElements:o};e.html5=C,l(t);var T=/^$|\b(?:all|print)\b/,k="html5shiv",_=!v&&function(){var n=t.documentElement;return!("undefined"==typeof t.namespaces||"undefined"==typeof t.parentWindow||"undefined"==typeof n.applyElement||"undefined"==typeof n.removeNode||"undefined"==typeof e.attachEvent)}();C.type+=" print",C.shivPrint=m,m(t),"object"==typeof module&&module.exports&&(module.exports=C)}("undefined"!=typeof e?e:this,t),Modernizr.addTest("placeholder","placeholder"in a("input")&&"placeholder"in a("textarea"));var T="CSS"in e&&"supports"in e.CSS,k="supportsCSS"in e;Modernizr.addTest("supports",T||k);var _={}.toString;Modernizr.addTest("smil",function(){return!!t.createElementNS&&/SVGAnimate/.test(_.call(t.createElementNS("http://www.w3.org/2000/svg","animate")))});var N=y._config.usePrefixes?b.split(" "):[];y._cssomPrefixes=N;var z=function(t){var r,o=S.length,i=e.CSSRule;if("undefined"==typeof i)return n;if(!t)return!1;if(t=t.replace(/^@/,""),r=t.replace(/-/g,"_").toUpperCase()+"_RULE",r in i)return"@"+t;for(var a=0;o>a;a++){var s=S[a],u=s.toUpperCase()+"_"+r;if(u in i)return"@-"+s.toLowerCase()+"-"+t}return!1};y.atRule=z;var j=y.testStyles=l;Modernizr.addTest("touchevents",function(){var n;if("ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch)n=!0;else{var r=["@media (",S.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");j(r,function(e){n=9===e.offsetTop})}return n}),Modernizr.addTest("checked",function(){return j("#modernizr {position:absolute} #modernizr input {margin-left:10px} #modernizr :checked {margin-left:20px;display:block}",function(e){var t=a("input");return t.setAttribute("type","checkbox"),t.setAttribute("checked","checked"),e.appendChild(t),20===t.offsetLeft})}),j('#modernizr{font:0/0 a}#modernizr:after{content:":)";visibility:hidden;font:7px/1 a}',function(e){Modernizr.addTest("generatedcontent",e.offsetHeight>=7)});var A={elem:a("modernizr")};Modernizr._q.push(function(){delete A.elem});var P={style:A.elem.style};Modernizr._q.unshift(function(){delete P.style});y.testProp=function(e,t,r){return m([e],n,t,r)};y.testAllProps=h;y.prefixed=function(e,t,n){return 0===e.indexOf("@")?z(e):(-1!=e.indexOf("-")&&(e=i(e)),t?h(e,t,n):h(e,"pfx"))};y.testAllProps=v,Modernizr.addTest("boxshadow",v("boxShadow","1px 1px",!0)),function(){Modernizr.addTest("csscolumns",function(){var e=!1,t=v("columnCount");try{(e=!!t)&&(e=new Boolean(e))}catch(n){}return e});for(var e,t,n=["Width","Span","Fill","Gap","Rule","RuleColor","RuleStyle","RuleWidth","BreakBefore","BreakAfter","BreakInside"],r=0;r<n.length;r++)e=n[r].toLowerCase(),t=v("column"+n[r]),("breakbefore"===e||"breakafter"===e||"breakinside"==e)&&(t=t||v(n[r])),Modernizr.addTest("csscolumns."+e,t)}(),Modernizr.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&v("transform","scale(1)",!0)}),Modernizr.addTest("csstransforms3d",function(){var e=!!v("perspective","1px",!0),t=Modernizr._config.usePrefixes;if(e&&(!t||"webkitPerspective"in w.style)){var n,r="#modernizr{width:0;height:0}";Modernizr.supports?n="@supports (perspective: 1px)":(n="@media (transform-3d)",t&&(n+=",(-webkit-transform-3d)")),n+="{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}",j(r+n,function(t){e=7===t.offsetWidth&&18===t.offsetHeight})}return e}),Modernizr.addTest("csstransitions",v("transition","all",!0)),o(),delete y.addTest,delete y.addAsyncTest;for(var F=0;F<Modernizr._q.length;F++)Modernizr._q[F]();e.Modernizr=Modernizr}(window,document);
@@ -0,0 +1,11 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require jquery
8
+ //= require jquery_ujs
9
+ //= require spree/backend
10
+
11
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require jquery
8
+ //= require jquery_ujs
9
+ //= require spree/frontend
10
+
11
+ //= require application
12
+
13
+ //= require_tree .
@@ -0,0 +1,3 @@
1
+ //$nprogress-color: #29d
2
+ //$nprogress-height: 5px
3
+ //$nprogress-zindex: 100
@@ -0,0 +1,10 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *
6
+ *= require spree/backend
7
+
8
+ *= require_self
9
+ *= require_tree .
10
+ */
@@ -0,0 +1,12 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *
6
+ *= require spree/frontend
7
+
8
+ *= require application
9
+
10
+ *= require_self
11
+ *= require_tree .
12
+ */
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: o2webappizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrice Lebel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-06 00:00:00.000000000 Z
11
+ date: 2016-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -86,7 +86,61 @@ files:
86
86
  - lib/o2webappizer/generators/app_generator.rb
87
87
  - lib/o2webappizer/version.rb
88
88
  - o2webappizer.gemspec
89
- - templates/dot_gitignore
89
+ - templates/.gitignore.tt
90
+ - templates/.ruby-version.tt
91
+ - templates/Gemfile.tt
92
+ - templates/README.md.tt
93
+ - templates/app/assets/javascripts/app.js.coffee
94
+ - templates/app/assets/javascripts/application.js.coffee
95
+ - templates/app/assets/stylesheets/application.sass
96
+ - templates/app/controllers/application_controller.rb
97
+ - templates/app/controllers/cms/authenticate.rb.tt
98
+ - templates/app/helpers/application_helper.rb
99
+ - templates/app/helpers/spree/frontend_helper_decorator.rb
100
+ - templates/app/mailers/application_mailer.rb
101
+ - templates/app/views/layouts/application.html.erb.tt
102
+ - templates/app/views/layouts/mailer.html.erb
103
+ - templates/app/views/layouts/mailer.text.erb
104
+ - templates/app/views/spree/layouts/spree_application.html.erb
105
+ - templates/app/views/spree/shared/_head.html.erb
106
+ - templates/app/views/spree/shared/_main_nav_bar.html.erb
107
+ - templates/config/database.yml.tt
108
+ - templates/config/initializers/assets.rb.tt
109
+ - templates/config/initializers/devise.rb.tt
110
+ - templates/config/initializers/lazyload.rb
111
+ - templates/config/initializers/rails_admin.rb
112
+ - templates/config/initializers/rails_admin_cms.rb
113
+ - templates/config/initializers/rich.rb
114
+ - templates/config/initializers/simple_form.rb
115
+ - templates/config/initializers/simple_form_bootstrap.rb
116
+ - templates/config/initializers/spree.rb
117
+ - templates/config/locales/en.yml
118
+ - templates/config/locales/routes.en.yml
119
+ - templates/config/locales/simple_form.en.yml
120
+ - templates/config/routes.rb.tt
121
+ - templates/config/secrets.yml.tt
122
+ - templates/public/404.html
123
+ - templates/public/422.html
124
+ - templates/public/500.html
125
+ - templates/public/favicon.ico
126
+ - templates/public/images/full/missing.png
127
+ - templates/public/images/huge/missing.png
128
+ - templates/public/images/large/missing.png
129
+ - templates/public/images/loading.gif
130
+ - templates/public/images/medium/missing.png
131
+ - templates/public/images/mini/missing.png
132
+ - templates/public/images/original/missing.png
133
+ - templates/public/images/rich_thumb/missing.png
134
+ - templates/public/images/small/missing.png
135
+ - templates/public/images/thumb/missing.png
136
+ - templates/public/robots.txt.tt
137
+ - templates/vendor/assets/javascripts/jquery.lazyload.js
138
+ - templates/vendor/assets/javascripts/modernizr.js
139
+ - templates/vendor/assets/javascripts/spree/backend/all.js
140
+ - templates/vendor/assets/javascripts/spree/frontend/all.js
141
+ - templates/vendor/assets/stylesheets/nprogress-variables.sass
142
+ - templates/vendor/assets/stylesheets/spree/backend/all.css
143
+ - templates/vendor/assets/stylesheets/spree/frontend/all.css
90
144
  homepage: https://github.com/o2web/o2webappizer
91
145
  licenses:
92
146
  - MIT
@@ -112,3 +166,4 @@ signing_key:
112
166
  specification_version: 4
113
167
  summary: Project Boilerplate Builder used by O2Web
114
168
  test_files: []
169
+ has_rdoc: