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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/README.md +4 -9
- data/bin/o2webappizer +1 -1
- data/lib/o2webappizer.rb +1 -0
- data/lib/o2webappizer/app_builder.rb +167 -0
- data/lib/o2webappizer/generators/app_generator.rb +29 -0
- data/lib/o2webappizer/version.rb +1 -1
- data/templates/{dot_gitignore → .gitignore.tt} +4 -5
- data/templates/.ruby-version.tt +1 -0
- data/templates/Gemfile.tt +101 -0
- data/templates/README.md.tt +33 -0
- data/templates/app/assets/javascripts/app.js.coffee +7 -0
- data/templates/app/assets/javascripts/application.js.coffee +27 -0
- data/templates/app/assets/stylesheets/application.sass +20 -0
- data/templates/app/controllers/application_controller.rb +9 -0
- data/templates/app/controllers/cms/authenticate.rb.tt +38 -0
- data/templates/app/helpers/application_helper.rb +2 -0
- data/templates/app/helpers/spree/frontend_helper_decorator.rb +12 -0
- data/templates/app/mailers/application_mailer.rb +3 -0
- data/templates/app/views/layouts/application.html.erb.tt +27 -0
- data/templates/app/views/layouts/mailer.html.erb +1 -0
- data/templates/app/views/layouts/mailer.text.erb +1 -0
- data/templates/app/views/spree/layouts/spree_application.html.erb +37 -0
- data/templates/app/views/spree/shared/_head.html.erb +14 -0
- data/templates/app/views/spree/shared/_main_nav_bar.html.erb +18 -0
- data/templates/config/database.yml.tt +99 -0
- data/templates/config/initializers/assets.rb.tt +19 -0
- data/templates/config/initializers/devise.rb.tt +1 -0
- data/templates/config/initializers/lazyload.rb +3 -0
- data/templates/config/initializers/rails_admin.rb +101 -0
- data/templates/config/initializers/rails_admin_cms.rb +17 -0
- data/templates/config/initializers/rich.rb +142 -0
- data/templates/config/initializers/simple_form.rb +165 -0
- data/templates/config/initializers/simple_form_bootstrap.rb +149 -0
- data/templates/config/initializers/spree.rb +55 -0
- data/templates/config/locales/en.yml +7 -0
- data/templates/config/locales/routes.en.yml +3 -0
- data/templates/config/locales/simple_form.en.yml +31 -0
- data/templates/config/routes.rb.tt +68 -0
- data/templates/config/secrets.yml.tt +28 -0
- data/templates/public/404.html +67 -0
- data/templates/public/422.html +67 -0
- data/templates/public/500.html +66 -0
- data/templates/public/favicon.ico +0 -0
- data/templates/public/images/full/missing.png +0 -0
- data/templates/public/images/huge/missing.png +0 -0
- data/templates/public/images/large/missing.png +0 -0
- data/templates/public/images/loading.gif +0 -0
- data/templates/public/images/medium/missing.png +0 -0
- data/templates/public/images/mini/missing.png +0 -0
- data/templates/public/images/original/missing.png +0 -0
- data/templates/public/images/rich_thumb/missing.png +0 -0
- data/templates/public/images/small/missing.png +0 -0
- data/templates/public/images/thumb/missing.png +0 -0
- data/templates/public/robots.txt.tt +15 -0
- data/templates/vendor/assets/javascripts/jquery.lazyload.js +242 -0
- data/templates/vendor/assets/javascripts/modernizr.js +3 -0
- data/templates/vendor/assets/javascripts/spree/backend/all.js +11 -0
- data/templates/vendor/assets/javascripts/spree/frontend/all.js +13 -0
- data/templates/vendor/assets/stylesheets/nprogress-variables.sass +3 -0
- data/templates/vendor/assets/stylesheets/spree/backend/all.css +10 -0
- data/templates/vendor/assets/stylesheets/spree/frontend/all.css +12 -0
- 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,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. | 
| 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- | 
| 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 | 
| 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: 
         |