shining 1.3.4 → 1.3.5
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.
- data/CHANGELOG.txt +9 -1
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/bin/shine +19 -8
- data/lib/deps.js +3 -3
- data/lib/shining.js +7 -8
- data/lib/shining.rb +1 -0
- data/shining.gemspec +7 -4
- data/spec/shining_spec.rb +5 -0
- metadata +43 -10
    
        data/CHANGELOG.txt
    CHANGED
    
    | @@ -1,4 +1,12 @@ | |
| 1 | 
            -
            = 1.3. | 
| 1 | 
            +
            = 1.3.5
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * image loading now won't screw with the stage positioning.
         | 
| 4 | 
            +
            * slide styles loading now works again. Fuck my specless life.
         | 
| 5 | 
            +
            * shine version outputs the current version of Shining you have installed.
         | 
| 6 | 
            +
            * more helpful console help, few more switches.
         | 
| 7 | 
            +
            * using my own version of haml-js so it works with IE8.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            = 1.3.4 (30/05/2010)
         | 
| 2 10 |  | 
| 3 11 | 
             
            * native Haml rendering through haml-js (http://github.com/creationix/haml-js) and
         | 
| 4 12 | 
             
            Markdown via Showdown (http://attacklab.net/showdown/).
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -26,6 +26,7 @@ begin | |
| 26 26 | 
             
                gem.add_dependency      'json_pure',      '>= 1.1.9'
         | 
| 27 27 | 
             
                gem.add_dependency      'heroku',         '>= 1.9.9'
         | 
| 28 28 | 
             
                gem.add_dependency      'rack',           '>= 0.9'
         | 
| 29 | 
            +
                gem.add_dependency      'jeweler',        '>= 1.4.0'
         | 
| 29 30 | 
             
                gem.add_development_dependency 'rspec', '1.3.0'
         | 
| 30 31 | 
             
                gem.add_development_dependency 'jspec', '4.2.0'    
         | 
| 31 32 | 
             
                gem.add_development_dependency 'rake',  '0.8.7'
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1.3. | 
| 1 | 
            +
            1.3.5
         | 
    
        data/bin/shine
    CHANGED
    
    | @@ -8,10 +8,11 @@ include Shining::FileMethods | |
| 8 8 | 
             
            ACTIONS   = {
         | 
| 9 9 | 
             
              :new_on!            => ['build'],
         | 
| 10 10 | 
             
              :new_slide!         => ['slide'],
         | 
| 11 | 
            -
              : | 
| 11 | 
            +
              :help_and_exit!     => ['help', '-h', '--help'],
         | 
| 12 12 | 
             
              :play               => ['play', 'go'],
         | 
| 13 13 | 
             
              :deploy             => ['deploy'],
         | 
| 14 | 
            -
              :remove             => ['remove', 'delete', 'rm']
         | 
| 14 | 
            +
              :remove             => ['remove', 'delete', 'rm'],
         | 
| 15 | 
            +
              :version            => ['version', '-v']
         | 
| 15 16 | 
             
            }
         | 
| 16 17 |  | 
| 17 18 | 
             
            def bail! reason
         | 
| @@ -31,11 +32,22 @@ end | |
| 31 32 |  | 
| 32 33 | 
             
            def help_and_exit!
         | 
| 33 34 | 
             
              STDERR.puts <<-HELP
         | 
| 34 | 
            -
            Shine - Generates a new Shining presentation
         | 
| 35 | 
            +
            Shine - Generates a new Shining presentation.
         | 
| 35 36 | 
             
              Usage:
         | 
| 36 37 | 
             
                shine <directory>
         | 
| 37 38 | 
             
              Example:
         | 
| 38 39 | 
             
                shine mycoolpreso
         | 
| 40 | 
            +
              Other commands you can run:
         | 
| 41 | 
            +
                help        shows this menu
         | 
| 42 | 
            +
                version     shows the current version of Shining you have installed
         | 
| 43 | 
            +
              Commands you can run from inside a presentation directory:
         | 
| 44 | 
            +
                slide       takes 1 argument with the slide name and optionally the format,
         | 
| 45 | 
            +
                            as in:
         | 
| 46 | 
            +
                              $ shine slide pretty
         | 
| 47 | 
            +
                            The above will create a HTML slide called "pretty".
         | 
| 48 | 
            +
                deploy      deploys the presentation to Heroku
         | 
| 49 | 
            +
                remove      takes a slide name as argument. Removes the slide. Example:
         | 
| 50 | 
            +
                              $ shine remove pretty
         | 
| 39 51 | 
             
              HELP
         | 
| 40 52 | 
             
              exit -1
         | 
| 41 53 | 
             
            end
         | 
| @@ -51,11 +63,6 @@ def new_slide! name, format = 'html' | |
| 51 63 | 
             
              preso.new_slide "#{name}.#{extension}", :with => ['styles', 'script']
         | 
| 52 64 | 
             
            end
         | 
| 53 65 |  | 
| 54 | 
            -
            def compile_templates!
         | 
| 55 | 
            -
              preso = Shining::Preso.open Dir.pwd
         | 
| 56 | 
            -
              preso.compile_templates!
         | 
| 57 | 
            -
            end
         | 
| 58 | 
            -
             | 
| 59 66 | 
             
            def play
         | 
| 60 67 | 
             
              preso = Shining::Preso.open Dir.pwd
         | 
| 61 68 | 
             
              player = Shining::Player.new preso
         | 
| @@ -72,4 +79,8 @@ def remove slide | |
| 72 79 | 
             
              preso.remove_slide slide
         | 
| 73 80 | 
             
            end
         | 
| 74 81 |  | 
| 82 | 
            +
            def version
         | 
| 83 | 
            +
              Shining.say Shining::VERSION
         | 
| 84 | 
            +
            end
         | 
| 85 | 
            +
             | 
| 75 86 | 
             
            figure_what_to_do!
         | 
    
        data/lib/deps.js
    CHANGED
    
    | @@ -11,10 +11,10 @@ | |
| 11 11 | 
             
            (function($,i,b){var j,k=$.event.special,c="location",d="hashchange",l="href",f=$.browser,g=document.documentMode,h=f.msie&&(g===b||g<8),e="on"+d in i&&!h;function a(m){m=m||i[c][l];return m.replace(/^[^#]*#?(.*)$/,"$1")}$[d+"Delay"]=100;k[d]=$.extend(k[d],{setup:function(){if(e){return false}$(j.start)},teardown:function(){if(e){return false}$(j.stop)}});j=(function(){var m={},r,n,o,q;function p(){o=q=function(s){return s};if(h){n=$('<iframe src="javascript:0"/>').hide().insertAfter("body")[0].contentWindow;q=function(){return a(n.document[c][l])};o=function(u,s){if(u!==s){var t=n.document;t.open().close();t[c].hash="#"+u}};o(a())}}m.start=function(){if(r){return}var t=a();o||p();(function s(){var v=a(),u=q(t);if(v!==t){o(t=v,u);$(i).trigger(d)}else{if(u!==t){i[c][l]=i[c][l].replace(/#.*/,"")+"#"+u}}r=setTimeout(s,$[d+"Delay"])})()};m.stop=function(){if(!n){r&&clearTimeout(r);r=0}};return m})()})(jQuery,this);
         | 
| 12 12 |  | 
| 13 13 | 
             
            // IE Array.prototype.indexOf fix
         | 
| 14 | 
            -
            if(!Array.prototype.indexOf){Array.prototype.indexOf=function(elt,from){var len=this.length;var from=Number(arguments[1])||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++){if(from in this&&this[from]===elt)return from;} return-1;};}
         | 
| 14 | 
            +
            if(!Array.prototype.indexOf){Array.prototype.indexOf=function(elt,from){var len=this.length;var from=Number(arguments[1])||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++){if(from in this&&this[from]===elt)return from;} return-1;};};
         | 
| 15 15 |  | 
| 16 | 
            -
            // http://github.com/ | 
| 17 | 
            -
            var  | 
| 16 | 
            +
            // http://github.com/juliocesar/haml-js
         | 
| 17 | 
            +
            (function(){if(!String.prototype.trim){String.prototype.trim=function(){return this.replace(/^\s+|\s+$/,"");};}if(!Array.prototype.forEach){Array.prototype.forEach=function(fun){var len=this.length>>>0;if(typeof fun!="function"){throw new TypeError();}var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){fun.call(thisp,this[i],i,this);}}};}if(!Array.prototype.map){Array.prototype.map=function(fun){var len=this.length;if(typeof fun!="function"){throw new TypeError();}var res=new Array(len);var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){res[i]=fun.call(thisp,this[i],i,this);}}return res;};}if(!Array.prototype.filter){Array.prototype.filter=function(fun){var len=this.length;if(typeof fun!="function"){throw new TypeError();}var res=new Array();var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){var val=this[i];if(fun.call(thisp,val,i,this)){res.push(val);}}}return res;};}var matchers,self_close_tags,embedder,forceXML;function html_escape(text){return(text+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\"/g,""");}function render_attribs(attribs){var key,value,result=[];for(key in attribs){if(key!=="_content"&&attribs.hasOwnProperty(key)){switch(attribs[key]){case"undefined":case"false":case"null":case'""':break;default:try{value=JSON.parse("["+attribs[key]+"]")[0];if(value===true){value=key;}else{if(typeof value==="string"&&embedder.test(value)){value='" +\n'+parse_interpol(html_escape(value))+' +\n"';}else{value=html_escape(value);}}result.push(" "+key+'=\\"'+value+'\\"');}catch(e){result.push(" "+key+'=\\"" + html_escape('+attribs[key]+') + "\\"');}}}}return result.join("");}function parse_attribs(line){var attributes={},l=line.length,i,c,count=1,quote=false,skip=false,open,close,joiner,seperator,pair={start:1,middle:null,end:null};if(!(l>0&&(line.charAt(0)==="{"||line.charAt(0)==="("))){return{_content:line[0]===" "?line.substr(1,l):line};}open=line.charAt(0);close=(open==="{")?"}":")";joiner=(open==="{")?":":"=";seperator=(open==="{")?",":" ";function process_pair(){if(typeof pair.start==="number"&&typeof pair.middle==="number"&&typeof pair.end==="number"){var key=line.substr(pair.start,pair.middle-pair.start).trim(),value=line.substr(pair.middle+1,pair.end-pair.middle-1).trim();attributes[key]=value;}pair={start:null,middle:null,end:null};}for(i=1;count>0;i+=1){if(i>l){throw"Malformed attribute block";}c=line.charAt(i);if(skip){skip=false;}else{if(quote){if(c==="\\"){skip=true;}if(c===quote){quote=false;}}else{if(c==='"'||c==="'"){quote=c;}if(count===1){if(c===joiner){pair.middle=i;}if(c===seperator||c===close){pair.end=i;process_pair();if(c===seperator){pair.start=i+1;}}}if(c===open||c==="("){count+=1;}if(c===close||(count>1&&c===")")){count-=1;}}}}attributes._content=line.substr(i,line.length);return attributes;}function parse_interpol(value){var items=[],pos=0,next=0,match;while(true){next=value.substr(pos).search(embedder);if(next<0){if(pos<value.length){items.push(JSON.stringify(value.substr(pos)));}break;}items.push(JSON.stringify(value.substr(pos,next)));pos+=next;match=value.substr(pos).match(embedder);next=match[0].length;if(next<0){break;}items.push(match[1]||match[2]);pos+=next;}return items.filter(function(part){return part&&part.length>0;}).join(" +\n");}embedder=/\#\{([^}]*)\}/;self_close_tags=["meta","img","link","br","hr","input","area","base"];matchers=[{regexp:/^(\s*)((?:[.#%][a-z_\-][a-z0-9_:\-]*)+)(.*)$/i,process:function(){var tag,classes,ids,attribs,content;tag=this.matches[2];classes=tag.match(/\.([a-z_\-][a-z0-9_\-]*)/gi);ids=tag.match(/\#([a-z_\-][a-z0-9_\-]*)/gi);tag=tag.match(/\%([a-z_\-][a-z0-9_:\-]*)/gi);tag=tag?tag[0].substr(1,tag[0].length):"div";attribs=this.matches[3];if(attribs){attribs=parse_attribs(attribs);if(attribs._content){this.contents.unshift(attribs._content.trim());delete (attribs._content);}}else{attribs={};}if(classes){classes=classes.map(function(klass){return klass.substr(1,klass.length);}).join(" ");if(attribs["class"]){try{attribs["class"]=JSON.stringify(classes+" "+JSON.parse(attribs["class"]));}catch(e){attribs["class"]=JSON.stringify(classes+" ")+" + "+attribs["class"];}}else{attribs["class"]=JSON.stringify(classes);}}if(ids){ids=ids.map(function(id){return id.substr(1,id.length);}).join(" ");if(attribs.id){attribs.id=JSON.stringify(ids+" ")+attribs.id;}else{attribs.id=JSON.stringify(ids);}}attribs=render_attribs(attribs);content=this.render_contents();if(content==='""'){content="";}if(forceXML?content.length>0:self_close_tags.indexOf(tag)==-1){return'"<'+tag+attribs+'>"'+(content.length>0?" + \n"+content:"")+' + \n"</'+tag+'>"';}else{return'"<'+tag+attribs+' />"';}}},{regexp:/^(\s*)(?::for|:each)\s+(?:([a-z_][a-z_\-]*),\s*)?([a-z_][a-z_\-]*)\s+in\s+(.*)(\s*)$/i,process:function(){var ivar=this.matches[2]||"__key__",vvar=this.matches[3],avar=this.matches[4],rvar="__result__";if(this.matches[5]){this.contents.unshift(this.matches[5]);}return"(function () { var "+rvar+" = [], "+ivar+", "+vvar+"; for ("+ivar+" in "+avar+") { if ("+avar+".hasOwnProperty("+ivar+")) { "+vvar+" = "+avar+"["+ivar+"]; "+rvar+".push(\n"+(this.render_contents()||"''")+"\n); } } return "+rvar+'.join(""); }).call(this)';}},{regexp:/^(\s*):if\s+(.*)\s*$/i,process:function(){var condition=this.matches[2];return"(function () { if ("+condition+") { return (\n"+(this.render_contents()||"")+'\n);} else { return ""; } }).call(this)';}},{regexp:/^()!!!(?:\s*(.*))\s*$/,process:function(){var line="";switch((this.matches[2]||"").toLowerCase()){case"":line='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';break;case"strict":case"1.0":line='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';break;case"frameset":line='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">';break;case"5":line="<!DOCTYPE html>";break;case"1.1":line='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';break;case"basic":line='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">';break;case"mobile":line='<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">';break;case"xml":line="<?xml version='1.0' encoding='utf-8' ?>";break;case"xml iso-8859-1":line="<?xml version='1.0' encoding='iso-8859-1' ?>";break;}return JSON.stringify(line+"\n");}},{regexp:/^(\s*):markdown\s*$/i,process:function(){return parse_interpol(exports.Markdown.encode(this.contents.join("\n")));}},{regexp:/^(\s*):(?:java)?script\s*$/,process:function(){return parse_interpol('\n<script type="text/javascript">\n//<![CDATA[\n'+this.contents.join("\n")+"\n//]]>\n<\/script>\n");}},{regexp:/^(\s*):css\s*$/,process:function(){return JSON.stringify('\n<style type="text/css">\n'+this.contents.join("\n")+"\n</style>\n");}},];function compile(lines){var block=false,output=[];if(typeof lines==="string"){lines=lines.trim().split("\n");}lines.forEach(function(line){var match,found=false;if(block){match=line.match(block.check_indent);if(match){block.contents.push(match[1]||"");return;}else{output.push(block.process());block=false;}}matchers.forEach(function(matcher){if(!found){match=line.match(matcher.regexp);if(match){block={contents:[],matches:match,check_indent:new RegExp("^(?:\\s*|"+match[1]+"  (.*))$"),process:matcher.process,render_contents:function(){return compile(this.contents);}};found=true;}}});if(!found){output.push(function(){if(line[0]==="\\"){return parse_interpol(line.substr(1,line.length));}if(line[0]==="="){line=line.substr(1,line.length).trim();try{return parse_interpol(JSON.parse(line));}catch(e){return line;}}if(line.substr(0,2)==="&="){line=line.substr(2,line.length).trim();try{return JSON.stringify(html_escape(JSON.parse(line)));}catch(e2){return"html_escape("+line+")";}}return parse_interpol(line);}());}});if(block){output.push(block.process());}return output.filter(function(part){return part&&part.length>0;}).join(" +\n");}function optimize(js){var new_js=[],buffer=[],part,end;function flush(){if(buffer.length>0){new_js.push(JSON.stringify(buffer.join(""))+end);buffer=[];}}js.split("\n").forEach(function(line){part=line.match(/^(\".*\")(\s*\+\s*)?$/);if(!part){flush();new_js.push(line);return;}end=part[2]||"";part=part[1];try{buffer.push(JSON.parse(part));}catch(e){flush();new_js.push(line);}});flush();return new_js.join("\n");}function render(text,options){options=options||{};text=text||"";var js=compile(text);if(options.optimize){js=Haml.optimize(js);}return execute(js,options.context||Haml,options.locals);}function execute(js,self,locals){return(function(){with(locals||{}){try{return eval("("+js+")");}catch(e){return"\n<pre class='error'>"+html_escape(e.stack)+"</pre>\n";}}}).call(self);}Haml=function(haml,xml){forceXML=xml;var js=optimize(compile(haml));return new Function("locals",html_escape+"\nwith(locals || {}) {\n  try {\n    return ("+js+');\n  } catch (e) {\n    return "\\n<pre class=\'error\'>" + html_escape(e.stack) + "</pre>\\n";\n  }\n}');};Haml.compile=compile;Haml.optimize=optimize;Haml.render=render;Haml.execute=execute;})();
         | 
| 18 18 |  | 
| 19 19 | 
             
            /**
         | 
| 20 20 | 
             
             * SyntaxHighlighter
         | 
    
        data/lib/shining.js
    CHANGED
    
    | @@ -199,6 +199,7 @@ | |
| 199 199 | 
             
                  bindKeys();
         | 
| 200 200 | 
             
                  when('previous',  function() { help('←') });
         | 
| 201 201 | 
             
                  when('next',      function() { help('→') });
         | 
| 202 | 
            +
                  when('slideplay', function() { loadSlideStyle(arguments[1]) });
         | 
| 202 203 | 
             
                  $(window).bind('hashchange', function(event) {
         | 
| 203 204 | 
             
                    var slide = document.location.hash.replace('#', '');
         | 
| 204 205 | 
             
                    if (slide) { Shining.getSlide(slide) };
         | 
| @@ -208,7 +209,7 @@ | |
| 208 209 | 
             
                    trigger('init');
         | 
| 209 210 | 
             
                    var startAt = document.location.hash.replace('#', ''),
         | 
| 210 211 | 
             
                      first = startAt ? startAt : Shining.slides.current();
         | 
| 211 | 
            -
                    loadSlide(first, function() { playSlide(first) });
         | 
| 212 | 
            +
                    loadSlide(first, function() { playSlide(first); centerStage() });
         | 
| 212 213 | 
             
                    preloadSlides();
         | 
| 213 214 | 
             
                    setTitle(Shining.config.title);
         | 
| 214 215 | 
             
                    setTheme(Shining.config.theme);
         | 
| @@ -273,16 +274,14 @@ | |
| 273 274 | 
             
                    function(data) {
         | 
| 274 275 | 
             
                      Shining.slides._loaded[name] = {};
         | 
| 275 276 | 
             
                      Shining.slides._loaded[name].markup = compileSlide(name, data);
         | 
| 276 | 
            -
                      trigger(' | 
| 277 | 
            +
                      trigger('slideloaded', [name]);
         | 
| 277 278 | 
             
                      if (data) {
         | 
| 278 279 | 
             
                        loadSlideScript(name, afterLoad);
         | 
| 279 | 
            -
                        loadSlideStyle(name);
         | 
| 280 280 | 
             
                      }
         | 
| 281 281 | 
             
                    }
         | 
| 282 282 | 
             
                  );
         | 
| 283 283 | 
             
                } else {
         | 
| 284 284 | 
             
                  if ($.isFunction(afterLoad)) afterLoad.call();
         | 
| 285 | 
            -
                  loadSlideStyle(name);
         | 
| 286 285 | 
             
                }
         | 
| 287 286 | 
             
              }
         | 
| 288 287 |  | 
| @@ -294,6 +293,7 @@ | |
| 294 293 | 
             
                var slide = Shining.slides._loaded[name];
         | 
| 295 294 | 
             
                Shining.slides.current(name);
         | 
| 296 295 | 
             
                $('#stage .contents').html(slide.markup);
         | 
| 296 | 
            +
                $('#stage img').each(function() { $(this).load(function() { centerStage() }) });
         | 
| 297 297 | 
             
                trigger('slideplay', [name]);
         | 
| 298 298 | 
             
                $(window).trigger('resize');
         | 
| 299 299 | 
             
                Shining.scripts.run(slide.script);
         | 
| @@ -307,8 +307,7 @@ | |
| 307 307 | 
             
                }
         | 
| 308 308 | 
             
              }
         | 
| 309 309 |  | 
| 310 | 
            -
              function  | 
| 311 | 
            -
              function pluginPath(name) { return installPath() + '/plugins/' + name + '.js' }
         | 
| 310 | 
            +
              function pluginPath(name) { return 'vendor/lib/plugins/' + name + '.js' }
         | 
| 312 311 |  | 
| 313 312 | 
             
              function loadSlideScript(name, afterLoad) {
         | 
| 314 313 | 
             
                $.ajax({
         | 
| @@ -321,7 +320,7 @@ | |
| 321 320 |  | 
| 322 321 | 
             
              function loadSlideStyle(name) {
         | 
| 323 322 | 
             
                $('link.slide').remove();
         | 
| 324 | 
            -
                $('head').append('<link rel="stylesheet" type="text/css" href="' + slidePlusExtension(name, 'css') + '" media="all" class="slide"/>')
         | 
| 323 | 
            +
                $('head').append('<link rel="stylesheet" type="text/css" href="' + slidePath(slidePlusExtension(name, 'css')) + '" media="all" class="slide"/>')
         | 
| 325 324 | 
             
              }
         | 
| 326 325 |  | 
| 327 326 | 
             
              function loadConfig(callback) {
         | 
| @@ -353,4 +352,4 @@ | |
| 353 352 | 
             
              }
         | 
| 354 353 |  | 
| 355 354 | 
             
              Shining.init();
         | 
| 356 | 
            -
            })(jQuery);
         | 
| 355 | 
            +
            })(jQuery);
         | 
    
        data/lib/shining.rb
    CHANGED
    
    
    
        data/shining.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{shining}
         | 
| 8 | 
            -
              s.version = "1.3. | 
| 8 | 
            +
              s.version = "1.3.5"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Julio Cesar Ody"]
         | 
| 12 | 
            -
              s.date = %q{2010-06- | 
| 12 | 
            +
              s.date = %q{2010-06-21}
         | 
| 13 13 | 
             
              s.default_executable = %q{shine}
         | 
| 14 14 | 
             
              s.description = %q{HTML + CSS + Javascript = awesome presos}
         | 
| 15 15 | 
             
              s.email = %q{julio.ody@gmail.com}
         | 
| @@ -87,7 +87,7 @@ Gem::Specification.new do |s| | |
| 87 87 | 
             
              s.homepage = %q{http://shining.heroku.com}
         | 
| 88 88 | 
             
              s.rdoc_options = ["--charset=UTF-8"]
         | 
| 89 89 | 
             
              s.require_paths = ["lib"]
         | 
| 90 | 
            -
              s.rubygems_version = %q{1.3. | 
| 90 | 
            +
              s.rubygems_version = %q{1.3.7}
         | 
| 91 91 | 
             
              s.summary = %q{HTML + CSS + Javascript = awesome presos}
         | 
| 92 92 | 
             
              s.test_files = [
         | 
| 93 93 | 
             
                "spec/cli_spec.rb",
         | 
| @@ -102,10 +102,11 @@ Gem::Specification.new do |s| | |
| 102 102 | 
             
                current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
         | 
| 103 103 | 
             
                s.specification_version = 3
         | 
| 104 104 |  | 
| 105 | 
            -
                if Gem::Version.new(Gem:: | 
| 105 | 
            +
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         | 
| 106 106 | 
             
                  s.add_runtime_dependency(%q<json_pure>, [">= 1.1.9"])
         | 
| 107 107 | 
             
                  s.add_runtime_dependency(%q<heroku>, [">= 1.9.9"])
         | 
| 108 108 | 
             
                  s.add_runtime_dependency(%q<rack>, [">= 0.9"])
         | 
| 109 | 
            +
                  s.add_runtime_dependency(%q<jeweler>, [">= 1.4.0"])
         | 
| 109 110 | 
             
                  s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
         | 
| 110 111 | 
             
                  s.add_development_dependency(%q<jspec>, ["= 4.2.0"])
         | 
| 111 112 | 
             
                  s.add_development_dependency(%q<rake>, ["= 0.8.7"])
         | 
| @@ -113,6 +114,7 @@ Gem::Specification.new do |s| | |
| 113 114 | 
             
                  s.add_dependency(%q<json_pure>, [">= 1.1.9"])
         | 
| 114 115 | 
             
                  s.add_dependency(%q<heroku>, [">= 1.9.9"])
         | 
| 115 116 | 
             
                  s.add_dependency(%q<rack>, [">= 0.9"])
         | 
| 117 | 
            +
                  s.add_dependency(%q<jeweler>, [">= 1.4.0"])
         | 
| 116 118 | 
             
                  s.add_dependency(%q<rspec>, ["= 1.3.0"])
         | 
| 117 119 | 
             
                  s.add_dependency(%q<jspec>, ["= 4.2.0"])
         | 
| 118 120 | 
             
                  s.add_dependency(%q<rake>, ["= 0.8.7"])
         | 
| @@ -121,6 +123,7 @@ Gem::Specification.new do |s| | |
| 121 123 | 
             
                s.add_dependency(%q<json_pure>, [">= 1.1.9"])
         | 
| 122 124 | 
             
                s.add_dependency(%q<heroku>, [">= 1.9.9"])
         | 
| 123 125 | 
             
                s.add_dependency(%q<rack>, [">= 0.9"])
         | 
| 126 | 
            +
                s.add_dependency(%q<jeweler>, [">= 1.4.0"])
         | 
| 124 127 | 
             
                s.add_dependency(%q<rspec>, ["= 1.3.0"])
         | 
| 125 128 | 
             
                s.add_dependency(%q<jspec>, ["= 4.2.0"])
         | 
| 126 129 | 
             
                s.add_dependency(%q<rake>, ["= 0.8.7"])
         | 
    
        data/spec/shining_spec.rb
    CHANGED
    
    | @@ -2,6 +2,11 @@ require File.join(File.dirname(__FILE__), 'spec_helper') | |
| 2 2 |  | 
| 3 3 | 
             
            describe Shining do
         | 
| 4 4 | 
             
              after do Shining.quiet! end
         | 
| 5 | 
            +
              
         | 
| 6 | 
            +
              it 'fetches the version on Shining::VERSION' do
         | 
| 7 | 
            +
                Shining::VERSION.should == File.read(Shining.root + '/VERSION')
         | 
| 8 | 
            +
              end
         | 
| 9 | 
            +
              
         | 
| 5 10 | 
             
              context 'quiet and verbose' do
         | 
| 6 11 | 
             
                it '#verbose! means it will output to the console' do
         | 
| 7 12 | 
             
                  STDOUT.should_receive :puts
         | 
    
        metadata
    CHANGED
    
    | @@ -1,12 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: shining
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            +
              hash: 17
         | 
| 4 5 | 
             
              prerelease: false
         | 
| 5 6 | 
             
              segments: 
         | 
| 6 7 | 
             
              - 1
         | 
| 7 8 | 
             
              - 3
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              version: 1.3. | 
| 9 | 
            +
              - 5
         | 
| 10 | 
            +
              version: 1.3.5
         | 
| 10 11 | 
             
            platform: ruby
         | 
| 11 12 | 
             
            authors: 
         | 
| 12 13 | 
             
            - Julio Cesar Ody
         | 
| @@ -14,16 +15,18 @@ autorequire: | |
| 14 15 | 
             
            bindir: bin
         | 
| 15 16 | 
             
            cert_chain: []
         | 
| 16 17 |  | 
| 17 | 
            -
            date: 2010-06- | 
| 18 | 
            +
            date: 2010-06-21 00:00:00 +10:00
         | 
| 18 19 | 
             
            default_executable: shine
         | 
| 19 20 | 
             
            dependencies: 
         | 
| 20 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 21 22 | 
             
              name: json_pure
         | 
| 22 23 | 
             
              prerelease: false
         | 
| 23 24 | 
             
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 25 | 
            +
                none: false
         | 
| 24 26 | 
             
                requirements: 
         | 
| 25 27 | 
             
                - - ">="
         | 
| 26 28 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 29 | 
            +
                    hash: 1
         | 
| 27 30 | 
             
                    segments: 
         | 
| 28 31 | 
             
                    - 1
         | 
| 29 32 | 
             
                    - 1
         | 
| @@ -35,9 +38,11 @@ dependencies: | |
| 35 38 | 
             
              name: heroku
         | 
| 36 39 | 
             
              prerelease: false
         | 
| 37 40 | 
             
              requirement: &id002 !ruby/object:Gem::Requirement 
         | 
| 41 | 
            +
                none: false
         | 
| 38 42 | 
             
                requirements: 
         | 
| 39 43 | 
             
                - - ">="
         | 
| 40 44 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 45 | 
            +
                    hash: 33
         | 
| 41 46 | 
             
                    segments: 
         | 
| 42 47 | 
             
                    - 1
         | 
| 43 48 | 
             
                    - 9
         | 
| @@ -49,9 +54,11 @@ dependencies: | |
| 49 54 | 
             
              name: rack
         | 
| 50 55 | 
             
              prerelease: false
         | 
| 51 56 | 
             
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 57 | 
            +
                none: false
         | 
| 52 58 | 
             
                requirements: 
         | 
| 53 59 | 
             
                - - ">="
         | 
| 54 60 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 61 | 
            +
                    hash: 25
         | 
| 55 62 | 
             
                    segments: 
         | 
| 56 63 | 
             
                    - 0
         | 
| 57 64 | 
             
                    - 9
         | 
| @@ -59,47 +66,69 @@ dependencies: | |
| 59 66 | 
             
              type: :runtime
         | 
| 60 67 | 
             
              version_requirements: *id003
         | 
| 61 68 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 62 | 
            -
              name:  | 
| 69 | 
            +
              name: jeweler
         | 
| 63 70 | 
             
              prerelease: false
         | 
| 64 71 | 
             
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 72 | 
            +
                none: false
         | 
| 73 | 
            +
                requirements: 
         | 
| 74 | 
            +
                - - ">="
         | 
| 75 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 76 | 
            +
                    hash: 7
         | 
| 77 | 
            +
                    segments: 
         | 
| 78 | 
            +
                    - 1
         | 
| 79 | 
            +
                    - 4
         | 
| 80 | 
            +
                    - 0
         | 
| 81 | 
            +
                    version: 1.4.0
         | 
| 82 | 
            +
              type: :runtime
         | 
| 83 | 
            +
              version_requirements: *id004
         | 
| 84 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 85 | 
            +
              name: rspec
         | 
| 86 | 
            +
              prerelease: false
         | 
| 87 | 
            +
              requirement: &id005 !ruby/object:Gem::Requirement 
         | 
| 88 | 
            +
                none: false
         | 
| 65 89 | 
             
                requirements: 
         | 
| 66 90 | 
             
                - - "="
         | 
| 67 91 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 92 | 
            +
                    hash: 27
         | 
| 68 93 | 
             
                    segments: 
         | 
| 69 94 | 
             
                    - 1
         | 
| 70 95 | 
             
                    - 3
         | 
| 71 96 | 
             
                    - 0
         | 
| 72 97 | 
             
                    version: 1.3.0
         | 
| 73 98 | 
             
              type: :development
         | 
| 74 | 
            -
              version_requirements: * | 
| 99 | 
            +
              version_requirements: *id005
         | 
| 75 100 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 76 101 | 
             
              name: jspec
         | 
| 77 102 | 
             
              prerelease: false
         | 
| 78 | 
            -
              requirement: & | 
| 103 | 
            +
              requirement: &id006 !ruby/object:Gem::Requirement 
         | 
| 104 | 
            +
                none: false
         | 
| 79 105 | 
             
                requirements: 
         | 
| 80 106 | 
             
                - - "="
         | 
| 81 107 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 108 | 
            +
                    hash: 55
         | 
| 82 109 | 
             
                    segments: 
         | 
| 83 110 | 
             
                    - 4
         | 
| 84 111 | 
             
                    - 2
         | 
| 85 112 | 
             
                    - 0
         | 
| 86 113 | 
             
                    version: 4.2.0
         | 
| 87 114 | 
             
              type: :development
         | 
| 88 | 
            -
              version_requirements: * | 
| 115 | 
            +
              version_requirements: *id006
         | 
| 89 116 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 90 117 | 
             
              name: rake
         | 
| 91 118 | 
             
              prerelease: false
         | 
| 92 | 
            -
              requirement: & | 
| 119 | 
            +
              requirement: &id007 !ruby/object:Gem::Requirement 
         | 
| 120 | 
            +
                none: false
         | 
| 93 121 | 
             
                requirements: 
         | 
| 94 122 | 
             
                - - "="
         | 
| 95 123 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 124 | 
            +
                    hash: 49
         | 
| 96 125 | 
             
                    segments: 
         | 
| 97 126 | 
             
                    - 0
         | 
| 98 127 | 
             
                    - 8
         | 
| 99 128 | 
             
                    - 7
         | 
| 100 129 | 
             
                    version: 0.8.7
         | 
| 101 130 | 
             
              type: :development
         | 
| 102 | 
            -
              version_requirements: * | 
| 131 | 
            +
              version_requirements: *id007
         | 
| 103 132 | 
             
            description: HTML + CSS + Javascript = awesome presos
         | 
| 104 133 | 
             
            email: julio.ody@gmail.com
         | 
| 105 134 | 
             
            executables: 
         | 
| @@ -184,23 +213,27 @@ rdoc_options: | |
| 184 213 | 
             
            require_paths: 
         | 
| 185 214 | 
             
            - lib
         | 
| 186 215 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement 
         | 
| 216 | 
            +
              none: false
         | 
| 187 217 | 
             
              requirements: 
         | 
| 188 218 | 
             
              - - ">="
         | 
| 189 219 | 
             
                - !ruby/object:Gem::Version 
         | 
| 220 | 
            +
                  hash: 3
         | 
| 190 221 | 
             
                  segments: 
         | 
| 191 222 | 
             
                  - 0
         | 
| 192 223 | 
             
                  version: "0"
         | 
| 193 224 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 225 | 
            +
              none: false
         | 
| 194 226 | 
             
              requirements: 
         | 
| 195 227 | 
             
              - - ">="
         | 
| 196 228 | 
             
                - !ruby/object:Gem::Version 
         | 
| 229 | 
            +
                  hash: 3
         | 
| 197 230 | 
             
                  segments: 
         | 
| 198 231 | 
             
                  - 0
         | 
| 199 232 | 
             
                  version: "0"
         | 
| 200 233 | 
             
            requirements: []
         | 
| 201 234 |  | 
| 202 235 | 
             
            rubyforge_project: 
         | 
| 203 | 
            -
            rubygems_version: 1.3. | 
| 236 | 
            +
            rubygems_version: 1.3.7
         | 
| 204 237 | 
             
            signing_key: 
         | 
| 205 238 | 
             
            specification_version: 3
         | 
| 206 239 | 
             
            summary: HTML + CSS + Javascript = awesome presos
         |