lti_public_resources 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/lti_public_resources/app.min.js +2 -2
  3. data/app/controllers/lti_public_resources/api_controller.rb +1 -1
  4. data/app/controllers/lti_public_resources/application_controller.rb +10 -0
  5. data/app/views/lti_public_resources/ember/_analytics.html.erb +9 -0
  6. data/app/views/lti_public_resources/ember/_khan_academy.html.erb +1 -0
  7. data/app/views/lti_public_resources/ember/_quizlet.html.erb +2 -1
  8. data/app/views/lti_public_resources/ember/_schooltube.html.erb +1 -0
  9. data/app/views/lti_public_resources/ember/_vimeo.html.erb +1 -0
  10. data/app/views/lti_public_resources/ember/_youtube.html.erb +1 -0
  11. data/app/views/lti_public_resources/ember/app.html.erb +2 -0
  12. data/config/lti_public_resources_config.yml.example +4 -1
  13. data/lib/lti_public_resources.rb +1 -1
  14. data/lib/lti_public_resources/lti_public_resources_config.rb +2 -0
  15. data/lib/lti_public_resources/version.rb +1 -1
  16. data/spec/test_app/config/lti_public_resources_config.yml +3 -0
  17. data/spec/test_app/log/development.log +1452 -0
  18. data/spec/test_app/tmp/cache/assets/development/sprockets/017101d8798ff568f45f0a474a9224fd +0 -0
  19. data/spec/test_app/tmp/cache/assets/development/sprockets/10d0431cd6133f92ee101b75588ae46d +0 -0
  20. data/spec/test_app/tmp/cache/assets/development/sprockets/2bacc3a78a4d9184482e9ced42407b39 +0 -0
  21. data/spec/test_app/tmp/cache/assets/development/sprockets/361d82427e3d667c6426959c1b84818d +0 -0
  22. data/spec/test_app/tmp/cache/assets/development/sprockets/64829bc129e7aef33cf3167e7116098b +0 -0
  23. data/spec/test_app/tmp/cache/assets/development/sprockets/fe5266b8c335d96e5b36a4f10995fbc5 +0 -0
  24. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9683980f233483792a48a56a811bbfdcf16a1621
4
- data.tar.gz: aca57169c9ae66842521c751e0a09838a2483a12
3
+ metadata.gz: 8e3be624353ee197200568a24792c38816a4fbb3
4
+ data.tar.gz: 50b43a0c523205bfd618898327ffc9f97d0a4452
5
5
  SHA512:
6
- metadata.gz: bd3484cb4f5828fa95a24f3a9df9769ef8db98812dea5f584a841a5be6f22eae26a7273a66ee470c6c2e566793cf6d3b9dfffe8f21224e8a65bfc51c65a27e06
7
- data.tar.gz: 75a019c429d82d1b5d461334054639d4e6190519d1c6efbad032b85952cdc636a2532c944d2c95511e91051d011a61738b32fa41de1fc0bb734b1b344a660c64
6
+ metadata.gz: b679e7ada3f2432b444e13d51e4041d6db8c06aec3b48d34dd56862beb8a9557dae7f3f856b3210779989b75d1017d22ab4faf62860af20357bb2465af6483a8
7
+ data.tar.gz: 6b50f64c1861580ee9a61e60d3e1aeef3057aa5cb44df918da8e7043fd6c08beaa6b21e9369c9b38e45e280ddd84ea1122ea45653405d6e8cb44aaf205ff82fc
@@ -1,2 +1,2 @@
1
- define("appkit/app",["resolver","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.Application.extend({LOG_ACTIVE_GENERATION:!0,LOG_MODULE_RESOLVER:!0,LOG_TRANSITIONS:!0,LOG_TRANSITIONS_INTERNAL:!0,LOG_VIEW_LOOKUPS:!0,modulePrefix:"appkit",Resolver:c["default"]});Ember.RSVP.configure("onerror",function(a){a instanceof Error&&(Ember.Logger.assert(!1,a),Ember.Logger.error(a.stack))}),b["default"]=d}),define("appkit/components/ic-spinner",["exports"],function(a){"use strict";var b=Ember.Component.extend({spinner:void 0,lines:9,length:4,width:3,radius:6,corners:1,rotate:0,direction:1,color:"#000",speed:1,trail:63,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2e9,top:"auto",left:"auto",showSpinner:function(){var a=this.get("element");this.spinner=new Spinner({lines:this.get("lines"),length:this.get("length"),width:this.get("width"),radius:this.get("radius"),corners:this.get("corners"),rotate:this.get("rotate"),direction:this.get("direction"),color:this.get("color"),speed:this.get("speed"),trail:this.get("trail"),shadow:this.get("shadow"),hwaccel:this.get("hwaccel"),className:this.get("className"),zIndex:this.get("zIndex"),top:this.get("top"),left:this.get("left")}),this.spinner.spin(a)}.on("didInsertElement"),teardown:function(){this.spinner&&this.spinner.stop()}.on("willDestroyElement")});a["default"]=b}),define("appkit/controllers/lti-app",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({returnType:null,triggerModal:function(a){this.set("returnType",a),Em.$("#embed-modal").modal("show")}});a["default"]=b}),define("appkit/controllers/lti-app/browse-details",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({actions:{performSearch:function(){this.transitionToRoute("ltiApp.browse",{folderChain:this.get("folderChain")})}}});a["default"]=b}),define("appkit/controllers/lti-app/browse",["appkit/libs/browsable","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.ObjectController.extend({isLoaded:!0,targetRoute:"ltiApp.browseDetails",showDashboard:function(){return Ember.isEmpty(Ember.ENV.TOOL_ID)}.property("Ember.ENV.TOOL_ID"),parentFolderChain:function(){return"root"===this.get("folderChain")?null:this.get("folderChain").split(".").slice(0,-1).join(".")}.property("folderChain"),parentFolder:function(){return"root"===this.get("folderChain")?null:this.get("folderChain").split(".").pop()}.property("folderChain"),currentFolder:function(){return this.get("folderChain").split(".").pop()}.property("folderChain"),loadData:function(){this.set("isLoaded",!1);var a=c.findFolder(this.get("ltiApp.toolId"),this.get("currentFolder"),this.get("parentFolderChain"));this.set("isLoaded",!0),this.set("folders",a.get("folders")),this.set("items",a.get("items"))}.observes("folderChain"),isEmptyResults:function(){return Em.isEmpty(this.get("items"))&&Em.isEmpty(this.get("folders"))}.property("items.@each","folders.@each"),actions:{goToFolder:function(a){var b=this.get("folderChain")+"."+a.id;this.transitionToRoute("ltiApp.browse",{folderChain:b})},goUpFolder:function(){var a=this.get("parentFolderChain");this.transitionToRoute("ltiApp.browse",{folderChain:a})},goToItem:function(a){this.transitionToRoute("ltiApp.browseDetails",{folderChain:this.get("folderChain"),item:a})}}});b["default"]=d}),define("appkit/controllers/lti-app/search",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({searchText:"",searchResults:null,init:function(){this._super(),this.set("searchResults",Em.A([]))}});a["default"]=b}),define("appkit/controllers/lti-app/search/details",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({});a["default"]=b}),define("appkit/controllers/lti-app/search/details/embed",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({});a["default"]=b}),define("appkit/controllers/lti-app/search/details/index",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({});a["default"]=b}),define("appkit/controllers/lti-app/search/index",["exports"],function(a){"use strict";var b=Ember.ArrayController.extend({showDashboard:function(){return Ember.isEmpty(Ember.ENV.TOOL_ID)}.property("Ember.ENV.TOOL_ID")});a["default"]=b}),define("appkit/controllers/lti-app/search/results",["appkit/libs/search","appkit/libs/response_types/video","appkit/libs/response_types/folder","appkit/libs/response_types/image","appkit/libs/response_types/quiz","appkit/libs/response_types/exercise","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b["default"],j=c["default"],k=d["default"],l=e["default"],m=f["default"],n=Ember.ArrayController.extend({isLoaded:!0,nextCriteria:null,loadingMore:!1,targetRoute:"ltiApp.search.details",showDashboard:function(){return Ember.isEmpty(Ember.ENV.TOOL_ID)}.property("Ember.ENV.TOOL_ID"),performSearch:function(){Ember.debug("performSearch: "+this.get("searchText"));var a=this;if(!Ember.isEmpty(this.get("searchText"))){this.set("isLoaded",!1),this.clear();var b=h.create({toolId:this.get("ltiApp.toolId"),searchText:this.get("searchText")});b.performRequest().then(function(c){var d=Em.Object.create(c.driver_response);return Em.isEmpty(d.get("next_criteria"))||d.set("next_criteria.tool_id",b.get("toolId")),a.parseResults(d),a.set("isLoaded",!0)},function(b){return Ember.debug("ERROR: "+b),a.set("isLoaded",!0)})}},searchForText:function(a){this.set("searchText",a),this.performSearch()},parseResults:function(a){var b=this;this.set("nextCriteria",a.get("next_criteria")),this.set("performedSearch",!0),a.get("items").forEach(function(a){var c=null;switch(a.kind){case"video":c=i.createFromData(a);break;case"folder":c=j.createFromData(a);break;case"image":c=k.createFromData(a);break;case"quiz":c=l.createFromData(a);break;case"exercise":c=m.createFromData(a)}c&&b.pushObject(c)})},actions:{showDetails:function(a){this.transitionToRoute("ltiApp.search.details.index",a)},getMore:function(){if(!Ember.isEmpty(this.get("nextCriteria"))){this.set("loadingMore",!0);var a=Ember.ENV.CONFIG.host+"/api/search",b=this.get("nextCriteria"),c=this;Em.$.post(a,b).done(function(a){var d;d=Ember.Object.create(a.driver_response),Em.isEmpty(d.get("next_criteria"))||d.set("next_criteria.tool_id",b.tool_id),c.parseResults(d),c.set("loadingMore",!1)}).fail(function(a){return Ember.debug("Error: "+a),c.set("loadingMore",!1)})}}}});g["default"]=n}),define("appkit/controllers/lti-apps",["exports"],function(a){"use strict";var b=Ember.ArrayController.extend({searchText:"",filteredApps:function(){var a=this.get("searchText");if(Em.isEmpty(a))return this.get("content");var b=this.get("content").filter(function(b){var c=b.get("name").toLowerCase();return c.match(a.toLowerCase())});return b}.property("searchText")});a["default"]=b}),define("appkit/helpers/if-equal",["exports"],function(a){"use strict";a["default"]=Ember.Handlebars.registerHelper(function(a,b,c){return c.data.view.content.get(a)===b?c.fn(this):c.inverse(this)})}),define("appkit/helpers/seconds-to-time",["exports"],function(a){"use strict";a["default"]=Ember.Handlebars.makeBoundHelper(function(a){var b=Math.floor(a/3600);a-=3600*b;var c=Math.floor(a/60);a-=60*c;var d=parseInt(a%60,10);return b?b+":"+(10>c?"0"+c:c)+":"+(10>d?"0"+d:d):(10>c?"0"+c:c)+":"+(10>d?"0"+d:d)})}),define("appkit/helpers/truncate-text",["exports"],function(a){"use strict";a["default"]=Ember.Handlebars.makeBoundHelper(function(a,b){return a.length>b?new Handlebars.SafeString(a.substring(0,b-3)+"&#8230;"):a})}),define("appkit/libs/browsable",["appkit/utils/ajax","appkit/libs/response_types/video","appkit/libs/response_types/folder","appkit/libs/response_types/image","appkit/libs/response_types/quiz","appkit/libs/response_types/exercise","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b["default"],j=c["default"],k=d["default"],l=e["default"],m=f["default"],n=Ember.Object.extend({folders:null,items:null,init:function(){this._super(),this.set("folders",Em.A([])),this.set("items",Em.A([]))}});n.reopenClass({findFolder:function(a,b,c){var d,e,f;return f=Ember.ENV.CONFIG.host+"/api/browse",d=n.create({}),e=c+"."+b,h({type:"POST",url:f,dataType:"json",data:{folder:b,tool_id:a}}).then(function(a){var b=a.driver_response.items;return b.forEach(function(a){var b;switch(b=null,a.kind){case"folder":b=j.createFromData(a),d.get("folders").pushObject(b);break;case"video":b=i.createFromData(a),b.set("folderChain",e),d.get("items").pushObject(b);break;case"image":b=k.createFromData(a),b.set("folderChain",e),d.get("items").pushObject(b);break;case"quiz":b=l.createFromData(a),b.set("folderChain",e),d.get("items").pushObject(b);break;case"exercise":b=m.createFromData(a),b.set("folderChain",e),d.get("items").pushObject(b);break;default:Em.debug("UNKNOWN KIND: "+a.kind)}})},function(a){Ember.debug("Error: "+a)}),d}}),g["default"]=n}),define("appkit/libs/lti-app",["appkit/utils/ajax","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.Object.extend({toolId:null,name:null,toolType:null,imageUrl:null,description:null,imageSrc:function(){return Em.ENV.CONFIG.imagePath+"/"+this.get("imageUrl")}.property("imageUrl")});d.reopenClass({find:function(){var a=c(Em.ENV.CONFIG.host+"/api/lti_apps").then(function(a){var b=Em.A([]);for(var c in a.lti_apps)b.addObject(d.createFromData(a.lti_apps[c]));return b});return a},findOne:function(a){var b=c(Em.ENV.CONFIG.host+"/api/lti_apps/"+a).then(function(a){return d.createFromData(a.lti_app)});return b},createFromData:function(a){return d.create({toolId:a.tool_id,name:a.name,toolType:a.tool_type,imageUrl:a.image_url,description:a.description})}}),b["default"]=d}),define("appkit/libs/response-type",["appkit/libs/return_types/url","appkit/libs/return_types/iframe","appkit/libs/return_types/image-url","appkit/libs/return_types/oembed","appkit/libs/return_types/file","appkit/libs/return_types/lti-launch-url","appkit/mixins/jsonable","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a["default"],j=b["default"],k=c["default"],l=d["default"],m=e["default"],n=f["default"],o=g["default"];h["default"]=Ember.Object.extend(o,{returnTypes:null,isFolder:!1,isExercise:!1,isImage:!1,isQuiz:!1,isVideo:!1,isLtiLaunchUrl:!1,isUnknownResourceType:function(){return(this.get("isFolder")&&this.get("isLtiLaunchUrl")&&this.get("isExercise")&&this.get("isImage")&&this.get("isQuiz")&&this.get("isVideo"))===!1}.property("returnType"),init:function(){this._super(),this.set("returnTypes",Em.A([]))},returnableReturnTypes:function(){var a=this.get("returnTypes").filterBy("returnable",!0);return a.length>0?a:this.get("returnTypes")}.property("returnTypes"),addReturnTypes:function(a){var b=this,c=null,d=Em.ENV.RETURN_TYPES.contains("lti_launch_url");a.forEach(function(a){switch(a.return_type){case"url":c=i.create(a),Em.ENV.RETURN_TYPES.contains("url")?c.set("returnable",!0):d&&(c=n.create(a),c.set("returnable",!0)),b.get("returnTypes").pushObject(c);break;case"iframe":c=j.create(a),Em.ENV.RETURN_TYPES.contains("iframe")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c);break;case"image_url":c=k.create(a),Em.ENV.RETURN_TYPES.contains("image_url")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c);break;case"oembed":c=l.create(a),Em.ENV.RETURN_TYPES.contains("oembed")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c);break;case"file":c=m.create(a),Em.ENV.RETURN_TYPES.contains("file")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c)}})}})}),define("appkit/libs/response_types/exercise",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({resourceType:"exercise",isExercise:!0})}),define("appkit/libs/response_types/folder",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"],d=c.extend({resourceType:"folder",isFolder:!0,id:null,title:null,description:null,parentId:null});d.reopenClass({createFromData:function(a){var b=d.create({id:a.id,title:a.title,description:a.description,parentId:a.parent_id});return b}}),b["default"]=d}),define("appkit/libs/response_types/image",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({resourceType:"image",isImage:!0})}),define("appkit/libs/response_types/quiz",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"],d=c.extend({resourceType:"quiz",id:null,title:null,description:null,thumbnailUrl:null,url:null,termCount:null,createdDate:null,hasImages:null,subjects:null,isQuiz:!0,embedHref:function(){var a=this.get("returnTypes").findProperty("return_type","iframe");return'<iframe src="'+a.url+'" width="'+a.width+'" height="'+a.height+'" title="'+a.title+'" allowfullscreen="allowfullscreen" frameborder="0"></iframe>'}.property("returnTypes.@each"),init:function(){return this._super(),this.set("subjects",Em.A([]))}});d.reopenClass({createFromData:function(a){var b;return b=d.create({id:a.id,title:a.title,description:a.description,thumbnailUrl:a.thumbnail_url,url:a.url,termCount:a.term_count,createdDate:a.created_date,hasImages:a.has_images}),a.subjects.forEach(function(a){b.get("subjects").pushObject(a)}),b.addReturnTypes(a.return_types),b}}),b["default"]=d}),define("appkit/libs/response_types/video",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"],d=c.extend({resourceType:"video",id:null,title:null,description:null,thumbnailUrl:null,url:null,embedUrl:null,duration:null,numViews:null,width:null,height:null,username:null,numLikes:null,numComments:null,createdDate:null,isVideo:!0,shortDescription:function(){var a=this.get("description"),b=150;return a.length<b?a:a.substring(0,b-4)+" ..."}.property("description"),addedTimeAgo:function(){return moment(this.get("createdDate")).fromNow()}.property("createdDate"),embedHtml:function(){var a;return a='<iframe src="'+this.get("embedUrl")+'" width="'+this.get("width")+'" height="'+this.get("height")+'" title="'+this.get("title")+'" frameborder="0" allowfullscreen></iframe>'}.property("title","url","width","height")});d.reopenClass({createFromData:function(a){var b=d.create({id:a.id,title:a.title,description:a.description,thumbnailUrl:a.thumbnail_url,url:a.url,embedUrl:a.embed_url,duration:a.duration,numViews:a.num_views,width:a.width,height:a.height,username:a.username,numLikes:a.num_likes,numComments:a.num_comments,createdDate:a.created_date});return b.addReturnTypes(a.return_types),b}}),b["default"]=d}),define("appkit/libs/return-type",["appkit/mixins/jsonable","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=Ember.Object.extend(c,{})}),define("appkit/libs/return_types/file",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"file",url:null,text:null,content_type:null,embedCode:function(){this.get("url")}.property("url")})}),define("appkit/libs/return_types/iframe",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"iframe",url:null,title:null,width:null,height:null,embedCode:function(){return'<iframe src="'+this.get("url")+'" width="'+this.get("width")+'" height="'+this.get("height")+'" title="'+this.get("title")+'" frameborder="0" allowfullscreen></iframe>'}.property("url","title","width","height")})}),define("appkit/libs/return_types/image-url",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"imageUrl",url:null,title:null,width:null,height:null,embedCode:function(){return this.get("url")}.property("url")})}),define("appkit/libs/return_types/lti-launch-url",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({init:function(){this._super(),this.set("return_type","lti_launch_url")},returnType:"ltiLaunchUrl"})}),define("appkit/libs/return_types/oembed",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"oembed",url:null,endpoint:null,embedCode:function(){return this.get("url")}.property("url")})}),define("appkit/libs/return_types/url",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"url",url:null,text:null,title:null,target:null,embedCode:function(){return this.get("url")}.property("url")})}),define("appkit/libs/search",["appkit/utils/ajax","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.Object.extend({toolId:null,searchText:null,searchResults:null,ajaxData:function(){return{tool_id:this.get("toolId"),query:this.get("searchText")}}.property("toolId","searchText"),performRequest:function(){return c({type:"POST",url:Em.ENV.CONFIG.host+"/api/search",data:this.get("ajaxData")})}});b["default"]=d}),define("appkit/mixins/jsonable",["exports"],function(a){"use strict";var b=Ember.Mixin.create({getJson:function(){var a,b,c;c=[];for(b in this)if(this.hasOwnProperty(b)){if(a=this[b],"toString"===a)continue;if("function"===Ember.typeOf(a))continue;c.push(b)}return this.getProperties.apply(this,c)}});a["default"]=b}),define("appkit/router",["exports"],function(a){"use strict";var b=Ember.Router.extend();b.map(function(){this.resource("ltiApps",{path:"/"}),this.resource("ltiApp",{path:"/:toolId"},function(){this.resource("ltiApp.browse",{path:"/browse/:folderChain"}),this.resource("ltiApp.browseDetails",{path:"/browse/:folderChain/:item"}),this.resource("ltiApp.search",{path:"/search"},function(){this.route("results",{path:"/results/:searchText"}),this.resource("ltiApp.search.details",{path:"/details/:id"},function(){this.route("embed",{path:"/embed/:returnType"})})})}),this.route("helper-test")}),a["default"]=b}),define("appkit/routes/helper-test",["exports"],function(a){"use strict";a["default"]=Ember.Route.extend({})}),define("appkit/routes/lti-app",["appkit/libs/lti-app","appkit/utils/ajax","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"],f=Ember.Route.extend({model:function(a){return d.findOne(a.toolId)},setupController:function(a,b){a.set("model",b)},afterModel:function(a){this.transitionTo("browse"===a.get("toolType")?"ltiApp.browse":"ltiApp.search")},actions:{embedItem:function(a){var b=this,c=Ember.ENV.CONFIG.host+"/api/embed",d={return_type:a.getJson(),launch_params:Em.ENV.LAUNCH_PARAMS};e({type:"POST",url:c,dataType:"json",data:d}).then(function(c){c.hasOwnProperty("redirectUrl")?window.location.replace(c.redirectUrl):b.get("controller").triggerModal(a)},function(a){Em.debug("Error: + ",a)})}}});c["default"]=f}),define("appkit/routes/lti-app/browse-details",["exports"],function(a){"use strict";var b=Ember.Route.extend({setupController:function(a,b){a.set("model",b)},serialize:function(a){return{folderChain:a.folderChain,item:a.id}}});a["default"]=b}),define("appkit/routes/lti-app/browse",["exports"],function(a){"use strict";var b=Ember.Route.extend({model:function(a){return{folderChain:a.folderChain||"root"}},setupController:function(a,b){var c=Ember.Object.create({ltiApp:this.modelFor("ltiApp"),folderChain:b.folderChain||"root",folders:Em.A([]),items:Em.A([])});a.set("model",c)}});a["default"]=b}),define("appkit/routes/lti-app/search",["exports"],function(a){"use strict";var b=Ember.Route.extend({model:function(){return this.modelFor("ltiApp")},actions:{performSearch:function(){var a=this.controllerFor("ltiApp.search").get("searchText");this.transitionTo("ltiApp.search.results",{searchText:a})}}});a["default"]=b}),define("appkit/routes/lti-app/search/details",["exports"],function(a){"use strict";var b=Ember.Route.extend({});a["default"]=b}),define("appkit/routes/lti-app/search/details/embed",["exports"],function(a){"use strict";var b=Ember.Route.extend({setupController:function(a){a.set("model",this.modelFor("ltiApp.search.details"))}});a["default"]=b}),define("appkit/routes/lti-app/search/details/index",["exports"],function(a){"use strict";var b=Ember.Route.extend({setupController:function(a){a.set("model",this.modelFor("ltiApp.search.details"))}});a["default"]=b}),define("appkit/routes/lti-app/search/results",["exports"],function(a){"use strict";var b=Ember.Route.extend({model:function(a){this.transitionTo("ltiApp.search.results",{searchText:a.searchText})},setupController:function(a,b){a.set("ltiApp",this.modelFor("ltiApp")),a.searchForText(b.searchText)}});a["default"]=b}),define("appkit/routes/lti-apps",["appkit/libs/lti-app","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.Route.extend({beforeModel:function(){if(!Em.isEmpty(Em.ENV.TOOL_ID)){var a=c.findOne(Em.ENV.TOOL_ID);this.transitionTo("ltiApp",a)}},model:function(){return c.find()}});b["default"]=d}),define("appkit/utils/ajax",["exports"],function(a){"use strict";a["default"]=function(){return ic.ajax.apply(null,arguments)}}),define("appkit/views/a-embed-item",["exports"],function(a){"use strict";var b=Ember.View.extend({tagName:"a",classNames:["btn btn-xs btn-default"],classNameBindings:["returnType.returnType"],attributeBindings:["title","toggle:data-toggle"],toggle:"tooltip",templateName:"views/a-embed-item",title:function(){return this.get("returnType.text")}.property("returnType.returnType"),iconClass:function(){switch(this.get("returnType.returnType")){case"file":return"fa fa-file-text";case"iframe":return"fa fa-arrow-circle-o-down";case"imageUrl":return"fa fa-picture-o";case"oembed":return"fa fa-dot-circle-o";case"url":return"fa fa-link";case"ltiLaunchUrl":return"fa fa-link";default:return"fa fa-caret-square-o-right"}}.property("returnType.returnType"),applyTooltip:function(){this.get("showTooltip")&&this.$().tooltip()}.on("didInsertElement"),click:function(){this.get("controller").send("embedItem",this.get("returnType"),this.get("item"))}});a["default"]=b}),define("appkit/views/details",["exports"],function(a){"use strict";var b=Ember.View.extend({templateNameBinding:"hbsName",hbsName:function(){var a=this.get("content.resourceType");return"views/details-"+a}.property("content.resourceType")});a["default"]=b}),define("appkit/views/li-item",["exports"],function(a){"use strict";var b=Ember.View.extend({tagName:"li",classNames:"list-item media",templateNameBinding:"hbsName",hbsName:function(){var a=this.get("item.resourceType");return"views/li-"+a}.property("content.resourceType")});a["default"]=b}),define("appkit/views/lti-app/search",["exports"],function(a){"use strict";var b=Ember.View.extend({willDestroyElement:function(){this.get("controller").get("searchResults").clear(),this.get("controller").set("searchText",null)}});a["default"]=b}),define("appkit/templates/application",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g="";return e.buffer.push('<div id="wrapper">\n '),f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n</div>\n"),g})}),define("appkit/templates/components/ic-spinner",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g="";return f=c._triageMustache.call(b,"yield",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n"),g})}),define("appkit/templates/helper-test",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h="",i=c.helperMissing,j=this.escapeExpression;return e.buffer.push('<style>span { font-weight: bold; }</style>\n<div class="container">\n <h3>seconds-to-time</h3>\n <ul id="seconds-to-time">\n <li class="test-1">\n <span class="actual">'),e.buffer.push(j((f=c["seconds-to-time"]||b&&b["seconds-to-time"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["INTEGER"],data:e},f?f.call(b,150,g):i.call(b,"seconds-to-time",150,g)))),e.buffer.push('</span> should be \n <span class="should">02:30<span>\n </li>\n <li class="test-2">\n <span class="actual">'),e.buffer.push(j((f=c["seconds-to-time"]||b&&b["seconds-to-time"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["INTEGER"],data:e},f?f.call(b,0,g):i.call(b,"seconds-to-time",0,g)))),e.buffer.push('</span> should be \n <span class="should">00:00<span>\n </li>\n <li class="test-3">\n <span class="actual">'),e.buffer.push(j((f=c["seconds-to-time"]||b&&b["seconds-to-time"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["INTEGER"],data:e},f?f.call(b,99999,g):i.call(b,"seconds-to-time",99999,g)))),e.buffer.push('</span> should be \n <span class="should">27:46:39<span>\n </li>\n </ul>\n\n <h3>truncate-text</h3>\n <ul id="truncate-text">\n <li class="test-1">\n <span class="actual">'),e.buffer.push(j((f=c["truncate-text"]||b&&b["truncate-text"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b,b],types:["STRING","INTEGER"],data:e},f?f.call(b,"abcdefghijklmnopqrstuvwxyz",10,g):i.call(b,"truncate-text","abcdefghijklmnopqrstuvwxyz",10,g)))),e.buffer.push('</span> should be \n <span class="should">abcdefg...</span>\n </li>\n <li class="test-2">\n <span class="actual">'),e.buffer.push(j((f=c["truncate-text"]||b&&b["truncate-text"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b,b],types:["STRING","INTEGER"],data:e},f?f.call(b,"abcdefghijklmnopqrstuvwxyz",50,g):i.call(b,"truncate-text","abcdefghijklmnopqrstuvwxyz",50,g)))),e.buffer.push('</span> should be \n <span class="should">abcdefghijklmnopqrstuvwxyz</span>\n </li>\n </ul>\n</div>'),h})}),define("appkit/templates/lti-app",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i="",j=c.helperMissing,k=this.escapeExpression;return e.buffer.push("<div "),e.buffer.push(k((g=c.bindAttr||b&&b.bindAttr,h={hash:{"class":"toolId"},hashTypes:{"class":"ID"},hashContexts:{"class":b},contexts:[],types:[],data:e},g?g.call(b,h):j.call(b,"bindAttr",h)))),e.buffer.push(">\n "),f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push('\n\n <div id="embed-modal" class="modal fade">\n <div class="modal-dialog">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>\n <h4 class="modal-title">Resource Selected</h4>\n </div>\n <div class="modal-body">\n <p>You\'re not in a system that supports auto-inserting content, so you\'ll need to copy and past the following code by hand in order to insert it into your content.</p>\n '),e.buffer.push(k((g=c.textarea||b&&b.textarea,h={hash:{"class":"form-control",rows:"5",value:"returnType.embedCode"},hashTypes:{"class":"STRING",rows:"STRING",value:"ID"},hashContexts:{"class":b,rows:b,value:b},contexts:[],types:[],data:e},g?g.call(b,h):j.call(b,"textarea",h)))),e.buffer.push('\n </div>\n <div class="modal-footer">\n <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n </div>\n </div><!-- /.modal-content -->\n </div><!-- /.modal-dialog -->\n </div><!-- /.modal -->\n</div>'),i})}),define("appkit/templates/lti-app/browse-details",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="",g=this.escapeExpression;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix"></header>\n\n <div class="below-search-bar">\n '),e.buffer.push(g(c.view.call(b,"details",{hash:{contentBinding:"model"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:b},contexts:[b],types:["STRING"],data:e}))),e.buffer.push("\n </div>\n</div>"),f})}),define("appkit/templates/lti-app/browse",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e="";return b.buffer.push('\n <a href="#" '),b.buffer.push(o(c.action.call(a,"goUpFolder",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}))),b.buffer.push(">&laquo; "),d=c._triageMustache.call(a,"parentFolder",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</a>\n "),e}function g(a,b){var d,e,f,g="";return b.buffer.push("\n "),e=c["link-to"]||a&&a["link-to"],f={hash:{},hashTypes:{},hashContexts:{},inverse:p.noop,fn:p.program(4,h,b),contexts:[a],types:["STRING"],data:b},d=e?e.call(a,"ltiApps",f):q.call(a,"link-to","ltiApps",f),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),g}function h(a,b){b.buffer.push("&laquo; dashboard")}function i(a,b){var d,e="";return b.buffer.push('\n\n <table class="table">\n <tbody>\n '),d=c.each.call(a,"folder","in","folders",{hash:{},hashTypes:{},hashContexts:{},inverse:p.noop,fn:p.program(7,j,b),contexts:[a,a,a],types:["ID","ID","ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </tbody>\n </table>\n\n <ul>\n "),d=c.each.call(a,"item","in","items",{hash:{},hashTypes:{},hashContexts:{},inverse:p.noop,fn:p.program(9,k,b),contexts:[a,a,a],types:["ID","ID","ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </ul>\n\n "),e}function j(a,b){var d,e="";return b.buffer.push('\n <tr>\n <td style="width: 25px;"><i class="fa fa-folder"></i></td>\n <td><a href="#" '),b.buffer.push(o(c.action.call(a,"goToFolder","folder",{hash:{},hashTypes:{},hashContexts:{},contexts:[a,a],types:["ID","ID"],data:b}))),b.buffer.push(' class="text-info">'),d=c._triageMustache.call(a,"folder.title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</a></td>\n </tr>\n "),e}function k(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(o(c.view.call(a,"li-item",{hash:{itemBinding:"item"},hashTypes:{itemBinding:"STRING"},hashContexts:{itemBinding:a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}function l(a,b){var d,e="";return b.buffer.push("\n "),d=c._triageMustache.call(a,"ic-spinner",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var m,n="",o=this.escapeExpression,p=this,q=c.helperMissing;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix"></header>\n\n <div class="below-search-bar">\n <div class="above-link">\n '),m=c["if"].call(b,"parentFolder",{hash:{},hashTypes:{},hashContexts:{},inverse:p.program(3,g,e),fn:p.program(1,f,e),contexts:[b],types:["ID"],data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n </div>\n\n "),m=c["if"].call(b,"isLoaded",{hash:{},hashTypes:{},hashContexts:{},inverse:p.program(11,l,e),fn:p.program(6,i,e),contexts:[b],types:["ID"],data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n\n </div>\n</div>"),n})}),define("appkit/templates/lti-app/search",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i="",j=this.escapeExpression,k=c.helperMissing;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix">\n <form class="form-search" '),e.buffer.push(j(c.action.call(b,"performSearch",{hash:{on:"submit"},hashTypes:{on:"STRING"},hashContexts:{on:b},contexts:[b],types:["ID"],data:e}))),e.buffer.push(">\n "),e.buffer.push(j((g=c.input||b&&b.input,h={hash:{type:"search",id:"search",classNames:"form-control search",value:"searchText",placeholder:"Search ...",autofocus:"autofocus"},hashTypes:{type:"STRING",id:"STRING",classNames:"STRING",value:"ID",placeholder:"STRING",autofocus:"STRING"},hashContexts:{type:b,id:b,classNames:b,value:b,placeholder:b,autofocus:b},contexts:[],types:[],data:e},g?g.call(b,h):k.call(b,"input",h)))),e.buffer.push('\n </form>\n </header>\n\n <div class="below-search-bar">\n '),f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n </div>\n</div>"),i
2
- })}),define("appkit/templates/lti-app/search/details",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g="";return f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n"),g})}),define("appkit/templates/lti-app/search/details/index",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="",g=this.escapeExpression;return e.buffer.push(g(c.view.call(b,"details",{hash:{contentBinding:"model"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:b},contexts:[b],types:["STRING"],data:e}))),e.buffer.push("\n"),f})}),define("appkit/templates/lti-app/search/index",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,h="";return b.buffer.push('\n <div class="above-link">\n '),e=c["link-to"]||a&&a["link-to"],f={hash:{},hashTypes:{},hashContexts:{},inverse:j.noop,fn:j.program(2,g,b),contexts:[a],types:["STRING"],data:b},d=e?e.call(a,"ltiApps",f):k.call(a,"link-to","ltiApps",f),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </div>\n"),h}function g(a,b){b.buffer.push("&laquo; dashboard")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var h,i="",j=this,k=c.helperMissing;return h=c["if"].call(b,"showDashboard",{hash:{},hashTypes:{},hashContexts:{},inverse:j.noop,fn:j.program(1,f,e),contexts:[b],types:["ID"],data:e}),(h||0===h)&&e.buffer.push(h),e.buffer.push('\n\n<h5 class="text-center">Type in your search criteria above</h5>\n'),i})}),define("appkit/templates/lti-app/search/results",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,h="";return b.buffer.push('\n <div class="above-link">\n '),e=c["link-to"]||a&&a["link-to"],f={hash:{},hashTypes:{},hashContexts:{},inverse:q.noop,fn:q.program(2,g,b),contexts:[a],types:["STRING"],data:b},d=e?e.call(a,"ltiApps",f):r.call(a,"link-to","ltiApps",f),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </div>\n"),h}function g(a,b){b.buffer.push("&laquo; dashboard")}function h(a,b){var d,e="";return b.buffer.push("\n <ul>\n "),d=c.each.call(a,"item","in","controller",{hash:{},hashTypes:{},hashContexts:{},inverse:q.noop,fn:q.program(5,i,b),contexts:[a,a,a],types:["ID","ID","ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push('\n </ul>\n\n <div class="load-more">\n '),d=c["if"].call(a,"nextCriteria",{hash:{},hashTypes:{},hashContexts:{},inverse:q.program(12,m,b),fn:q.program(7,j,b),contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </div>\n\n"),e}function i(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(s(c.view.call(a,"li-item",{hash:{itemBinding:"item"},hashTypes:{itemBinding:"STRING"},hashContexts:{itemBinding:a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}function j(a,b){var d,e="";return b.buffer.push("\n "),d=c["if"].call(a,"loadingMore",{hash:{},hashTypes:{},hashContexts:{},inverse:q.program(10,l,b),fn:q.program(8,k,b),contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),e}function k(a,b){var d,e="";return b.buffer.push("\n "),d=c._triageMustache.call(a,"ic-spinner",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),e}function l(a,b){var d="";return b.buffer.push('\n <a href="#" '),b.buffer.push(s(c.action.call(a,"getMore",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["STRING"],data:b}))),b.buffer.push(">load more results</a>\n "),d}function m(a,b){var d,e="";return b.buffer.push("\n Found "),d=c._triageMustache.call(a,"length",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push(" results\n "),e}function n(a,b){var d,e="";return b.buffer.push("\n "),d=c._triageMustache.call(a,"ic-spinner",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n"),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var o,p="",q=this,r=c.helperMissing,s=this.escapeExpression;return o=c["if"].call(b,"showDashboard",{hash:{},hashTypes:{},hashContexts:{},inverse:q.noop,fn:q.program(1,f,e),contexts:[b],types:["ID"],data:e}),(o||0===o)&&e.buffer.push(o),e.buffer.push("\n\n"),o=c["if"].call(b,"isLoaded",{hash:{},hashTypes:{},hashContexts:{},inverse:q.program(14,n,e),fn:q.program(4,h,e),contexts:[b],types:["ID"],data:e}),(o||0===o)&&e.buffer.push(o),p})}),define("appkit/templates/lti-apps",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,i="";return b.buffer.push('\n <li class="media list-item">\n '),e=c["link-to"]||a&&a["link-to"],f={hash:{"class":"pull-left"},hashTypes:{"class":"STRING"},hashContexts:{"class":a},inverse:o.noop,fn:o.program(2,g,b),contexts:[a,a],types:["STRING","ID"],data:b},d=e?e.call(a,"ltiApp","",f):m.call(a,"link-to","ltiApp","",f),(d||0===d)&&b.buffer.push(d),b.buffer.push('\n <div class="video data media-body">\n <h4 class="media-heading">'),e=c["link-to"]||a&&a["link-to"],f={hash:{rel:"name"},hashTypes:{rel:"ID"},hashContexts:{rel:a},inverse:o.noop,fn:o.program(4,h,b),contexts:[a,a],types:["STRING","ID"],data:b},d=e?e.call(a,"ltiApp","",f):m.call(a,"link-to","ltiApp","",f),(d||0===d)&&b.buffer.push(d),b.buffer.push('</h4>\n <div class="duration">'),d=c._triageMustache.call(a,"toolType",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push('</div>\n <p class="description">'),d=c._triageMustache.call(a,"description",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</p>\n </div>\n </li>\n "),i}function g(a,b){var d,e,f="";return b.buffer.push("\n <img "),b.buffer.push(n((d=c.bindAttr||a&&a.bindAttr,e={hash:{src:"imageSrc",alt:"title"},hashTypes:{src:"ID",alt:"ID"},hashContexts:{src:a,alt:a},contexts:[],types:[],data:b},d?d.call(a,e):m.call(a,"bindAttr",e)))),b.buffer.push(' class="media-object thumbnail thumbnail_med_wide">\n '),f}function h(a,b){var d;d=c._triageMustache.call(a,"name",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l="",m=c.helperMissing,n=this.escapeExpression,o=this;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix">\n <form class="form-search">\n '),e.buffer.push(n((j=c.input||b&&b.input,k={hash:{type:"search",classNames:"form-control search",value:"searchText",placeholder:"Filter Apps ..."},hashTypes:{type:"STRING",classNames:"STRING",value:"ID",placeholder:"STRING"},hashContexts:{type:b,classNames:b,value:b,placeholder:b},contexts:[],types:[],data:e},j?j.call(b,k):m.call(b,"input",k)))),e.buffer.push('\n </form>\n </header>\n</div>\n<div class="below-search-bar">\n <ul class="list media-list">\n '),i=c.each.call(b,"filteredApps",{hash:{},hashTypes:{},hashContexts:{},inverse:o.noop,fn:o.program(1,f,e),contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("\n </ul>\n</div>"),l})}),define("appkit/templates/views/a-embed-item",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="",g=this.escapeExpression;return e.buffer.push("<i "),e.buffer.push(g(c["bind-attr"].call(b,{hash:{"class":"view.iconClass"},hashTypes:{"class":"STRING"},hashContexts:{"class":b},contexts:[],types:[],data:e}))),e.buffer.push("></i>"),f})}),define("appkit/templates/views/details-quiz",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(o(c.view.call(a,"a-embed-item",{hash:{returnTypeBinding:"returnType",showTooltip:"true",itemBinding:"model","class":"btn-info pull-right"},hashTypes:{returnTypeBinding:"STRING",showTooltip:"STRING",itemBinding:"STRING","class":"STRING"},hashContexts:{returnTypeBinding:a,showTooltip:a,itemBinding:a,"class":a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}function g(a,b){b.buffer.push("\n LINK TO EMBED PAGE\n ")}function h(a,b){var d;d=c._triageMustache.call(a,"title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}function i(a,b){var d,e="";return b.buffer.push('\n created by <span class="username">'),d=c._triageMustache.call(a,"username",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span> /\n "),e}function j(a,b){var d,e="";return b.buffer.push('\n <span class="label label-default">'),d=c._triageMustache.call(a,"subject",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span>\n "),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var k,l,m,n="",o=this.escapeExpression,p=this,q=c.helperMissing;return e.buffer.push('<div class="above-link">\n <a href="#" '),e.buffer.push(o(c.action.call(b,"performSearch",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}))),e.buffer.push(' class="back_button">&laquo; search results</a>\n '),k=c.each.call(b,"returnType","in","returnTypes",{hash:{},hashTypes:{},hashContexts:{},inverse:p.program(3,g,e),fn:p.program(1,f,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(k||0===k)&&e.buffer.push(k),e.buffer.push("\n</div>\n\n"),e.buffer.push(o(c._triageMustache.call(b,"embedHref",{hash:{unescaped:"true"},hashTypes:{unescaped:"STRING"},hashContexts:{unescaped:b},contexts:[b],types:["ID"],data:e}))),e.buffer.push('\n\n<hr class="clearfix" />\n\n<div class="video data media-body">\n <h2 class="title clearfix">\n '),l=c["link-to"]||b&&b["link-to"],m={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:p.noop,fn:p.program(5,h,e),contexts:[b,b],types:["STRING","ID"],data:e},k=l?l.call(b,"ltiApp.search.details","",m):q.call(b,"link-to","ltiApp.search.details","",m),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n </h2>\n <div class="duration">'),k=c._triageMustache.call(b,"termCount",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(k||0===k)&&e.buffer.push(k),e.buffer.push(' terms</div>\n <p class="meta">\n '),k=c["if"].call(b,"username",{hash:{},hashTypes:{},hashContexts:{},inverse:p.noop,fn:p.program(7,i,e),contexts:[b],types:["ID"],data:e}),(k||0===k)&&e.buffer.push(k),e.buffer.push("\n Added <time>"),k=c._triageMustache.call(b,"createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(k||0===k)&&e.buffer.push(k),e.buffer.push('</time>\n </p>\n <p class="count">\n '),k=c.each.call(b,"subject","in","subjects",{hash:{},hashTypes:{},hashContexts:{},inverse:p.noop,fn:p.program(9,j,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n </p>\n\n <p class="description">'),k=c._triageMustache.call(b,"description",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(k||0===k)&&e.buffer.push(k),e.buffer.push("</p>\n</div>\n"),n})}),define("appkit/templates/views/details-video",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(k(c.log.call(a,"returnType",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}))),b.buffer.push("\n "),b.buffer.push(k(c.view.call(a,"a-embed-item",{hash:{returnTypeBinding:"returnType",itemBinding:"model","class":"btn-info pull-right"},hashTypes:{returnTypeBinding:"STRING",itemBinding:"STRING","class":"STRING"},hashContexts:{returnTypeBinding:a,itemBinding:a,"class":a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this.escapeExpression,l=this,m=c.helperMissing;return e.buffer.push('<div class="above-link">\n <a href="#" '),e.buffer.push(k(c.action.call(b,"performSearch",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}))),e.buffer.push(' class="back_button">&laquo; search results</a>\n '),g=c.each.call(b,"returnType","in","returnTypes",{hash:{},hashTypes:{},hashContexts:{},inverse:l.noop,fn:l.program(1,f,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push('\n</div>\n\n<div class="lti-video-embed">\n <div class="flex-video widescreen clearfix">\n '),e.buffer.push(k(c._triageMustache.call(b,"embedHtml",{hash:{unescaped:"true"},hashTypes:{unescaped:"STRING"},hashContexts:{unescaped:b},contexts:[b],types:["ID"],data:e}))),e.buffer.push('\n </div>\n <div class="video data">\n <h2 class="title">\n <span class="faux_link">'),g=c._triageMustache.call(b,"title",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push('</span>\n </h2>\n <div class="duration">'),e.buffer.push(k((h=c["seconds-to-time"]||b&&b["seconds-to-time"],i={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e},h?h.call(b,"duration",i):m.call(b,"seconds-to-time","duration",i)))),e.buffer.push('</div>\n <p class="meta">\n from <span class="username">'),g=c._triageMustache.call(b,"username",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("</span> /\n Added <time>"),g=c._triageMustache.call(b,"video.createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push('</time>\n </p>\n <p class="count">\n <span class="plays">'),g=c._triageMustache.call(b,"numViews",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push(' Plays</span> /\n <span class="likes">'),g=c._triageMustache.call(b,"numLikes",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push(' Likes</span> /\n <span class="comments">'),g=c._triageMustache.call(b,"numComments",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push(' Comments</span>\n </p>\n <p class="description">'),g=c._triageMustache.call(b,"description",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("</p>\n </div>\n</div>\n"),j})}),define("appkit/templates/views/li-quiz",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d;d=c._triageMustache.call(a,"item.title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}function g(a,b){var d,e="";return b.buffer.push('\n created by <span class="username">'),d=c._triageMustache.call(a,"username",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span> /\n "),e}function h(a,b){var d,e="";return b.buffer.push('\n <span class="label label-default">'),d=c._triageMustache.call(a,"subject",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span>\n "),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l="",m=this,n=c.helperMissing,o=this.escapeExpression;return e.buffer.push('<div class="video data media-body">\n <h2 class="title clearfix">\n '),j=c["link-to"]||b&&b["link-to"],k={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:m.noop,fn:m.program(1,f,e),contexts:[b,b],types:["ID","ID"],data:e},i=j?j.call(b,"targetRoute","item",k):n.call(b,"link-to","targetRoute","item",k),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n </h2>\n <div class="duration">'),i=c._triageMustache.call(b,"item.termCount",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' terms</div>\n <p class="meta">\n '),i=c["if"].call(b,"username",{hash:{},hashTypes:{},hashContexts:{},inverse:m.noop,fn:m.program(3,g,e),contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("\n Added <time>"),i=c._triageMustache.call(b,"item.createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('</time>\n </p>\n <p class="count">\n '),i=c.each.call(b,"subject","in","item.subjects",{hash:{},hashTypes:{},hashContexts:{},inverse:m.noop,fn:m.program(5,h,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n </p>\n <p class="description">'),e.buffer.push(o((j=c["truncate-text"]||b&&b["truncate-text"],k={hash:{},hashTypes:{},hashContexts:{},contexts:[b,b],types:["ID","INTEGER"],data:e},j?j.call(b,"item.description",150,k):n.call(b,"truncate-text","item.description",150,k)))),e.buffer.push("</p>\n</div>"),l})}),define("appkit/templates/views/li-video",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f="";return b.buffer.push("\n <img "),b.buffer.push(n((d=c.bindAttr||a&&a.bindAttr,e={hash:{src:"item.thumbnailUrl"},hashTypes:{src:"ID"},hashContexts:{src:a},contexts:[],types:[],data:b},d?d.call(a,e):m.call(a,"bindAttr",e)))),b.buffer.push(' class="media-object thumbnail thumbnail_med_wide">\n'),f}function g(a,b){var d;d=c._triageMustache.call(a,"item.title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}function h(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(n(c.view.call(a,"a-embed-item",{hash:{returnTypeBinding:"returnType",itemBinding:"item"},hashTypes:{returnTypeBinding:"STRING",itemBinding:"STRING"},hashContexts:{returnTypeBinding:a,itemBinding:a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l="",m=c.helperMissing,n=this.escapeExpression,o=this;return j=c["link-to"]||b&&b["link-to"],k={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:o.noop,fn:o.program(1,f,e),contexts:[b,b],types:["ID","ID"],data:e},i=j?j.call(b,"targetRoute","item",k):m.call(b,"link-to","targetRoute","item",k),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n<div class="video data media-body">\n <h2 class="title clearfix">\n '),j=c["link-to"]||b&&b["link-to"],k={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:o.noop,fn:o.program(3,g,e),contexts:[b,b],types:["ID","ID"],data:e},i=j?j.call(b,"targetRoute","item",k):m.call(b,"link-to","targetRoute","item",k),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n </h2>\n <div class="duration">'),e.buffer.push(n((j=c["seconds-to-time"]||b&&b["seconds-to-time"],k={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e},j?j.call(b,"item.duration",k):m.call(b,"seconds-to-time","item.duration",k)))),e.buffer.push('</div>\n <p class="meta">\n from <span class="username">'),i=c._triageMustache.call(b,"item.username",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("</span> /\n Added <time>"),i=c._triageMustache.call(b,"item.createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('</time>\n </p>\n <p class="count">\n <span class="plays">'),i=c._triageMustache.call(b,"item.numViews",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' Plays</span> /\n <span class="likes">'),i=c._triageMustache.call(b,"item.numLikes",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' Likes</span> /\n <span class="comments">'),i=c._triageMustache.call(b,"item.numComments",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' Comments</span>\n </p>\n <p class="description">'),i=c._triageMustache.call(b,"item.shortDescription",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('</p>\n <div class="return-types text-right">\n '),i=c.each.call(b,"returnType","in","item.returnableReturnTypes",{hash:{},hashTypes:{},hashContexts:{},inverse:o.noop,fn:o.program(5,h,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("\n </div>\n</div>\n"),l})});
1
+ define("appkit/app",["resolver","exports"],function(a,b){"use strict";var c=a["default"];Ember.View.reopen({init:function(){this._super();var a=this;Em.keys(this).forEach(function(b){"data-"===b.substr(0,5)&&a.get("attributeBindings").pushObject(b)})}});var d=Ember.Application.extend({LOG_ACTIVE_GENERATION:!0,LOG_MODULE_RESOLVER:!0,LOG_TRANSITIONS:!0,LOG_TRANSITIONS_INTERNAL:!0,LOG_VIEW_LOOKUPS:!0,modulePrefix:"appkit",Resolver:c["default"]});Ember.RSVP.configure("onerror",function(a){a instanceof Error&&(Ember.Logger.assert(!1,a),Ember.Logger.error(a.stack))}),b["default"]=d}),define("appkit/components/ic-spinner",["exports"],function(a){"use strict";var b=Ember.Component.extend({spinner:void 0,lines:9,length:4,width:3,radius:6,corners:1,rotate:0,direction:1,color:"#000",speed:1,trail:63,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2e9,top:"auto",left:"auto",showSpinner:function(){var a=this.get("element");this.spinner=new Spinner({lines:this.get("lines"),length:this.get("length"),width:this.get("width"),radius:this.get("radius"),corners:this.get("corners"),rotate:this.get("rotate"),direction:this.get("direction"),color:this.get("color"),speed:this.get("speed"),trail:this.get("trail"),shadow:this.get("shadow"),hwaccel:this.get("hwaccel"),className:this.get("className"),zIndex:this.get("zIndex"),top:this.get("top"),left:this.get("left")}),this.spinner.spin(a)}.on("didInsertElement"),teardown:function(){this.spinner&&this.spinner.stop()}.on("willDestroyElement")});a["default"]=b}),define("appkit/controllers/lti-app",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({returnType:null,triggerModal:function(a){this.set("returnType",a),Em.$("#embed-modal").modal("show")}});a["default"]=b}),define("appkit/controllers/lti-app/browse-details",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({actions:{performSearch:function(){this.transitionToRoute("ltiApp.browse",{folderChain:this.get("folderChain")})}}});a["default"]=b}),define("appkit/controllers/lti-app/browse",["appkit/libs/browsable","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.ObjectController.extend({isLoaded:!0,targetRoute:"ltiApp.browseDetails",showDashboard:function(){return Ember.isEmpty(Ember.ENV.TOOL_ID)}.property("Ember.ENV.TOOL_ID"),parentFolderChain:function(){return"root"===this.get("folderChain")?null:this.get("folderChain").split(".").slice(0,-1).join(".")}.property("folderChain"),parentFolder:function(){return"root"===this.get("folderChain")?null:this.get("folderChain").split(".").pop()}.property("folderChain"),currentFolder:function(){return this.get("folderChain").split(".").pop()}.property("folderChain"),loadData:function(){var a=this;this.set("isLoaded",!1),c.findFolder(this.get("ltiApp.toolId"),this.get("currentFolder"),this.get("parentFolderChain")).then(function(b){a.set("isLoaded",!0),a.set("folders",b.get("folders")),a.set("items",b.get("items"))},function(b){console.log(b),a.set("isLoaded",!0)})}.observes("folderChain"),isEmptyResults:function(){return Em.isEmpty(this.get("items"))&&Em.isEmpty(this.get("folders"))}.property("items.@each","folders.@each"),actions:{goToFolder:function(a){var b=this.get("folderChain")+"."+a.id;this.transitionToRoute("ltiApp.browse",{folderChain:b})},goUpFolder:function(){var a=this.get("parentFolderChain");this.transitionToRoute("ltiApp.browse",{folderChain:a})},goToItem:function(a){this.transitionToRoute("ltiApp.browseDetails",{folderChain:this.get("folderChain"),item:a})}}});b["default"]=d}),define("appkit/controllers/lti-app/search",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({searchText:"",searchResults:null,init:function(){this._super(),this.set("searchResults",Em.A([]))}});a["default"]=b}),define("appkit/controllers/lti-app/search/details",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({});a["default"]=b}),define("appkit/controllers/lti-app/search/details/embed",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({});a["default"]=b}),define("appkit/controllers/lti-app/search/details/index",["exports"],function(a){"use strict";var b=Ember.ObjectController.extend({});a["default"]=b}),define("appkit/controllers/lti-app/search/index",["exports"],function(a){"use strict";var b=Ember.ArrayController.extend({showDashboard:function(){return Ember.isEmpty(Ember.ENV.TOOL_ID)}.property("Ember.ENV.TOOL_ID")});a["default"]=b}),define("appkit/controllers/lti-app/search/results",["appkit/libs/search","appkit/libs/response_types/video","appkit/libs/response_types/folder","appkit/libs/response_types/image","appkit/libs/response_types/quiz","appkit/libs/response_types/exercise","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b["default"],j=c["default"],k=d["default"],l=e["default"],m=f["default"],n=Ember.ArrayController.extend({isLoaded:!0,nextCriteria:null,loadingMore:!1,targetRoute:"ltiApp.search.details",showDashboard:function(){return Ember.isEmpty(Ember.ENV.TOOL_ID)}.property("Ember.ENV.TOOL_ID"),performSearch:function(){Ember.debug("performSearch: "+this.get("searchText"));var a=this;if(!Ember.isEmpty(this.get("searchText"))){this.set("isLoaded",!1),this.clear();var b=h.create({toolId:this.get("ltiApp.toolId"),searchText:this.get("searchText")});b.performRequest().then(function(c){var d=Em.Object.create(c.driver_response);return Em.isEmpty(d.get("next_criteria"))||d.set("next_criteria.tool_id",b.get("toolId")),a.parseResults(d),a.set("isLoaded",!0)},function(b){return Ember.debug("ERROR: "+b),a.set("isLoaded",!0)})}},searchForText:function(a){this.set("searchText",a),this.performSearch()},parseResults:function(a){var b=this;this.set("nextCriteria",a.get("next_criteria")),this.set("performedSearch",!0),a.get("items").forEach(function(a){var c=null;switch(a.kind){case"video":c=i.createFromData(a);break;case"folder":c=j.createFromData(a);break;case"image":c=k.createFromData(a);break;case"quiz":c=l.createFromData(a);break;case"exercise":c=m.createFromData(a)}c&&b.pushObject(c)})},actions:{showDetails:function(a){this.transitionToRoute("ltiApp.search.details.index",a)},getMore:function(){if(!Ember.isEmpty(this.get("nextCriteria"))){this.set("loadingMore",!0);var a=Ember.ENV.CONFIG.host+"/api/search",b=this.get("nextCriteria"),c=this;Em.$.post(a,b).done(function(a){var d;d=Ember.Object.create(a.driver_response),Em.isEmpty(d.get("next_criteria"))||d.set("next_criteria.tool_id",b.tool_id),c.parseResults(d),c.set("loadingMore",!1)}).fail(function(a){return Ember.debug("Error: "+a),c.set("loadingMore",!1)})}}}});g["default"]=n}),define("appkit/controllers/lti-apps",["exports"],function(a){"use strict";var b=Ember.ArrayController.extend({searchText:"",filteredApps:function(){var a=this.get("searchText");if(Em.isEmpty(a))return this.get("content");var b=this.get("content").filter(function(b){var c=b.get("name").toLowerCase();return c.match(a.toLowerCase())});return b}.property("searchText")});a["default"]=b}),define("appkit/helpers/if-equal",["exports"],function(a){"use strict";a["default"]=Ember.Handlebars.registerHelper(function(a,b,c){return c.data.view.content.get(a)===b?c.fn(this):c.inverse(this)})}),define("appkit/helpers/seconds-to-time",["exports"],function(a){"use strict";a["default"]=Ember.Handlebars.makeBoundHelper(function(a){var b=Math.floor(a/3600);a-=3600*b;var c=Math.floor(a/60);a-=60*c;var d=parseInt(a%60,10);return b?b+":"+(10>c?"0"+c:c)+":"+(10>d?"0"+d:d):(10>c?"0"+c:c)+":"+(10>d?"0"+d:d)})}),define("appkit/helpers/truncate-text",["exports"],function(a){"use strict";a["default"]=Ember.Handlebars.makeBoundHelper(function(a,b){return a.length>b?new Handlebars.SafeString(a.substring(0,b-3)+"&#8230;"):a})}),define("appkit/libs/browsable",["appkit/utils/ajax","appkit/libs/response_types/video","appkit/libs/response_types/folder","appkit/libs/response_types/image","appkit/libs/response_types/quiz","appkit/libs/response_types/exercise","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b["default"],j=c["default"],k=d["default"],l=e["default"],m=(f["default"],Ember.Object.extend({folders:null,items:null,init:function(){this._super(),this.set("folders",Em.A([])),this.set("items",Em.A([]))}}));m.reopenClass({findFolder:function(a,b,c){var d,e,f;return f=Ember.ENV.CONFIG.host+"/api/browse",d=m.create({}),e=c+"."+b,h({type:"POST",url:f,dataType:"json",data:{folder:b,tool_id:a}}).then(function(a){var b=a.driver_response.items;return b.forEach(function(a){var b;switch(b=null,a.kind){case"folder":b=j.createFromData(a),d.get("folders").pushObject(b);break;case"video":b=i.createFromData(a),b.set("folderChain",e),d.get("items").pushObject(b);break;case"image":b=k.createFromData(a),b.set("folderChain",e),d.get("items").pushObject(b);break;case"quiz":b=l.createFromData(a),b.set("folderChain",e),d.get("items").pushObject(b);break;default:Em.debug("UNKNOWN KIND: "+a.kind)}}),new Ember.RSVP.Promise(function(a,b){a(d),b(d)})},function(a){return Ember.debug("Error: "+a),new Ember.RSVP.Promise(function(b,c){b(d),c(a)})})}}),g["default"]=m}),define("appkit/libs/lti-app",["appkit/utils/ajax","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.Object.extend({toolId:null,name:null,toolType:null,imageUrl:null,description:null,imageSrc:function(){return Em.ENV.CONFIG.imagePath+"/"+this.get("imageUrl")}.property("imageUrl")});d.reopenClass({find:function(){var a=c(Em.ENV.CONFIG.host+"/api/lti_apps").then(function(a){var b=Em.A([]);for(var c in a.lti_apps)b.addObject(d.createFromData(a.lti_apps[c]));return b});return a},findOne:function(a){var b=c(Em.ENV.CONFIG.host+"/api/lti_apps/"+a).then(function(a){return d.createFromData(a.lti_app)});return b},createFromData:function(a){return d.create({toolId:a.tool_id,name:a.name,toolType:a.tool_type,imageUrl:a.image_url,description:a.description})}}),b["default"]=d}),define("appkit/libs/response-type",["appkit/libs/return_types/url","appkit/libs/return_types/iframe","appkit/libs/return_types/image-url","appkit/libs/return_types/oembed","appkit/libs/return_types/file","appkit/libs/return_types/lti-launch-url","appkit/mixins/jsonable","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a["default"],j=b["default"],k=c["default"],l=d["default"],m=e["default"],n=f["default"],o=g["default"];h["default"]=Ember.Object.extend(o,{returnTypes:null,isFolder:!1,isExercise:!1,isImage:!1,isQuiz:!1,isVideo:!1,isLtiLaunchUrl:!1,isUnknownResourceType:function(){return(this.get("isFolder")&&this.get("isLtiLaunchUrl")&&this.get("isExercise")&&this.get("isImage")&&this.get("isQuiz")&&this.get("isVideo"))===!1}.property("returnType"),init:function(){this._super(),this.set("returnTypes",Em.A([]))},returnableReturnTypes:function(){var a=this.get("returnTypes").filterBy("returnable",!0);return a.length>0?a:this.get("returnTypes")}.property("returnTypes"),addReturnTypes:function(a){var b=this,c=null,d=Em.ENV.RETURN_TYPES.contains("lti_launch_url");a.forEach(function(a){switch(a.return_type){case"url":c=i.create(a),Em.ENV.RETURN_TYPES.contains("url")?c.set("returnable",!0):d&&(c=n.create(a),c.set("returnable",!0)),b.get("returnTypes").pushObject(c);break;case"iframe":c=j.create(a),Em.ENV.RETURN_TYPES.contains("iframe")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c);break;case"image_url":c=k.create(a),Em.ENV.RETURN_TYPES.contains("image_url")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c);break;case"oembed":c=l.create(a),Em.ENV.RETURN_TYPES.contains("oembed")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c);break;case"file":c=m.create(a),Em.ENV.RETURN_TYPES.contains("file")&&c.set("returnable",!0),b.get("returnTypes").pushObject(c)}})}})}),define("appkit/libs/response_types/exercise",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({resourceType:"exercise",isExercise:!0})}),define("appkit/libs/response_types/folder",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"],d=c.extend({resourceType:"folder",isFolder:!0,id:null,title:null,description:null,parentId:null});d.reopenClass({createFromData:function(a){var b=d.create({id:a.id,title:a.title,description:a.description,parentId:a.parent_id});return b}}),b["default"]=d}),define("appkit/libs/response_types/image",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({resourceType:"image",isImage:!0})}),define("appkit/libs/response_types/quiz",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"],d=c.extend({resourceType:"quiz",id:null,title:null,description:null,thumbnailUrl:null,url:null,termCount:null,createdDate:null,hasImages:null,subjects:null,isQuiz:!0,embedHref:function(){var a=this.get("returnTypes").findProperty("return_type","iframe");return'<iframe src="'+a.url+'" width="'+a.width+'" height="'+a.height+'" title="'+a.title+'" allowfullscreen="allowfullscreen" frameborder="0"></iframe>'}.property("returnTypes.@each"),init:function(){return this._super(),this.set("subjects",Em.A([]))}});d.reopenClass({createFromData:function(a){var b;return b=d.create({id:a.id,title:a.title,description:a.description,thumbnailUrl:a.thumbnail_url,url:a.url,termCount:a.term_count,createdDate:a.created_date,hasImages:a.has_images}),a.subjects.forEach(function(a){b.get("subjects").pushObject(a)}),b.addReturnTypes(a.return_types),b}}),b["default"]=d}),define("appkit/libs/response_types/video",["appkit/libs/response-type","exports"],function(a,b){"use strict";var c=a["default"],d=c.extend({resourceType:"video",id:null,title:null,description:null,thumbnailUrl:null,url:null,embedUrl:null,duration:null,numViews:null,width:null,height:null,username:null,numLikes:null,numComments:null,createdDate:null,isVideo:!0,shortDescription:function(){var a=this.get("description"),b=150;return a.length<b?a:a.substring(0,b-4)+" ..."}.property("description"),addedTimeAgo:function(){return moment(this.get("createdDate")).fromNow()}.property("createdDate"),embedHtml:function(){var a;return a='<iframe src="'+this.get("embedUrl")+'" width="'+this.get("width")+'" height="'+this.get("height")+'" title="'+this.get("title")+'" frameborder="0" allowfullscreen></iframe>'}.property("title","url","width","height")});d.reopenClass({createFromData:function(a){var b=d.create({id:a.id,title:a.title,description:a.description,thumbnailUrl:a.thumbnail_url,url:a.url,embedUrl:a.embed_url,duration:a.duration,numViews:a.num_views,width:a.width,height:a.height,username:a.username,numLikes:a.num_likes,numComments:a.num_comments,createdDate:a.created_date});return b.addReturnTypes(a.return_types),b}}),b["default"]=d}),define("appkit/libs/return-type",["appkit/mixins/jsonable","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=Ember.Object.extend(c,{})}),define("appkit/libs/return_types/file",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"file",url:null,text:null,content_type:null,embedCode:function(){this.get("url")}.property("url"),displayReturnType:"Return File"})}),define("appkit/libs/return_types/iframe",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"iframe",url:null,title:null,width:null,height:null,embedCode:function(){return'<iframe src="'+this.get("url")+'" width="'+this.get("width")+'" height="'+this.get("height")+'" title="'+this.get("title")+'" frameborder="0" allowfullscreen></iframe>'}.property("url","title","width","height"),displayReturnType:"Embed Iframe"})}),define("appkit/libs/return_types/image-url",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"imageUrl",url:null,title:null,width:null,height:null,embedCode:function(){return this.get("url")}.property("url"),displayReturnType:"Embed Image"})}),define("appkit/libs/return_types/lti-launch-url",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({init:function(){this._super(),this.set("return_type","lti_launch_url")},returnType:"ltiLaunchUrl",displayReturnType:"LTI Launch"})}),define("appkit/libs/return_types/oembed",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"oembed",url:null,endpoint:null,embedCode:function(){return this.get("url")}.property("url"),displayReturnType:"Oembed"})}),define("appkit/libs/return_types/url",["appkit/libs/return-type","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({returnType:"url",url:null,text:null,title:null,target:null,embedCode:function(){return this.get("url")}.property("url"),displayReturnType:"Return Link"})}),define("appkit/libs/search",["appkit/utils/ajax","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.Object.extend({toolId:null,searchText:null,searchResults:null,ajaxData:function(){return{tool_id:this.get("toolId"),query:this.get("searchText")}}.property("toolId","searchText"),performRequest:function(){return c({type:"POST",url:Em.ENV.CONFIG.host+"/api/search",data:this.get("ajaxData")})}});b["default"]=d}),define("appkit/mixins/jsonable",["exports"],function(a){"use strict";var b=Ember.Mixin.create({getJson:function(){var a,b,c;c=[];for(b in this)if(this.hasOwnProperty(b)){if(a=this[b],"toString"===a)continue;if("function"===Ember.typeOf(a))continue;c.push(b)}return this.getProperties.apply(this,c)}});a["default"]=b}),define("appkit/router",["exports"],function(a){"use strict";var b=Ember.Router.extend();b.map(function(){this.resource("ltiApps",{path:"/"}),this.resource("ltiApp",{path:"/:toolId"},function(){this.resource("ltiApp.browse",{path:"/browse/:folderChain"}),this.resource("ltiApp.browseDetails",{path:"/browse/:folderChain/:item"}),this.resource("ltiApp.search",{path:"/search"},function(){this.route("results",{path:"/results/:searchText"}),this.resource("ltiApp.search.details",{path:"/details/:id"},function(){this.route("embed",{path:"/embed/:returnType"})})})}),this.route("helper-test")}),a["default"]=b}),define("appkit/routes/helper-test",["exports"],function(a){"use strict";a["default"]=Ember.Route.extend({})}),define("appkit/routes/lti-app",["appkit/libs/lti-app","appkit/utils/ajax","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"],f=Ember.Route.extend({model:function(a){return d.findOne(a.toolId)},setupController:function(a,b){a.set("model",b)},afterModel:function(a){this.transitionTo("browse"===a.get("toolType")?"ltiApp.browse":"ltiApp.search")},actions:{embedItem:function(a){var b=this,c=Ember.ENV.CONFIG.host+"/api/embed",d={return_type:a.getJson(),launch_params:Em.ENV.LAUNCH_PARAMS};e({type:"POST",url:c,dataType:"json",data:d}).then(function(c){c.hasOwnProperty("redirectUrl")?window.location.replace(c.redirectUrl):b.get("controller").triggerModal(a)},function(a){Em.debug("Error: + ",a)})}}});c["default"]=f}),define("appkit/routes/lti-app/browse-details",["exports"],function(a){"use strict";var b=Ember.Route.extend({setupController:function(a,b){a.set("model",b)},serialize:function(a){return{folderChain:a.folderChain,item:a.id}}});a["default"]=b}),define("appkit/routes/lti-app/browse",["exports"],function(a){"use strict";var b=Ember.Route.extend({model:function(a){return{folderChain:a.folderChain||"root"}},setupController:function(a,b){var c=Ember.Object.create({ltiApp:this.modelFor("ltiApp"),folderChain:b.folderChain||"root",folders:Em.A([]),items:Em.A([])});a.set("model",c)}});a["default"]=b}),define("appkit/routes/lti-app/search",["exports"],function(a){"use strict";var b=Ember.Route.extend({model:function(){return this.modelFor("ltiApp")},actions:{performSearch:function(){var a=this.controllerFor("ltiApp.search").get("searchText");this.transitionTo("ltiApp.search.results",{searchText:a})}}});a["default"]=b}),define("appkit/routes/lti-app/search/details",["exports"],function(a){"use strict";var b=Ember.Route.extend({});a["default"]=b}),define("appkit/routes/lti-app/search/details/embed",["exports"],function(a){"use strict";var b=Ember.Route.extend({setupController:function(a){a.set("model",this.modelFor("ltiApp.search.details"))}});a["default"]=b}),define("appkit/routes/lti-app/search/details/index",["exports"],function(a){"use strict";var b=Ember.Route.extend({setupController:function(a){a.set("model",this.modelFor("ltiApp.search.details"))}});a["default"]=b}),define("appkit/routes/lti-app/search/results",["exports"],function(a){"use strict";var b=Ember.Route.extend({model:function(a){this.transitionTo("ltiApp.search.results",{searchText:a.searchText})},setupController:function(a,b){a.set("ltiApp",this.modelFor("ltiApp")),a.searchForText(b.searchText)}});a["default"]=b}),define("appkit/routes/lti-apps",["appkit/libs/lti-app","exports"],function(a,b){"use strict";var c=a["default"],d=Ember.Route.extend({beforeModel:function(){if(!Em.isEmpty(Em.ENV.TOOL_ID)){var a=c.findOne(Em.ENV.TOOL_ID);this.transitionTo("ltiApp",a)}},model:function(){return c.find()}});b["default"]=d}),define("appkit/utils/ajax",["exports"],function(a){"use strict";a["default"]=function(){return ic.ajax.apply(null,arguments)}}),define("appkit/views/a-embed-item",["exports"],function(a){"use strict";var b=Ember.View.extend({tagName:"a",classNames:["btn btn-xs btn-default"],classNameBindings:["returnType.returnType"],attributeBindings:["title","toggle:data-toggle"],toggle:"tooltip",templateName:"views/a-embed-item",title:function(){return this.get("returnType.text")}.property("returnType.returnType"),iconClass:function(){switch(this.get("returnType.returnType")){case"file":return"fa fa-file-text";case"iframe":return"fa fa-arrow-circle-o-down";case"imageUrl":return"fa fa-picture-o";case"oembed":return"fa fa-dot-circle-o";case"url":return"fa fa-link";case"ltiLaunchUrl":return"fa fa-link";default:return"fa fa-caret-square-o-right"}}.property("returnType.returnType"),applyTooltip:function(){this.get("showTooltip")&&this.$().tooltip()}.on("didInsertElement"),click:function(){this.get("controller").send("embedItem",this.get("returnType"),this.get("item"))}});a["default"]=b}),define("appkit/views/details",["exports"],function(a){"use strict";var b=Ember.View.extend({templateNameBinding:"hbsName",hbsName:function(){var a=this.get("content.resourceType");return"views/details-"+a}.property("content.resourceType")});a["default"]=b}),define("appkit/views/li-item",["exports"],function(a){"use strict";var b=Ember.View.extend({tagName:"li",classNames:"list-item media",templateNameBinding:"hbsName",hbsName:function(){var a=this.get("item.resourceType");return"views/li-"+a}.property("content.resourceType")});a["default"]=b}),define("appkit/views/lti-app/search",["exports"],function(a){"use strict";var b=Ember.View.extend({willDestroyElement:function(){this.get("controller").get("searchResults").clear(),this.get("controller").set("searchText",null)}});a["default"]=b}),define("appkit/templates/application",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g="";return e.buffer.push('<div id="wrapper">\n '),f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n</div>\n"),g})}),define("appkit/templates/components/ic-spinner",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g="";return f=c._triageMustache.call(b,"yield",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n"),g})}),define("appkit/templates/helper-test",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h="",i=c.helperMissing,j=this.escapeExpression;return e.buffer.push('<style>span { font-weight: bold; }</style>\n<div class="container">\n <h3>seconds-to-time</h3>\n <ul id="seconds-to-time">\n <li class="test-1">\n <span class="actual">'),e.buffer.push(j((f=c["seconds-to-time"]||b&&b["seconds-to-time"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["INTEGER"],data:e},f?f.call(b,150,g):i.call(b,"seconds-to-time",150,g)))),e.buffer.push('</span> should be \n <span class="should">02:30<span>\n </li>\n <li class="test-2">\n <span class="actual">'),e.buffer.push(j((f=c["seconds-to-time"]||b&&b["seconds-to-time"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["INTEGER"],data:e},f?f.call(b,0,g):i.call(b,"seconds-to-time",0,g)))),e.buffer.push('</span> should be \n <span class="should">00:00<span>\n </li>\n <li class="test-3">\n <span class="actual">'),e.buffer.push(j((f=c["seconds-to-time"]||b&&b["seconds-to-time"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["INTEGER"],data:e},f?f.call(b,99999,g):i.call(b,"seconds-to-time",99999,g)))),e.buffer.push('</span> should be \n <span class="should">27:46:39<span>\n </li>\n </ul>\n\n <h3>truncate-text</h3>\n <ul id="truncate-text">\n <li class="test-1">\n <span class="actual">'),e.buffer.push(j((f=c["truncate-text"]||b&&b["truncate-text"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b,b],types:["STRING","INTEGER"],data:e},f?f.call(b,"abcdefghijklmnopqrstuvwxyz",10,g):i.call(b,"truncate-text","abcdefghijklmnopqrstuvwxyz",10,g)))),e.buffer.push('</span> should be \n <span class="should">abcdefg...</span>\n </li>\n <li class="test-2">\n <span class="actual">'),e.buffer.push(j((f=c["truncate-text"]||b&&b["truncate-text"],g={hash:{},hashTypes:{},hashContexts:{},contexts:[b,b],types:["STRING","INTEGER"],data:e},f?f.call(b,"abcdefghijklmnopqrstuvwxyz",50,g):i.call(b,"truncate-text","abcdefghijklmnopqrstuvwxyz",50,g)))),e.buffer.push('</span> should be \n <span class="should">abcdefghijklmnopqrstuvwxyz</span>\n </li>\n </ul>\n</div>'),h})}),define("appkit/templates/lti-app",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i="",j=c.helperMissing,k=this.escapeExpression;return e.buffer.push("<div "),e.buffer.push(k((g=c.bindAttr||b&&b.bindAttr,h={hash:{"class":"toolId"},hashTypes:{"class":"ID"},hashContexts:{"class":b},contexts:[],types:[],data:e},g?g.call(b,h):j.call(b,"bindAttr",h)))),e.buffer.push(">\n "),f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push('\n\n <div id="embed-modal" class="modal fade">\n <div class="modal-dialog">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>\n <h4 class="modal-title">Resource Selected</h4>\n </div>\n <div class="modal-body">\n <p>You\'re not in a system that supports auto-inserting content, so you\'ll need to copy and past the following code by hand in order to insert it into your content.</p>\n '),e.buffer.push(k((g=c.textarea||b&&b.textarea,h={hash:{"class":"form-control",rows:"5",value:"returnType.embedCode"},hashTypes:{"class":"STRING",rows:"STRING",value:"ID"},hashContexts:{"class":b,rows:b,value:b},contexts:[],types:[],data:e},g?g.call(b,h):j.call(b,"textarea",h)))),e.buffer.push('\n </div>\n <div class="modal-footer">\n <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n </div>\n </div><!-- /.modal-content -->\n </div><!-- /.modal-dialog -->\n </div><!-- /.modal -->\n</div>'),i})}),define("appkit/templates/lti-app/browse-details",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="",g=this.escapeExpression;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix"></header>\n\n <div class="below-search-bar">\n '),e.buffer.push(g(c.view.call(b,"details",{hash:{contentBinding:"model"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:b},contexts:[b],types:["STRING"],data:e}))),e.buffer.push("\n </div>\n</div>"),f})}),define("appkit/templates/lti-app/browse",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e="";return b.buffer.push('\n <a href="#" '),b.buffer.push(q(c.action.call(a,"goUpFolder",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}))),b.buffer.push(">&laquo; "),d=c._triageMustache.call(a,"parentFolder",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</a>\n "),e}function g(a,b){var d,e,f,g="";return b.buffer.push("\n "),e=c["link-to"]||a&&a["link-to"],f={hash:{},hashTypes:{},hashContexts:{},inverse:r.noop,fn:r.program(4,h,b),contexts:[a],types:["STRING"],data:b},d=e?e.call(a,"ltiApps",f):s.call(a,"link-to","ltiApps",f),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),g}function h(a,b){b.buffer.push("&laquo; dashboard")}function i(a,b){var d,e="";return b.buffer.push("\n "),d=c["if"].call(a,"isEmptyResults",{hash:{},hashTypes:{},hashContexts:{},inverse:r.program(9,k,b),fn:r.program(7,j,b),contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n\n "),e}function j(a,b){b.buffer.push('\n <h5 class="text-center">There are no folders or videos available in this folder</h5>\n ')}function k(a,b){var d,e="";return b.buffer.push('\n <table class="table">\n <tbody>\n '),d=c.each.call(a,"folder","in","folders",{hash:{},hashTypes:{},hashContexts:{},inverse:r.noop,fn:r.program(10,l,b),contexts:[a,a,a],types:["ID","ID","ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </tbody>\n </table>\n\n <ul>\n "),d=c.each.call(a,"item","in","items",{hash:{},hashTypes:{},hashContexts:{},inverse:r.noop,fn:r.program(12,m,b),contexts:[a,a,a],types:["ID","ID","ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </ul>\n "),e}function l(a,b){var d,e="";return b.buffer.push('\n <tr>\n <td style="width: 25px;"><i class="fa fa-folder"></i></td>\n <td><a href="#" '),b.buffer.push(q(c.action.call(a,"goToFolder","folder",{hash:{},hashTypes:{},hashContexts:{},contexts:[a,a],types:["ID","ID"],data:b}))),b.buffer.push(' class="text-info">'),d=c._triageMustache.call(a,"folder.title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</a></td>\n </tr>\n "),e}function m(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(q(c.view.call(a,"li-item",{hash:{itemBinding:"item"},hashTypes:{itemBinding:"STRING"},hashContexts:{itemBinding:a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}function n(a,b){var d,e="";return b.buffer.push("\n "),d=c._triageMustache.call(a,"ic-spinner",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var o,p="",q=this.escapeExpression,r=this,s=c.helperMissing;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix"></header>\n\n <div class="below-search-bar">\n <div class="above-link">\n '),o=c["if"].call(b,"parentFolder",{hash:{},hashTypes:{},hashContexts:{},inverse:r.program(3,g,e),fn:r.program(1,f,e),contexts:[b],types:["ID"],data:e}),(o||0===o)&&e.buffer.push(o),e.buffer.push("\n </div>\n\n "),o=c["if"].call(b,"isLoaded",{hash:{},hashTypes:{},hashContexts:{},inverse:r.program(14,n,e),fn:r.program(6,i,e),contexts:[b],types:["ID"],data:e}),(o||0===o)&&e.buffer.push(o),e.buffer.push("\n\n </div>\n</div>\n"),p
2
+ })}),define("appkit/templates/lti-app/search",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i="",j=this.escapeExpression,k=c.helperMissing;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix">\n <form class="form-search" '),e.buffer.push(j(c.action.call(b,"performSearch",{hash:{on:"submit"},hashTypes:{on:"STRING"},hashContexts:{on:b},contexts:[b],types:["ID"],data:e}))),e.buffer.push(">\n "),e.buffer.push(j((g=c.input||b&&b.input,h={hash:{type:"search",id:"search",classNames:"form-control search",value:"searchText",placeholder:"Search ...",autofocus:"autofocus"},hashTypes:{type:"STRING",id:"STRING",classNames:"STRING",value:"ID",placeholder:"STRING",autofocus:"STRING"},hashContexts:{type:b,id:b,classNames:b,value:b,placeholder:b,autofocus:b},contexts:[],types:[],data:e},g?g.call(b,h):k.call(b,"input",h)))),e.buffer.push('\n </form>\n </header>\n\n <div class="below-search-bar">\n '),f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n </div>\n</div>"),i})}),define("appkit/templates/lti-app/search/details",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g="";return f=c._triageMustache.call(b,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(f||0===f)&&e.buffer.push(f),e.buffer.push("\n"),g})}),define("appkit/templates/lti-app/search/details/index",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="",g=this.escapeExpression;return e.buffer.push(g(c.view.call(b,"details",{hash:{contentBinding:"model"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:b},contexts:[b],types:["STRING"],data:e}))),e.buffer.push("\n"),f})}),define("appkit/templates/lti-app/search/index",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,h="";return b.buffer.push('\n <div class="above-link">\n '),e=c["link-to"]||a&&a["link-to"],f={hash:{},hashTypes:{},hashContexts:{},inverse:j.noop,fn:j.program(2,g,b),contexts:[a],types:["STRING"],data:b},d=e?e.call(a,"ltiApps",f):k.call(a,"link-to","ltiApps",f),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </div>\n"),h}function g(a,b){b.buffer.push("&laquo; dashboard")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var h,i="",j=this,k=c.helperMissing;return h=c["if"].call(b,"showDashboard",{hash:{},hashTypes:{},hashContexts:{},inverse:j.noop,fn:j.program(1,f,e),contexts:[b],types:["ID"],data:e}),(h||0===h)&&e.buffer.push(h),e.buffer.push('\n\n<h5 class="text-center">Type in your search criteria above</h5>\n'),i})}),define("appkit/templates/lti-app/search/results",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,h="";return b.buffer.push('\n <div class="above-link">\n '),e=c["link-to"]||a&&a["link-to"],f={hash:{},hashTypes:{},hashContexts:{},inverse:q.noop,fn:q.program(2,g,b),contexts:[a],types:["STRING"],data:b},d=e?e.call(a,"ltiApps",f):r.call(a,"link-to","ltiApps",f),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </div>\n"),h}function g(a,b){b.buffer.push("&laquo; dashboard")}function h(a,b){var d,e="";return b.buffer.push("\n <ul>\n "),d=c.each.call(a,"item","in","controller",{hash:{},hashTypes:{},hashContexts:{},inverse:q.noop,fn:q.program(5,i,b),contexts:[a,a,a],types:["ID","ID","ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push('\n </ul>\n\n <div class="load-more">\n '),d=c["if"].call(a,"nextCriteria",{hash:{},hashTypes:{},hashContexts:{},inverse:q.program(12,m,b),fn:q.program(7,j,b),contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n </div>\n\n"),e}function i(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(s(c.view.call(a,"li-item",{hash:{itemBinding:"item"},hashTypes:{itemBinding:"STRING"},hashContexts:{itemBinding:a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}function j(a,b){var d,e="";return b.buffer.push("\n "),d=c["if"].call(a,"loadingMore",{hash:{},hashTypes:{},hashContexts:{},inverse:q.program(10,l,b),fn:q.program(8,k,b),contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),e}function k(a,b){var d,e="";return b.buffer.push("\n "),d=c._triageMustache.call(a,"ic-spinner",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),e}function l(a,b){var d="";return b.buffer.push('\n <a href="#" '),b.buffer.push(s(c.action.call(a,"getMore",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["STRING"],data:b}))),b.buffer.push(">load more results</a>\n "),d}function m(a,b){var d,e="";return b.buffer.push("\n Found "),d=c._triageMustache.call(a,"length",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push(" results\n "),e}function n(a,b){var d,e="";return b.buffer.push("\n "),d=c._triageMustache.call(a,"ic-spinner",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n"),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var o,p="",q=this,r=c.helperMissing,s=this.escapeExpression;return o=c["if"].call(b,"showDashboard",{hash:{},hashTypes:{},hashContexts:{},inverse:q.noop,fn:q.program(1,f,e),contexts:[b],types:["ID"],data:e}),(o||0===o)&&e.buffer.push(o),e.buffer.push("\n\n"),o=c["if"].call(b,"isLoaded",{hash:{},hashTypes:{},hashContexts:{},inverse:q.program(14,n,e),fn:q.program(4,h,e),contexts:[b],types:["ID"],data:e}),(o||0===o)&&e.buffer.push(o),p})}),define("appkit/templates/lti-apps",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,i="";return b.buffer.push('\n <li class="media list-item">\n '),e=c["link-to"]||a&&a["link-to"],f={hash:{"class":"pull-left"},hashTypes:{"class":"STRING"},hashContexts:{"class":a},inverse:o.noop,fn:o.program(2,g,b),contexts:[a,a],types:["STRING","ID"],data:b},d=e?e.call(a,"ltiApp","",f):m.call(a,"link-to","ltiApp","",f),(d||0===d)&&b.buffer.push(d),b.buffer.push('\n <div class="video data media-body">\n <h4 class="media-heading">'),e=c["link-to"]||a&&a["link-to"],f={hash:{rel:"name"},hashTypes:{rel:"ID"},hashContexts:{rel:a},inverse:o.noop,fn:o.program(4,h,b),contexts:[a,a],types:["STRING","ID"],data:b},d=e?e.call(a,"ltiApp","",f):m.call(a,"link-to","ltiApp","",f),(d||0===d)&&b.buffer.push(d),b.buffer.push('</h4>\n <div class="duration">'),d=c._triageMustache.call(a,"toolType",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push('</div>\n <p class="description">'),d=c._triageMustache.call(a,"description",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</p>\n </div>\n </li>\n "),i}function g(a,b){var d,e,f="";return b.buffer.push("\n <img "),b.buffer.push(n((d=c.bindAttr||a&&a.bindAttr,e={hash:{src:"imageSrc",alt:"title"},hashTypes:{src:"ID",alt:"ID"},hashContexts:{src:a,alt:a},contexts:[],types:[],data:b},d?d.call(a,e):m.call(a,"bindAttr",e)))),b.buffer.push(' class="media-object thumbnail thumbnail_med_wide">\n '),f}function h(a,b){var d;d=c._triageMustache.call(a,"name",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l="",m=c.helperMissing,n=this.escapeExpression,o=this;return e.buffer.push('<div id="tool-default" class="lti-search">\n <header class="fixed clearfix">\n <form class="form-search">\n '),e.buffer.push(n((j=c.input||b&&b.input,k={hash:{type:"search",classNames:"form-control search",value:"searchText",placeholder:"Filter Apps ..."},hashTypes:{type:"STRING",classNames:"STRING",value:"ID",placeholder:"STRING"},hashContexts:{type:b,classNames:b,value:b,placeholder:b},contexts:[],types:[],data:e},j?j.call(b,k):m.call(b,"input",k)))),e.buffer.push('\n </form>\n </header>\n</div>\n<div class="below-search-bar">\n <ul class="list media-list">\n '),i=c.each.call(b,"filteredApps",{hash:{},hashTypes:{},hashContexts:{},inverse:o.noop,fn:o.program(1,f,e),contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("\n </ul>\n</div>"),l})}),define("appkit/templates/views/a-embed-item",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="",g=this.escapeExpression;return e.buffer.push("<i "),e.buffer.push(g(c["bind-attr"].call(b,{hash:{"class":"view.iconClass"},hashTypes:{"class":"STRING"},hashContexts:{"class":b},contexts:[],types:[],data:e}))),e.buffer.push("></i>"),f})}),define("appkit/templates/views/details-quiz",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(n(c.view.call(a,"a-embed-item",{hash:{returnTypeBinding:"returnType",itemBinding:"model","class":"btn-info pull-right",title:"returnType.displayReturnType",showTooltip:"true","data-placement":"left"},hashTypes:{returnTypeBinding:"STRING",itemBinding:"STRING","class":"STRING",title:"ID",showTooltip:"STRING","data-placement":"STRING"},hashContexts:{returnTypeBinding:a,itemBinding:a,"class":a,title:a,showTooltip:a,"data-placement":a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}function g(a,b){var d;d=c._triageMustache.call(a,"title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}function h(a,b){var d,e="";return b.buffer.push('\n created by <span class="username">'),d=c._triageMustache.call(a,"username",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span> /\n "),e}function i(a,b){var d,e="";return b.buffer.push('\n <span class="label label-default">'),d=c._triageMustache.call(a,"subject",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span>\n "),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var j,k,l,m="",n=this.escapeExpression,o=this,p=c.helperMissing;return e.buffer.push('<div class="above-link">\n <a href="#" '),e.buffer.push(n(c.action.call(b,"performSearch",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}))),e.buffer.push(' class="back_button">&laquo; search results</a>\n '),j=c.each.call(b,"returnType","in","returnableReturnTypes",{hash:{},hashTypes:{},hashContexts:{},inverse:o.noop,fn:o.program(1,f,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(j||0===j)&&e.buffer.push(j),e.buffer.push("\n</div>\n\n"),e.buffer.push(n(c._triageMustache.call(b,"embedHref",{hash:{unescaped:"true"},hashTypes:{unescaped:"STRING"},hashContexts:{unescaped:b},contexts:[b],types:["ID"],data:e}))),e.buffer.push('\n\n<hr class="clearfix" />\n\n<div class="video data media-body">\n <h2 class="title clearfix">\n '),k=c["link-to"]||b&&b["link-to"],l={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:o.noop,fn:o.program(3,g,e),contexts:[b,b],types:["STRING","ID"],data:e},j=k?k.call(b,"ltiApp.search.details","",l):p.call(b,"link-to","ltiApp.search.details","",l),(j||0===j)&&e.buffer.push(j),e.buffer.push('\n </h2>\n <div class="duration">'),j=c._triageMustache.call(b,"termCount",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(j||0===j)&&e.buffer.push(j),e.buffer.push(' terms</div>\n <p class="meta">\n '),j=c["if"].call(b,"username",{hash:{},hashTypes:{},hashContexts:{},inverse:o.noop,fn:o.program(5,h,e),contexts:[b],types:["ID"],data:e}),(j||0===j)&&e.buffer.push(j),e.buffer.push("\n Added <time>"),j=c._triageMustache.call(b,"createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(j||0===j)&&e.buffer.push(j),e.buffer.push('</time>\n </p>\n <p class="count">\n '),j=c.each.call(b,"subject","in","subjects",{hash:{},hashTypes:{},hashContexts:{},inverse:o.noop,fn:o.program(7,i,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(j||0===j)&&e.buffer.push(j),e.buffer.push('\n </p>\n\n <p class="description">'),j=c._triageMustache.call(b,"description",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(j||0===j)&&e.buffer.push(j),e.buffer.push("</p>\n</div>\n"),m})}),define("appkit/templates/views/details-video",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(k(c.view.call(a,"a-embed-item",{hash:{returnTypeBinding:"returnType",itemBinding:"model","class":"btn-info pull-right",title:"returnType.displayReturnType",showTooltip:"true","data-placement":"left"},hashTypes:{returnTypeBinding:"STRING",itemBinding:"STRING","class":"STRING",title:"ID",showTooltip:"STRING","data-placement":"STRING"},hashContexts:{returnTypeBinding:a,itemBinding:a,"class":a,title:a,showTooltip:a,"data-placement":a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this.escapeExpression,l=this,m=c.helperMissing;return e.buffer.push('<div class="above-link">\n <a href="#" '),e.buffer.push(k(c.action.call(b,"performSearch",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}))),e.buffer.push(' class="back_button">&laquo; search results</a>\n '),g=c.each.call(b,"returnType","in","returnableReturnTypes",{hash:{},hashTypes:{},hashContexts:{},inverse:l.noop,fn:l.program(1,f,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push('\n</div>\n\n<div class="lti-video-embed">\n <div class="flex-video widescreen clearfix">\n '),e.buffer.push(k(c._triageMustache.call(b,"embedHtml",{hash:{unescaped:"true"},hashTypes:{unescaped:"STRING"},hashContexts:{unescaped:b},contexts:[b],types:["ID"],data:e}))),e.buffer.push('\n </div>\n <div class="video data">\n <h2 class="title">\n <span class="faux_link">'),g=c._triageMustache.call(b,"title",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push('</span>\n </h2>\n <div class="duration">'),e.buffer.push(k((h=c["seconds-to-time"]||b&&b["seconds-to-time"],i={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e},h?h.call(b,"duration",i):m.call(b,"seconds-to-time","duration",i)))),e.buffer.push('</div>\n <p class="meta">\n from <span class="username">'),g=c._triageMustache.call(b,"username",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("</span> /\n Added <time>"),g=c._triageMustache.call(b,"video.createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push('</time>\n </p>\n <p class="count">\n <span class="plays">'),g=c._triageMustache.call(b,"numViews",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push(' Plays</span> /\n <span class="likes">'),g=c._triageMustache.call(b,"numLikes",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push(' Likes</span> /\n <span class="comments">'),g=c._triageMustache.call(b,"numComments",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push(' Comments</span>\n </p>\n <p class="description">'),g=c._triageMustache.call(b,"description",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("</p>\n </div>\n</div>\n"),j})}),define("appkit/templates/views/li-quiz",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d;d=c._triageMustache.call(a,"item.title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}function g(a,b){var d,e="";return b.buffer.push('\n created by <span class="username">'),d=c._triageMustache.call(a,"username",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span> /\n "),e}function h(a,b){var d,e="";return b.buffer.push('\n <span class="label label-default">'),d=c._triageMustache.call(a,"subject",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("</span>\n "),e}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l="",m=this,n=c.helperMissing,o=this.escapeExpression;return e.buffer.push('<div class="video data media-body">\n <h2 class="title clearfix">\n '),j=c["link-to"]||b&&b["link-to"],k={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:m.noop,fn:m.program(1,f,e),contexts:[b,b],types:["ID","ID"],data:e},i=j?j.call(b,"targetRoute","item",k):n.call(b,"link-to","targetRoute","item",k),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n </h2>\n <div class="duration">'),i=c._triageMustache.call(b,"item.termCount",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' terms</div>\n <p class="meta">\n '),i=c["if"].call(b,"username",{hash:{},hashTypes:{},hashContexts:{},inverse:m.noop,fn:m.program(3,g,e),contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("\n Added <time>"),i=c._triageMustache.call(b,"item.createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('</time>\n </p>\n <p class="count">\n '),i=c.each.call(b,"subject","in","item.subjects",{hash:{},hashTypes:{},hashContexts:{},inverse:m.noop,fn:m.program(5,h,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n </p>\n <p class="description">'),e.buffer.push(o((j=c["truncate-text"]||b&&b["truncate-text"],k={hash:{},hashTypes:{},hashContexts:{},contexts:[b,b],types:["ID","INTEGER"],data:e},j?j.call(b,"item.description",150,k):n.call(b,"truncate-text","item.description",150,k)))),e.buffer.push("</p>\n</div>"),l})}),define("appkit/templates/views/li-video",["exports"],function(a){a["default"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f="";return b.buffer.push("\n <img "),b.buffer.push(n((d=c.bindAttr||a&&a.bindAttr,e={hash:{src:"item.thumbnailUrl"},hashTypes:{src:"ID"},hashContexts:{src:a},contexts:[],types:[],data:b},d?d.call(a,e):m.call(a,"bindAttr",e)))),b.buffer.push(' class="media-object thumbnail thumbnail_med_wide">\n'),f}function g(a,b){var d;d=c._triageMustache.call(a,"item.title",{hash:{},hashTypes:{},hashContexts:{},contexts:[a],types:["ID"],data:b}),b.buffer.push(d||0===d?d:"")}function h(a,b){var d="";return b.buffer.push("\n "),b.buffer.push(n(c.view.call(a,"a-embed-item",{hash:{returnTypeBinding:"returnType",itemBinding:"item",title:"returnType.displayReturnType",showTooltip:"true","data-placement":"left"},hashTypes:{returnTypeBinding:"STRING",itemBinding:"STRING",title:"ID",showTooltip:"STRING","data-placement":"STRING"},hashContexts:{returnTypeBinding:a,itemBinding:a,title:a,showTooltip:a,"data-placement":a},contexts:[a],types:["STRING"],data:b}))),b.buffer.push("\n "),d}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l="",m=c.helperMissing,n=this.escapeExpression,o=this;return j=c["link-to"]||b&&b["link-to"],k={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:o.noop,fn:o.program(1,f,e),contexts:[b,b],types:["ID","ID"],data:e},i=j?j.call(b,"targetRoute","item",k):m.call(b,"link-to","targetRoute","item",k),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n<div class="video data media-body">\n <h2 class="title clearfix">\n '),j=c["link-to"]||b&&b["link-to"],k={hash:{classNames:"pull-left"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:b},inverse:o.noop,fn:o.program(3,g,e),contexts:[b,b],types:["ID","ID"],data:e},i=j?j.call(b,"targetRoute","item",k):m.call(b,"link-to","targetRoute","item",k),(i||0===i)&&e.buffer.push(i),e.buffer.push('\n </h2>\n <div class="duration">'),e.buffer.push(n((j=c["seconds-to-time"]||b&&b["seconds-to-time"],k={hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e},j?j.call(b,"item.duration",k):m.call(b,"seconds-to-time","item.duration",k)))),e.buffer.push('</div>\n <p class="meta">\n from <span class="username">'),i=c._triageMustache.call(b,"item.username",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("</span> /\n Added <time>"),i=c._triageMustache.call(b,"item.createdDate",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('</time>\n </p>\n <p class="count">\n <span class="plays">'),i=c._triageMustache.call(b,"item.numViews",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' Plays</span> /\n <span class="likes">'),i=c._triageMustache.call(b,"item.numLikes",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' Likes</span> /\n <span class="comments">'),i=c._triageMustache.call(b,"item.numComments",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push(' Comments</span>\n </p>\n <p class="description">'),i=c._triageMustache.call(b,"item.shortDescription",{hash:{},hashTypes:{},hashContexts:{},contexts:[b],types:["ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push('</p>\n <div class="return-types text-right">\n '),i=c.each.call(b,"returnType","in","item.returnableReturnTypes",{hash:{},hashTypes:{},hashContexts:{},inverse:o.noop,fn:o.program(5,h,e),contexts:[b,b,b],types:["ID","ID","ID"],data:e}),(i||0===i)&&e.buffer.push(i),e.buffer.push("\n </div>\n</div>\n"),l})});
@@ -115,7 +115,7 @@ module LtiPublicResources
115
115
  when 'url'
116
116
  redirect_url = tp.url_content_return_url(return_type['url'], return_type['title'])
117
117
  when 'lti_launch_url'
118
- url = launch_url(driver: return_type['driver'], remote_id: return_type['remote_id'], url: return_type['url'])
118
+ url = launch_url(driver: return_type['driver'], remote_id: return_type['remote_id'])
119
119
  redirect_url = tp.lti_launch_content_return_url(url, return_type['title'], return_type['title'])
120
120
  end
121
121
  return redirect_url
@@ -4,6 +4,16 @@ module LtiPublicResources
4
4
  before_filter :cors_preflight_check
5
5
  after_filter :cors_set_access_control_headers
6
6
 
7
+ def ga_tracking_code
8
+ LtiPublicResources.ga_tracking_code || ""
9
+ end
10
+ helper_method :ga_tracking_code
11
+
12
+ def ga_domain
13
+ LtiPublicResources.ga_domain || ""
14
+ end
15
+ helper_method :ga_domain
16
+
7
17
  def set_default_headers
8
18
  response.headers['X-Frame-Options'] = 'ALLOWALL'
9
19
  end
@@ -0,0 +1,9 @@
1
+ <script>
2
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
3
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
4
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
5
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
6
+
7
+ ga('create', '<%= ga_tracking_code %>', '<%= ga_domain %>');
8
+ ga('send', 'pageview');
9
+ </script>
@@ -7,5 +7,6 @@
7
7
  <iframe src="http://www.khanacademy.org/embed_video?v=<%= @remote_id %>"
8
8
  frameborder="0" style="position: absolute; height: 100%; overflow: hidden; width:100%;"
9
9
  height="100%" width="100%" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
10
+ <%= render partial: "analytics" %>
10
11
  </body>
11
12
  </html>
@@ -4,8 +4,9 @@
4
4
  <title>LTI Public Resources</title>
5
5
  </head>
6
6
  <body style="margin: 0px; padding: 0px; overflow: hidden;">
7
- <iframe src="<%= @url %>"
7
+ <iframe src="https://quizlet.com/<%= @remote_id %>/flashcards/embedv2"
8
8
  frameborder="0" style="position: absolute; height: 100%; overflow: hidden; width:100%;"
9
9
  height="100%" width="100%" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
10
+ <%= render partial: "analytics" %>
10
11
  </body>
11
12
  </html>
@@ -7,5 +7,6 @@
7
7
  <iframe src="http://www.schooltube.com/embed/<%= @remote_id %>"
8
8
  frameborder="0" style="position: absolute; height: 100%; overflow: hidden; width:100%;"
9
9
  height="100%" width="100%" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
10
+ <%= render partial: "analytics" %>
10
11
  </body>
11
12
  </html>
@@ -7,5 +7,6 @@
7
7
  <iframe src="https://player.vimeo.com/video/<%= @remote_id %>?badge=0"
8
8
  frameborder="0" style="position: absolute; height: 100%; overflow: hidden; width:100%;"
9
9
  height="100%" width="100%" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
10
+ <%= render partial: "analytics" %>
10
11
  </body>
11
12
  </html>
@@ -7,5 +7,6 @@
7
7
  <iframe src="https://www.youtube.com/apiplayer?video_id=<%= @remote_id %>"
8
8
  frameborder="0" style="position: absolute; height: 100%; overflow: hidden; width:100%;"
9
9
  height="100%" width="100%" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
10
+ <%= render partial: "analytics" %>
10
11
  </body>
11
12
  </html>
@@ -37,5 +37,7 @@
37
37
  <script>
38
38
  window.App = require('appkit/app')["default"].create();
39
39
  </script>
40
+
41
+ <%= render partial: "analytics" %>
40
42
  </body>
41
43
  </html>
@@ -1,7 +1,10 @@
1
+ analytics:
2
+ code: GOOGLE_ANALYTICS_TRACKING_CODE
3
+ domain: DOMAIN_GOES_HERE
1
4
  vimeo:
2
5
  consumer_key: VIMEO_CONSUMER_KEY
3
6
  consumer_secret: VIMEO_CONSUMER_SECRET
4
7
  access_token: VIMEO_ACCESS_TOKEN
5
8
  access_token_secret: VIMEO_ACCESS_TOKEN_SECRET
6
9
  quizlet:
7
- client_id: QUIZLET_CLIENT_ID
10
+ client_id: QUIZLET_CLIENT_ID
@@ -4,7 +4,7 @@ require 'ims/lti'
4
4
  require 'lti_public_resources/lti_public_resources_config'
5
5
 
6
6
  module LtiPublicResources
7
- mattr_accessor :app_root, :drivers
7
+ mattr_accessor :app_root, :drivers, :ga_domain, :ga_tracking_code
8
8
 
9
9
  def self.setup
10
10
  yield self
@@ -12,6 +12,8 @@ module LtiPublicResources
12
12
  if File.exists?(config_file)
13
13
  Rails.logger.info "Initializing using #{config_file}"
14
14
  settings = load_config.deep_symbolize_keys
15
+ LtiPublicResources.ga_tracking_code = settings[:analytics][:code] || ""
16
+ LtiPublicResources.ga_domain = settings[:analytics][:domain] || ""
15
17
  LtiPublicResources.drivers = {
16
18
  youtube: APR::Drivers::Youtube.new,
17
19
  vimeo: APR::Drivers::Vimeo.new(settings[:vimeo]),
@@ -1,3 +1,3 @@
1
1
  module LtiPublicResources
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -1,3 +1,6 @@
1
+ analytics:
2
+ code: GOOGLE_ANALYTICS_TRACKING_CODE
3
+ domain: DOMAIN_GOES_HERE
1
4
  vimeo:
2
5
  consumer_key: 94a35092485388628457c32b5459f4898bb37db4
3
6
  consumer_secret: 993565f5df803b5bca88e299ee6a1f7f87a102a0
@@ -7734,3 +7734,1455 @@ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1
7734
7734
 
7735
7735
 
7736
7736
  Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 08:30:32 -0700
7737
+ Initializing using /Users/ericb/Projects/Instructure/lti_public_resources/spec/test_app/config/lti_public_resources_config.yml
7738
+
7739
+
7740
+ Started GET "/" for 127.0.0.1 at 2014-02-24 08:41:28 -0700
7741
+ Processing by Rails::WelcomeController#index as HTML
7742
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/templates/rails/welcome/index.html.erb (1.5ms)
7743
+ Completed 200 OK in 7ms (Views: 6.7ms | ActiveRecord: 0.0ms)
7744
+
7745
+
7746
+ Started GET "/lti_public_resources/" for 127.0.0.1 at 2014-02-24 08:41:34 -0700
7747
+ Processing by LtiPublicResources::EmberController#app as HTML
7748
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (64.0ms)
7749
+ Completed 200 OK in 66ms (Views: 65.2ms | ActiveRecord: 0.0ms)
7750
+
7751
+
7752
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:41:34 -0700
7753
+
7754
+
7755
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:41:34 -0700
7756
+
7757
+
7758
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:41:34 -0700
7759
+
7760
+
7761
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:41:34 -0700
7762
+
7763
+
7764
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:41:34 -0700
7765
+
7766
+
7767
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:41:35 -0700
7768
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
7769
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
7770
+
7771
+
7772
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 08:41:35 -0700
7773
+
7774
+
7775
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 08:41:35 -0700
7776
+
7777
+
7778
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 08:41:35 -0700
7779
+
7780
+
7781
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 08:41:35 -0700
7782
+
7783
+
7784
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 08:41:35 -0700
7785
+
7786
+
7787
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 08:41:35 -0700
7788
+
7789
+
7790
+ Started GET "/assets/lti_public_resources/quizlet_logo.png" for 127.0.0.1 at 2014-02-24 08:41:37 -0700
7791
+
7792
+
7793
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:41:39 -0700
7794
+ Processing by LtiPublicResources::ApiController#search as */*
7795
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
7796
+ Completed 200 OK in 492ms (Views: 21.0ms | ActiveRecord: 0.0ms)
7797
+
7798
+
7799
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:41:47 -0700
7800
+ Processing by LtiPublicResources::ApiController#embed as JSON
7801
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/spacerace/embedv2", "text"=>"Space Race", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
7802
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
7803
+
7804
+
7805
+ Started GET "/lti_public_resources/launch?driver=quizlet&remote_id=23752218&url=http%3A%2F%2Fquizlet.com%2F23752218%2Fdogs-flash-cards%2F" for 127.0.0.1 at 2014-02-24 08:43:21 -0700
7806
+ Processing by LtiPublicResources::EmberController#launch as HTML
7807
+ Parameters: {"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"http://quizlet.com/23752218/dogs-flash-cards/"}
7808
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_quizlet.html.erb (0.4ms)
7809
+ Completed 200 OK in 4ms (Views: 3.9ms | ActiveRecord: 0.0ms)
7810
+
7811
+
7812
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:44:00 -0700
7813
+ Processing by LtiPublicResources::ApiController#embed as JSON
7814
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/spacerace/embedv2", "text"=>"Space Race", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
7815
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
7816
+ Initializing using /Users/ericb/Projects/Instructure/lti_public_resources/spec/test_app/config/lti_public_resources_config.yml
7817
+
7818
+
7819
+ Started GET "/lti_public_resources/" for 127.0.0.1 at 2014-02-24 08:46:07 -0700
7820
+ Processing by LtiPublicResources::EmberController#app as HTML
7821
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (76.2ms)
7822
+ Completed 200 OK in 81ms (Views: 81.0ms | ActiveRecord: 0.0ms)
7823
+
7824
+
7825
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:46:07 -0700
7826
+
7827
+
7828
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:46:07 -0700
7829
+
7830
+
7831
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:46:07 -0700
7832
+
7833
+
7834
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:46:07 -0700
7835
+
7836
+
7837
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:46:07 -0700
7838
+
7839
+
7840
+ Started GET "/lti_public_resources/api/lti_apps/quizlet" for 127.0.0.1 at 2014-02-24 08:46:07 -0700
7841
+ Processing by LtiPublicResources::ApiController#lti_app as */*
7842
+ Parameters: {"id"=>"quizlet"}
7843
+ Completed 200 OK in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
7844
+
7845
+
7846
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:46:10 -0700
7847
+ Processing by LtiPublicResources::ApiController#search as */*
7848
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
7849
+ Completed 200 OK in 747ms (Views: 23.9ms | ActiveRecord: 0.0ms)
7850
+
7851
+
7852
+ Started GET "/lti_public_resources/?ext_content_return_types=lti_launch_url" for 127.0.0.1 at 2014-02-24 08:47:10 -0700
7853
+ Processing by LtiPublicResources::EmberController#app as HTML
7854
+ Parameters: {"ext_content_return_types"=>"lti_launch_url"}
7855
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (4.9ms)
7856
+ Completed 200 OK in 6ms (Views: 5.9ms | ActiveRecord: 0.0ms)
7857
+
7858
+
7859
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:47:30 -0700
7860
+ Processing by LtiPublicResources::ApiController#search as */*
7861
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
7862
+ Completed 200 OK in 264ms (Views: 21.1ms | ActiveRecord: 0.0ms)
7863
+
7864
+
7865
+ Started GET "/lti_public_resources/" for 127.0.0.1 at 2014-02-24 08:47:31 -0700
7866
+ Processing by LtiPublicResources::EmberController#app as HTML
7867
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.5ms)
7868
+ Completed 200 OK in 7ms (Views: 6.6ms | ActiveRecord: 0.0ms)
7869
+
7870
+
7871
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:31 -0700
7872
+
7873
+
7874
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:31 -0700
7875
+
7876
+
7877
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:47:31 -0700
7878
+
7879
+
7880
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:47:31 -0700
7881
+
7882
+
7883
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:31 -0700
7884
+
7885
+
7886
+ Started GET "/lti_public_resources/api/lti_apps/quizlet" for 127.0.0.1 at 2014-02-24 08:47:32 -0700
7887
+ Processing by LtiPublicResources::ApiController#lti_app as */*
7888
+ Parameters: {"id"=>"quizlet"}
7889
+ Completed 200 OK in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
7890
+
7891
+
7892
+ Started GET "/lti_public_resources/?ext_content_return_types=lti_launch_url" for 127.0.0.1 at 2014-02-24 08:47:36 -0700
7893
+ Processing by LtiPublicResources::EmberController#app as HTML
7894
+ Parameters: {"ext_content_return_types"=>"lti_launch_url"}
7895
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.3ms)
7896
+ Completed 200 OK in 7ms (Views: 6.4ms | ActiveRecord: 0.0ms)
7897
+
7898
+
7899
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:47:36 -0700
7900
+
7901
+
7902
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:47:36 -0700
7903
+
7904
+
7905
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:36 -0700
7906
+
7907
+
7908
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:36 -0700
7909
+
7910
+
7911
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:36 -0700
7912
+
7913
+
7914
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:47:37 -0700
7915
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
7916
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
7917
+
7918
+
7919
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:47:41 -0700
7920
+ Processing by LtiPublicResources::ApiController#search as */*
7921
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
7922
+ Completed 200 OK in 308ms (Views: 19.9ms | ActiveRecord: 0.0ms)
7923
+
7924
+
7925
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7926
+ Processing by LtiPublicResources::ApiController#embed as JSON
7927
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"http://quizlet.com/23752218/dogs-flash-cards/", "text"=>"Dogs", "title"=>"Dogs", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"ext_content_return_types"=>"lti_launch_url"}}
7928
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
7929
+
7930
+
7931
+ Started GET "/lti_public_resources/?return_type=lti_launch_url&url=http%3A%2F%2Flocalhost%3A3001%2Flti_public_resources%2Flaunch%3Fdriver%3Dquizlet%26remote_id%3D23752218%26url%3Dhttp%253A%252F%252Fquizlet.com%252F23752218%252Fdogs-flash-cards%252F&text=Dogs&title=Dogs" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7932
+ Processing by LtiPublicResources::EmberController#app as HTML
7933
+ Parameters: {"return_type"=>"lti_launch_url", "url"=>"http://localhost:3001/lti_public_resources/launch?driver=quizlet&remote_id=23752218&url=http%3A%2F%2Fquizlet.com%2F23752218%2Fdogs-flash-cards%2F", "text"=>"Dogs", "title"=>"Dogs"}
7934
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (4.9ms)
7935
+ Completed 200 OK in 6ms (Views: 6.0ms | ActiveRecord: 0.0ms)
7936
+
7937
+
7938
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7939
+
7940
+
7941
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7942
+
7943
+
7944
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7945
+
7946
+
7947
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7948
+
7949
+
7950
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7951
+
7952
+
7953
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:47:46 -0700
7954
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
7955
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
7956
+
7957
+
7958
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:47:53 -0700
7959
+ Processing by LtiPublicResources::ApiController#search as */*
7960
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
7961
+ Completed 200 OK in 874ms (Views: 21.4ms | ActiveRecord: 0.0ms)
7962
+
7963
+
7964
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7965
+ Processing by LtiPublicResources::ApiController#embed as JSON
7966
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"http://quizlet.com/23752218/dogs-flash-cards/", "text"=>"Dogs", "title"=>"Dogs", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"ext_content_return_types"=>"lti_launch_url"}}
7967
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
7968
+
7969
+
7970
+ Started GET "/lti_public_resources/?return_type=lti_launch_url&url=http%3A%2F%2Flocalhost%3A3001%2Flti_public_resources%2Flaunch%3Fdriver%3Dquizlet%26remote_id%3D23752218%26url%3Dhttp%253A%252F%252Fquizlet.com%252F23752218%252Fdogs-flash-cards%252F&text=Dogs&title=Dogs" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7971
+ Processing by LtiPublicResources::EmberController#app as HTML
7972
+ Parameters: {"return_type"=>"lti_launch_url", "url"=>"http://localhost:3001/lti_public_resources/launch?driver=quizlet&remote_id=23752218&url=http%3A%2F%2Fquizlet.com%2F23752218%2Fdogs-flash-cards%2F", "text"=>"Dogs", "title"=>"Dogs"}
7973
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (4.9ms)
7974
+ Completed 200 OK in 6ms (Views: 6.0ms | ActiveRecord: 0.0ms)
7975
+
7976
+
7977
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7978
+
7979
+
7980
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7981
+
7982
+
7983
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7984
+
7985
+
7986
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7987
+
7988
+
7989
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7990
+
7991
+
7992
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:48:02 -0700
7993
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
7994
+ Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.0ms)
7995
+
7996
+
7997
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:48:42 -0700
7998
+ Processing by LtiPublicResources::ApiController#search as */*
7999
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
8000
+ Completed 200 OK in 274ms (Views: 20.3ms | ActiveRecord: 0.0ms)
8001
+
8002
+
8003
+ Started GET "/lti_public_resources/" for 127.0.0.1 at 2014-02-24 08:48:44 -0700
8004
+ Processing by LtiPublicResources::EmberController#app as HTML
8005
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (4.7ms)
8006
+ Completed 200 OK in 6ms (Views: 5.6ms | ActiveRecord: 0.0ms)
8007
+
8008
+
8009
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:48:44 -0700
8010
+
8011
+
8012
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:48:44 -0700
8013
+
8014
+
8015
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:48:44 -0700
8016
+
8017
+
8018
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:48:44 -0700
8019
+
8020
+
8021
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:48:44 -0700
8022
+
8023
+
8024
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:48:45 -0700
8025
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8026
+ Completed 200 OK in 1ms (Views: 0.9ms | ActiveRecord: 0.0ms)
8027
+
8028
+
8029
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:48:50 -0700
8030
+ Processing by LtiPublicResources::ApiController#search as */*
8031
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
8032
+ Completed 200 OK in 316ms (Views: 74.3ms | ActiveRecord: 0.0ms)
8033
+
8034
+
8035
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:48:53 -0700
8036
+ Processing by LtiPublicResources::ApiController#embed as JSON
8037
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/spacerace/embedv2", "text"=>"Space Race", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8038
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8039
+
8040
+
8041
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:48:58 -0700
8042
+ Processing by LtiPublicResources::ApiController#embed as JSON
8043
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/test/embedv2", "text"=>"Test", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8044
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8045
+
8046
+
8047
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:49:25 -0700
8048
+ Processing by LtiPublicResources::ApiController#embed as JSON
8049
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/learn/embedv2", "text"=>"Learn", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8050
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8051
+
8052
+
8053
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:49:42 -0700
8054
+ Processing by LtiPublicResources::ApiController#embed as JSON
8055
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/spacerace/embedv2", "text"=>"Space Race", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8056
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8057
+
8058
+
8059
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:49:48 -0700
8060
+ Processing by LtiPublicResources::ApiController#embed as JSON
8061
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/test/embedv2", "text"=>"Test", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8062
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8063
+
8064
+
8065
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:49:57 -0700
8066
+ Processing by LtiPublicResources::ApiController#embed as JSON
8067
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/speller/embedv2", "text"=>"Speller", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8068
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8069
+
8070
+
8071
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:50:01 -0700
8072
+ Processing by LtiPublicResources::ApiController#embed as JSON
8073
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/scatter/embedv2", "text"=>"Scatter", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8074
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8075
+
8076
+
8077
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:50:04 -0700
8078
+ Processing by LtiPublicResources::ApiController#embed as JSON
8079
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/learn/embedv2", "text"=>"Learn", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8080
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8081
+
8082
+
8083
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:50:15 -0700
8084
+ Processing by LtiPublicResources::ApiController#embed as JSON
8085
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"https://quizlet.com/23752218/flashcards/embedv2", "text"=>"Flashcards", "title"=>"Dogs", "width"=>"100%", "height"=>"410", "return_type"=>"iframe"}}
8086
+ Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8087
+
8088
+
8089
+ Started GET "/lti_public_resources/config.xml" for 127.0.0.1 at 2014-02-24 08:52:43 -0700
8090
+ Processing by LtiPublicResources::ApiController#xml_config as HTML
8091
+ Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms)
8092
+
8093
+
8094
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 08:53:34 -0700
8095
+ Processing by LtiPublicResources::EmberController#app as HTML
8096
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257213", "oauth_nonce"=>"j2QZMb4dDaURBtmqkztg3pdpA5nryKPi2jpyE7zM", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"RjUyoWzM4lA6kbQ6ktmIbOXr9hM="}
8097
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.8ms)
8098
+ Completed 200 OK in 8ms (Views: 7.3ms | ActiveRecord: 0.0ms)
8099
+
8100
+
8101
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:53:34 -0700
8102
+
8103
+
8104
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:53:34 -0700
8105
+
8106
+
8107
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:53:34 -0700
8108
+
8109
+
8110
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:53:34 -0700
8111
+
8112
+
8113
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:53:34 -0700
8114
+
8115
+
8116
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:53:34 -0700
8117
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8118
+ Completed 200 OK in 1ms (Views: 1.2ms | ActiveRecord: 0.0ms)
8119
+
8120
+
8121
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 08:53:35 -0700
8122
+
8123
+
8124
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 08:53:35 -0700
8125
+
8126
+
8127
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 08:53:35 -0700
8128
+
8129
+
8130
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 08:53:35 -0700
8131
+
8132
+
8133
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 08:53:35 -0700
8134
+
8135
+
8136
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 08:53:35 -0700
8137
+
8138
+
8139
+ Started GET "/assets/lti_public_resources/quizlet_logo.png" for 127.0.0.1 at 2014-02-24 08:53:52 -0700
8140
+
8141
+
8142
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 08:53:55 -0700
8143
+ Processing by LtiPublicResources::ApiController#search as */*
8144
+ Parameters: {"tool_id"=>"quizlet", "query"=>"dog"}
8145
+ Completed 200 OK in 1146ms (Views: 19.2ms | ActiveRecord: 0.0ms)
8146
+
8147
+
8148
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:53:59 -0700
8149
+ Processing by LtiPublicResources::ApiController#embed as JSON
8150
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"23752218", "url"=>"http://quizlet.com/23752218/dogs-flash-cards/", "text"=>"Dogs", "title"=>"Dogs", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257213", "oauth_nonce"=>"j2QZMb4dDaURBtmqkztg3pdpA5nryKPi2jpyE7zM", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"RjUyoWzM4lA6kbQ6ktmIbOXr9hM="}}
8151
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8152
+
8153
+
8154
+ Started POST "/lti_public_resources/launch?driver=quizlet&remote_id=23752218&url=http%3A%2F%2Fquizlet.com%2F23752218%2Fdogs-flash-cards%2F" for 127.0.0.1 at 2014-02-24 08:54:04 -0700
8155
+ Processing by LtiPublicResources::EmberController#launch as HTML
8156
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257243", "oauth_nonce"=>"sKCKhST8q4gIIxftAzUULi3v60AqCMlW02PyrAubc", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"quizlet", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "remote_id"=>"23752218", "resource_link_id"=>"fedc0032d26c3d35ee30d718749da0bcc3fefa3d", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "url"=>"http://quizlet.com/23752218/dogs-flash-cards/", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"1AGhuqrXzUa2/oHt3IjWoiRrZxQ="}
8157
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_quizlet.html.erb (0.4ms)
8158
+ Completed 200 OK in 4ms (Views: 3.4ms | ActiveRecord: 0.0ms)
8159
+
8160
+
8161
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 08:54:22 -0700
8162
+ Processing by LtiPublicResources::EmberController#app as HTML
8163
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257262", "oauth_nonce"=>"As6vlYlSxx8XRvltGdirzF0PqaK6xIJfCyWF1TdOBo", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"zLBFwAYdAxAIf3qvfut7syHUpzY="}
8164
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.7ms)
8165
+ Completed 200 OK in 7ms (Views: 6.8ms | ActiveRecord: 0.0ms)
8166
+
8167
+
8168
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:54:22 -0700
8169
+
8170
+
8171
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:54:22 -0700
8172
+
8173
+
8174
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:54:22 -0700
8175
+
8176
+
8177
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:54:22 -0700
8178
+
8179
+
8180
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:54:22 -0700
8181
+
8182
+
8183
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:54:23 -0700
8184
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8185
+ Completed 200 OK in 1ms (Views: 0.6ms | ActiveRecord: 0.0ms)
8186
+
8187
+
8188
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 08:54:23 -0700
8189
+
8190
+
8191
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 08:54:23 -0700
8192
+
8193
+
8194
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 08:54:23 -0700
8195
+
8196
+
8197
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 08:54:23 -0700
8198
+
8199
+
8200
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 08:54:23 -0700
8201
+
8202
+
8203
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 08:54:23 -0700
8204
+
8205
+
8206
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 08:54:26 -0700
8207
+ Processing by LtiPublicResources::ApiController#browse as JSON
8208
+ Parameters: {"folder"=>"root", "tool_id"=>"khan_academy"}
8209
+ Completed 200 OK in 732ms (Views: 1.3ms | ActiveRecord: 0.0ms)
8210
+
8211
+
8212
+ Started GET "/assets/lti_public_resources/khan_academy_logo.png" for 127.0.0.1 at 2014-02-24 08:54:27 -0700
8213
+
8214
+
8215
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 08:54:29 -0700
8216
+ Processing by LtiPublicResources::ApiController#browse as JSON
8217
+ Parameters: {"folder"=>"math", "tool_id"=>"khan_academy"}
8218
+ Completed 200 OK in 642ms (Views: 1.8ms | ActiveRecord: 0.0ms)
8219
+
8220
+
8221
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 08:54:30 -0700
8222
+ Processing by LtiPublicResources::ApiController#browse as JSON
8223
+ Parameters: {"folder"=>"cc-third-grade-math", "tool_id"=>"khan_academy"}
8224
+ Completed 200 OK in 334ms (Views: 0.9ms | ActiveRecord: 0.0ms)
8225
+
8226
+
8227
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 08:54:31 -0700
8228
+ Processing by LtiPublicResources::ApiController#browse as JSON
8229
+ Parameters: {"folder"=>"cc-3rd-add-sub-topic", "tool_id"=>"khan_academy"}
8230
+ Completed 200 OK in 775ms (Views: 0.5ms | ActiveRecord: 0.0ms)
8231
+
8232
+
8233
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 08:54:33 -0700
8234
+ Processing by LtiPublicResources::ApiController#browse as JSON
8235
+ Parameters: {"folder"=>"cc-3rd-regrouping-3-dig", "tool_id"=>"khan_academy"}
8236
+ Completed 200 OK in 1764ms (Views: 59.0ms | ActiveRecord: 0.0ms)
8237
+
8238
+
8239
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:54:39 -0700
8240
+ Processing by LtiPublicResources::ApiController#embed as JSON
8241
+ Parameters: {"return_type"=>{"driver"=>"khan_academy", "url"=>"http://www.youtube.com/watch?v=9T3AAn-Cw3g&feature=youtube_gdata_player", "text"=>"Basic regrouping or borrowing when subtracting three digit numbers", "title"=>"Basic regrouping or borrowing when subtracting three digit numbers", "return_type"=>"lti_launch_url", "media_id"=>"9T3AAn-Cw3g", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257262", "oauth_nonce"=>"As6vlYlSxx8XRvltGdirzF0PqaK6xIJfCyWF1TdOBo", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"zLBFwAYdAxAIf3qvfut7syHUpzY="}}
8242
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8243
+
8244
+
8245
+ Started POST "/lti_public_resources/launch?driver=khan_academy&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9T3AAn-Cw3g%26feature%3Dyoutube_gdata_player" for 127.0.0.1 at 2014-02-24 08:54:44 -0700
8246
+ Processing by LtiPublicResources::EmberController#launch as HTML
8247
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257283", "oauth_nonce"=>"gAxtys4hCkPCsuxdj5302vMg2CeVZNwRURhnNlg", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"khan_academy", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"32b8e734b29e25725f5e3c167b5eaa52a83636ae", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "url"=>"http://www.youtube.com/watch?v=9T3AAn-Cw3g&feature=youtube_gdata_player", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"TDldJgQx0nwXUNaqo6UfMqhnd3I="}
8248
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_khan_academy.html.erb (0.4ms)
8249
+ Completed 200 OK in 2ms (Views: 1.7ms | ActiveRecord: 0.0ms)
8250
+
8251
+
8252
+ Started GET "/lti_public_resources/launch?driver=khan_academy&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9T3AAn-Cw3g%26feature%3Dyoutube_gdata_player" for 127.0.0.1 at 2014-02-24 08:55:22 -0700
8253
+ Processing by LtiPublicResources::EmberController#launch as HTML
8254
+ Parameters: {"driver"=>"khan_academy", "url"=>"http://www.youtube.com/watch?v=9T3AAn-Cw3g&feature=youtube_gdata_player"}
8255
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_khan_academy.html.erb (0.0ms)
8256
+ Completed 200 OK in 1ms (Views: 1.0ms | ActiveRecord: 0.0ms)
8257
+
8258
+
8259
+ Started GET "/lti_public_resources/launch?driver=khan_academy&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9T3AAn-Cw3g%26feature%3Dyoutube_gdata_player" for 127.0.0.1 at 2014-02-24 08:55:56 -0700
8260
+ Processing by LtiPublicResources::EmberController#launch as HTML
8261
+ Parameters: {"driver"=>"khan_academy", "url"=>"https://www.youtube.com/watch?v=9T3AAn-Cw3g&feature=youtube_gdata_player"}
8262
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_khan_academy.html.erb (0.0ms)
8263
+ Completed 200 OK in 1ms (Views: 1.0ms | ActiveRecord: 0.0ms)
8264
+
8265
+
8266
+ Started GET "/lti_public_resources/launch?driver=khan_academy&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9T3AAn-Cw3g%26feature%3Dyoutube_gdata_player" for 127.0.0.1 at 2014-02-24 08:56:02 -0700
8267
+ Processing by LtiPublicResources::EmberController#launch as HTML
8268
+ Parameters: {"driver"=>"khan_academy", "url"=>"http://www.youtube.com/watch?v=9T3AAn-Cw3g&feature=youtube_gdata_player"}
8269
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_khan_academy.html.erb (0.0ms)
8270
+ Completed 200 OK in 1ms (Views: 0.9ms | ActiveRecord: 0.0ms)
8271
+
8272
+
8273
+ Started GET "/lti_public_resources/launch?driver=khan_academy&remote_id=8JYP_wU1JTU" for 127.0.0.1 at 2014-02-24 08:58:03 -0700
8274
+ Processing by LtiPublicResources::EmberController#launch as HTML
8275
+ Parameters: {"driver"=>"khan_academy", "remote_id"=>"8JYP_wU1JTU"}
8276
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_khan_academy.html.erb (0.1ms)
8277
+ Completed 200 OK in 1ms (Views: 1.0ms | ActiveRecord: 0.0ms)
8278
+
8279
+
8280
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8281
+ Processing by LtiPublicResources::EmberController#app as HTML
8282
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257542", "oauth_nonce"=>"IaHovr0yBIpEQ5IUreNdkZskRg6QDfk2HFH2gRzfQ", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"Yl4DN489X+vUexPUWBf7+ZLB9ZE="}
8283
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.2ms)
8284
+ Completed 200 OK in 7ms (Views: 6.3ms | ActiveRecord: 0.0ms)
8285
+
8286
+
8287
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8288
+
8289
+
8290
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8291
+
8292
+
8293
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8294
+
8295
+
8296
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8297
+
8298
+
8299
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8300
+
8301
+
8302
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8303
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8304
+ Completed 200 OK in 1ms (Views: 0.8ms | ActiveRecord: 0.0ms)
8305
+
8306
+
8307
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8308
+
8309
+
8310
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8311
+
8312
+
8313
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8314
+
8315
+
8316
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8317
+
8318
+
8319
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8320
+
8321
+
8322
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 08:59:03 -0700
8323
+
8324
+
8325
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 08:59:05 -0700
8326
+ Processing by LtiPublicResources::ApiController#browse as JSON
8327
+ Parameters: {"folder"=>"root", "tool_id"=>"khan_academy"}
8328
+ Completed 200 OK in 718ms (Views: 1.4ms | ActiveRecord: 0.0ms)
8329
+
8330
+
8331
+ Started GET "/assets/lti_public_resources/khan_academy_logo.png" for 127.0.0.1 at 2014-02-24 08:59:06 -0700
8332
+
8333
+
8334
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 08:59:07 -0700
8335
+ Processing by LtiPublicResources::ApiController#browse as JSON
8336
+ Parameters: {"folder"=>"new-and-noteworthy", "tool_id"=>"khan_academy"}
8337
+ Completed 200 OK in 805ms (Views: 12.6ms | ActiveRecord: 0.0ms)
8338
+
8339
+
8340
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 08:59:11 -0700
8341
+ Processing by LtiPublicResources::ApiController#embed as JSON
8342
+ Parameters: {"return_type"=>{"driver"=>"khan_academy", "url"=>"http://www.youtube.com/watch?v=l-QFT7XNeb4&feature=youtube_gdata_player", "text"=>"Radio interview: Sal on AirTalk talking about his new book", "title"=>"Radio interview: Sal on AirTalk talking about his new book", "return_type"=>"lti_launch_url", "media_id"=>"l-QFT7XNeb4", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257542", "oauth_nonce"=>"IaHovr0yBIpEQ5IUreNdkZskRg6QDfk2HFH2gRzfQ", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"Yl4DN489X+vUexPUWBf7+ZLB9ZE="}}
8343
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8344
+
8345
+
8346
+ Started GET "/lti_public_resources/launch?driver=khan_academy&remote_id=l-QFT7XNeb4" for 127.0.0.1 at 2014-02-24 09:00:50 -0700
8347
+ Processing by LtiPublicResources::EmberController#launch as HTML
8348
+ Parameters: {"driver"=>"khan_academy", "remote_id"=>"l-QFT7XNeb4"}
8349
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_khan_academy.html.erb (0.1ms)
8350
+ Completed 200 OK in 1ms (Views: 0.9ms | ActiveRecord: 0.0ms)
8351
+ Initializing using /Users/ericb/Projects/Instructure/lti_public_resources/spec/test_app/config/lti_public_resources_config.yml
8352
+
8353
+
8354
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:05:46 -0700
8355
+ Processing by LtiPublicResources::EmberController#app as HTML
8356
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257946", "oauth_nonce"=>"SCBs7lcXQyI8OIl9qHiS2Jd2vcugre3kbuM0MzCiY", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"xt04RWSoz5gz9CzFnQ6UersA5+A="}
8357
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (27.2ms)
8358
+ Completed 200 OK in 34ms (Views: 33.7ms | ActiveRecord: 0.0ms)
8359
+
8360
+
8361
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:05:46 -0700
8362
+
8363
+
8364
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8365
+
8366
+
8367
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8368
+
8369
+
8370
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8371
+
8372
+
8373
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8374
+
8375
+
8376
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8377
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8378
+ Completed 200 OK in 2ms (Views: 1.7ms | ActiveRecord: 0.0ms)
8379
+
8380
+
8381
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8382
+
8383
+
8384
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8385
+
8386
+
8387
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8388
+
8389
+
8390
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8391
+
8392
+
8393
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8394
+
8395
+
8396
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:05:47 -0700
8397
+
8398
+
8399
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 09:05:49 -0700
8400
+ Processing by LtiPublicResources::ApiController#browse as JSON
8401
+ Parameters: {"folder"=>"root", "tool_id"=>"khan_academy"}
8402
+ Completed 200 OK in 854ms (Views: 1.5ms | ActiveRecord: 0.0ms)
8403
+
8404
+
8405
+ Started GET "/assets/lti_public_resources/khan_academy_logo.png" for 127.0.0.1 at 2014-02-24 09:05:49 -0700
8406
+
8407
+
8408
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 09:05:50 -0700
8409
+ Processing by LtiPublicResources::ApiController#browse as JSON
8410
+ Parameters: {"folder"=>"science", "tool_id"=>"khan_academy"}
8411
+ Completed 200 OK in 270ms (Views: 1.0ms | ActiveRecord: 0.0ms)
8412
+
8413
+
8414
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 09:05:51 -0700
8415
+ Processing by LtiPublicResources::ApiController#browse as JSON
8416
+ Parameters: {"folder"=>"chemistry", "tool_id"=>"khan_academy"}
8417
+ Completed 200 OK in 319ms (Views: 1.2ms | ActiveRecord: 0.0ms)
8418
+
8419
+
8420
+ Started POST "/lti_public_resources/api/browse" for 127.0.0.1 at 2014-02-24 09:05:52 -0700
8421
+ Processing by LtiPublicResources::ApiController#browse as JSON
8422
+ Parameters: {"folder"=>"periodic-table-trends-bonding", "tool_id"=>"khan_academy"}
8423
+ Completed 200 OK in 650ms (Views: 3.2ms | ActiveRecord: 0.0ms)
8424
+
8425
+
8426
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 09:05:56 -0700
8427
+ Processing by LtiPublicResources::ApiController#embed as JSON
8428
+ Parameters: {"return_type"=>{"driver"=>"khan_academy", "remote_id"=>"LDHg7Vgzses", "url"=>"http://www.youtube.com/watch?v=LDHg7Vgzses&feature=youtube_gdata_player", "text"=>"Groups of the periodic table", "title"=>"Groups of the periodic table", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257946", "oauth_nonce"=>"SCBs7lcXQyI8OIl9qHiS2Jd2vcugre3kbuM0MzCiY", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"xt04RWSoz5gz9CzFnQ6UersA5+A="}}
8429
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8430
+
8431
+
8432
+ Started POST "/lti_public_resources/launch?driver=khan_academy&remote_id=LDHg7Vgzses" for 127.0.0.1 at 2014-02-24 09:06:03 -0700
8433
+ Processing by LtiPublicResources::EmberController#launch as HTML
8434
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393257963", "oauth_nonce"=>"jwPLkTBCsWveaZ4vIlPuYD6yZcQITtJyakdRswKSj3I", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"khan_academy", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "remote_id"=>"LDHg7Vgzses", "resource_link_id"=>"5465a6a6abe9f3c4a6968fe9c26446b8ab9e0a2e", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"fwBCI7KEZzV5Ekmz0hoqgVlSqEY="}
8435
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_khan_academy.html.erb (0.4ms)
8436
+ Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms)
8437
+
8438
+
8439
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8440
+ Processing by LtiPublicResources::EmberController#app as HTML
8441
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258044", "oauth_nonce"=>"dUGcdOzsPEHTLmxWaZiWFiHbG1HYygNFlSL7dG9VK0", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"qqah29Rw3VJb7PAseDh0B4BPPyc="}
8442
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.7ms)
8443
+ Completed 200 OK in 7ms (Views: 6.7ms | ActiveRecord: 0.0ms)
8444
+
8445
+
8446
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8447
+
8448
+
8449
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8450
+
8451
+
8452
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8453
+
8454
+
8455
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8456
+
8457
+
8458
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8459
+
8460
+
8461
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8462
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8463
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
8464
+
8465
+
8466
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8467
+
8468
+
8469
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8470
+
8471
+
8472
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8473
+
8474
+
8475
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8476
+
8477
+
8478
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8479
+
8480
+
8481
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:07:25 -0700
8482
+
8483
+
8484
+ Started GET "/assets/lti_public_resources/quizlet_logo.png" for 127.0.0.1 at 2014-02-24 09:07:29 -0700
8485
+
8486
+
8487
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 09:07:33 -0700
8488
+ Processing by LtiPublicResources::ApiController#search as */*
8489
+ Parameters: {"tool_id"=>"quizlet", "query"=>"pony"}
8490
+ Completed 200 OK in 1013ms (Views: 72.2ms | ActiveRecord: 0.0ms)
8491
+
8492
+
8493
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 09:07:38 -0700
8494
+ Processing by LtiPublicResources::ApiController#embed as JSON
8495
+ Parameters: {"return_type"=>{"driver"=>"quizlet", "remote_id"=>"7810213", "url"=>"http://quizlet.com/7810213/ponies-flash-cards/", "text"=>"ponies", "title"=>"ponies", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258044", "oauth_nonce"=>"dUGcdOzsPEHTLmxWaZiWFiHbG1HYygNFlSL7dG9VK0", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"qqah29Rw3VJb7PAseDh0B4BPPyc="}}
8496
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8497
+
8498
+
8499
+ Started POST "/lti_public_resources/launch?driver=quizlet&remote_id=7810213" for 127.0.0.1 at 2014-02-24 09:07:42 -0700
8500
+ Processing by LtiPublicResources::EmberController#launch as HTML
8501
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258061", "oauth_nonce"=>"wpqWEES4MeLVhGDEeDwWRnCsDqrpx5GE2EpVyNuo", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"quizlet", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "remote_id"=>"7810213", "resource_link_id"=>"edd8f6c0fad2ab9fdd223afd86f7d3995d531b59", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"rfnR57mNp16yGrg3DjNLBBZrBPM="}
8502
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_quizlet.html.erb (0.4ms)
8503
+ Completed 200 OK in 2ms (Views: 1.7ms | ActiveRecord: 0.0ms)
8504
+
8505
+
8506
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8507
+ Processing by LtiPublicResources::EmberController#app as HTML
8508
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258082", "oauth_nonce"=>"i3WSgqq2sPv66uTTn6iRaZBTtePTqnL8VEUystv14I", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"3LbdbE9WXvYVgI9LAbhao62R/HY="}
8509
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.6ms)
8510
+ Completed 200 OK in 7ms (Views: 6.7ms | ActiveRecord: 0.0ms)
8511
+
8512
+
8513
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8514
+
8515
+
8516
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8517
+
8518
+
8519
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8520
+
8521
+
8522
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8523
+
8524
+
8525
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8526
+
8527
+
8528
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8529
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8530
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
8531
+
8532
+
8533
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8534
+
8535
+
8536
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8537
+
8538
+
8539
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8540
+
8541
+
8542
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8543
+
8544
+
8545
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8546
+
8547
+
8548
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:08:03 -0700
8549
+
8550
+
8551
+ Started GET "/assets/lti_public_resources/schooltube_logo.png" for 127.0.0.1 at 2014-02-24 09:08:05 -0700
8552
+
8553
+
8554
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 09:08:07 -0700
8555
+ Processing by LtiPublicResources::ApiController#search as */*
8556
+ Parameters: {"tool_id"=>"schooltube", "query"=>"top"}
8557
+ Completed 200 OK in 4075ms (Views: 10.5ms | ActiveRecord: 0.0ms)
8558
+
8559
+
8560
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 09:08:26 -0700
8561
+ Processing by LtiPublicResources::ApiController#search as */*
8562
+ Parameters: {"tool_id"=>"schooltube", "query"=>"top"}
8563
+ Completed 200 OK in 323ms (Views: 10.1ms | ActiveRecord: 0.0ms)
8564
+
8565
+
8566
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 09:08:51 -0700
8567
+ Processing by LtiPublicResources::ApiController#search as */*
8568
+ Parameters: {"tool_id"=>"schooltube", "query"=>"dog"}
8569
+ Completed 200 OK in 3399ms (Views: 13.6ms | ActiveRecord: 0.0ms)
8570
+
8571
+
8572
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 09:08:58 -0700
8573
+ Processing by LtiPublicResources::ApiController#embed as JSON
8574
+ Parameters: {"return_type"=>{"driver"=>"schooltube", "remote_id"=>"234acfb98c1c4daab6c2", "url"=>"http://bit.ly/RaFM1E", "text"=>"The Human-Dog Bond", "title"=>"The Human-Dog Bond", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258082", "oauth_nonce"=>"i3WSgqq2sPv66uTTn6iRaZBTtePTqnL8VEUystv14I", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"3LbdbE9WXvYVgI9LAbhao62R/HY="}}
8575
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8576
+
8577
+
8578
+ Started POST "/lti_public_resources/launch?driver=schooltube&remote_id=234acfb98c1c4daab6c2" for 127.0.0.1 at 2014-02-24 09:09:03 -0700
8579
+ Processing by LtiPublicResources::EmberController#launch as HTML
8580
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258143", "oauth_nonce"=>"Le8jsqJJVzS5HghBuCLHybwOsbkQpVN7Ic2iqFTlqo", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"schooltube", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "remote_id"=>"234acfb98c1c4daab6c2", "resource_link_id"=>"6a4ac7ace7bbce3ab2c11debab2338fffb93c9b6", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"Cext4OsqL1Iz6FeOaxs5BWVoReg="}
8581
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_schooltube.html.erb (0.5ms)
8582
+ Completed 200 OK in 2ms (Views: 1.7ms | ActiveRecord: 0.0ms)
8583
+
8584
+
8585
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8586
+ Processing by LtiPublicResources::EmberController#app as HTML
8587
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258166", "oauth_nonce"=>"8SH5GbIZcPkJPqjt0X2pCG64qwwjPnMm5JrKS2k4MGA", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"cveMW6kMe2GhVC22auJgUZzQv6g="}
8588
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (61.6ms)
8589
+ Completed 200 OK in 63ms (Views: 62.7ms | ActiveRecord: 0.0ms)
8590
+
8591
+
8592
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8593
+
8594
+
8595
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8596
+
8597
+
8598
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8599
+
8600
+
8601
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8602
+
8603
+
8604
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8605
+
8606
+
8607
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8608
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8609
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
8610
+
8611
+
8612
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8613
+
8614
+
8615
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8616
+
8617
+
8618
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8619
+
8620
+
8621
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8622
+
8623
+
8624
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8625
+
8626
+
8627
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:09:27 -0700
8628
+
8629
+
8630
+ Started GET "/assets/lti_public_resources/vimeo_logo.png" for 127.0.0.1 at 2014-02-24 09:09:28 -0700
8631
+
8632
+
8633
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 09:09:31 -0700
8634
+ Processing by LtiPublicResources::ApiController#search as */*
8635
+ Parameters: {"tool_id"=>"vimeo", "query"=>"top"}
8636
+ Completed 200 OK in 988ms (Views: 10.3ms | ActiveRecord: 0.0ms)
8637
+
8638
+
8639
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 09:09:38 -0700
8640
+ Processing by LtiPublicResources::ApiController#embed as JSON
8641
+ Parameters: {"return_type"=>{"driver"=>"vimeo", "remote_id"=>"8642851", "url"=>"http://vimeo.com/8642851", "text"=>"HELSINKI 78-82 - CRUISING", "title"=>"HELSINKI 78-82 - CRUISING", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258166", "oauth_nonce"=>"8SH5GbIZcPkJPqjt0X2pCG64qwwjPnMm5JrKS2k4MGA", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"cveMW6kMe2GhVC22auJgUZzQv6g="}}
8642
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8643
+
8644
+
8645
+ Started POST "/lti_public_resources/launch?driver=vimeo&remote_id=8642851" for 127.0.0.1 at 2014-02-24 09:09:43 -0700
8646
+ Processing by LtiPublicResources::EmberController#launch as HTML
8647
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258182", "oauth_nonce"=>"fvSgeJ6Qdzx1n9T6scwDNxp1KVHmtNVutaqYYl8mKRg", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"vimeo", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "remote_id"=>"8642851", "resource_link_id"=>"2655abf9ac294513878ead48d417ce1f16fe1e06", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"Fp8t3YUEV0PFOM7ufuQyRkbLjdo="}
8648
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_vimeo.html.erb (0.5ms)
8649
+ Completed 200 OK in 2ms (Views: 1.9ms | ActiveRecord: 0.0ms)
8650
+
8651
+
8652
+ Started POST "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8653
+ Processing by LtiPublicResources::EmberController#app as HTML
8654
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258197", "oauth_nonce"=>"9H2rJCswKmyXkGNxUdZFFahzzDa9Cv2CBQn9nsydMCc", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"3sbZ4L+3r0vHnDxLhyiHoLBlwX0="}
8655
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.6ms)
8656
+ Completed 200 OK in 7ms (Views: 6.6ms | ActiveRecord: 0.0ms)
8657
+
8658
+
8659
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8660
+
8661
+
8662
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8663
+
8664
+
8665
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8666
+
8667
+
8668
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8669
+
8670
+
8671
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8672
+
8673
+
8674
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8675
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8676
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
8677
+
8678
+
8679
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8680
+
8681
+
8682
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8683
+
8684
+
8685
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8686
+
8687
+
8688
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8689
+
8690
+
8691
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8692
+
8693
+
8694
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:09:58 -0700
8695
+
8696
+
8697
+ Started GET "/assets/lti_public_resources/youtube_logo.png" for 127.0.0.1 at 2014-02-24 09:09:59 -0700
8698
+
8699
+
8700
+ Started POST "/lti_public_resources/api/search" for 127.0.0.1 at 2014-02-24 09:10:02 -0700
8701
+ Processing by LtiPublicResources::ApiController#search as */*
8702
+ Parameters: {"tool_id"=>"youtube", "query"=>"top"}
8703
+ Completed 200 OK in 947ms (Views: 10.3ms | ActiveRecord: 0.0ms)
8704
+
8705
+
8706
+ Started POST "/lti_public_resources/api/embed" for 127.0.0.1 at 2014-02-24 09:10:06 -0700
8707
+ Processing by LtiPublicResources::ApiController#embed as JSON
8708
+ Parameters: {"return_type"=>{"driver"=>"youtube", "remote_id"=>"Be9twPWyCvw", "url"=>"https://www.youtube.com/watch?v=Be9twPWyCvw&feature=youtube_gdata_player", "text"=>"Top 10 NBA Plays: February 22nd", "title"=>"Top 10 NBA Plays: February 22nd", "return_type"=>"lti_launch_url", "returnable"=>"true"}, "launch_params"=>{"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258197", "oauth_nonce"=>"9H2rJCswKmyXkGNxUdZFFahzzDa9Cv2CBQn9nsydMCc", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "ext_content_intended_use"=>"navigation", "ext_content_return_types"=>"lti_launch_url", "ext_content_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/external_content/success/external_tool", "launch_presentation_width"=>"560", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "resource_link_title"=>"Eric PR (local:3001)", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "selection_directive"=>"select_link", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"3sbZ4L+3r0vHnDxLhyiHoLBlwX0="}}
8709
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
8710
+
8711
+
8712
+ Started POST "/lti_public_resources/launch?driver=youtube&remote_id=Be9twPWyCvw" for 127.0.0.1 at 2014-02-24 09:10:10 -0700
8713
+ Processing by LtiPublicResources::EmberController#launch as HTML
8714
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393258209", "oauth_nonce"=>"uObuq4hLxMPbPhZ57Y27lGxGDYg5AhQWqJ4LmhFH4", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"youtube", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "remote_id"=>"Be9twPWyCvw", "resource_link_id"=>"57ea6069bedda6a60850c5f0dbfdb85dac52b954", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"wAZXQyVV2pohm5Xw117E5MffsmM="}
8715
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_youtube.html.erb (0.4ms)
8716
+ Completed 200 OK in 2ms (Views: 1.6ms | ActiveRecord: 0.0ms)
8717
+ Initializing using /Users/ericb/Projects/Instructure/lti_public_resources/spec/test_app/config/lti_public_resources_config.yml
8718
+ Initializing using /Users/ericb/Projects/Instructure/lti_public_resources/spec/test_app/config/lti_public_resources_config.yml
8719
+
8720
+
8721
+ Started GET "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:22:12 -0700
8722
+ Processing by LtiPublicResources::EmberController#app as HTML
8723
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (72.4ms)
8724
+ Completed 500 Internal Server Error in 77ms
8725
+
8726
+ ActionView::Template::Error (Missing partial ember/analytics with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby]}. Searched in:
8727
+ * "/Users/ericb/Projects/Instructure/lti_public_resources/spec/test_app/app/views"
8728
+ * "/Users/ericb/Projects/Instructure/lti_public_resources/app/views"
8729
+ ):
8730
+ 38: window.App = require('appkit/app')["default"].create();
8731
+ 39: </script>
8732
+ 40:
8733
+ 41: <%= render partial: "ember/analytics" %>
8734
+ 42: </body>
8735
+ 43: </html>
8736
+ actionpack (4.0.2) lib/action_view/path_set.rb:46:in `find'
8737
+ actionpack (4.0.2) lib/action_view/lookup_context.rb:122:in `find'
8738
+ actionpack (4.0.2) lib/action_view/renderer/partial_renderer.rb:383:in `find_template'
8739
+ actionpack (4.0.2) lib/action_view/renderer/partial_renderer.rb:377:in `find_partial'
8740
+ actionpack (4.0.2) lib/action_view/renderer/partial_renderer.rb:263:in `render'
8741
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:47:in `render_partial'
8742
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:21:in `render'
8743
+ actionpack (4.0.2) lib/action_view/helpers/rendering_helper.rb:24:in `render'
8744
+ /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb:41:in `___sers_ericb__rojects__nstructure_lti_public_resources_app_views_lti_public_resources_ember_app_html_erb___3847261629820323517_2192335360'
8745
+ actionpack (4.0.2) lib/action_view/template.rb:143:in `block in render'
8746
+ activesupport (4.0.2) lib/active_support/notifications.rb:161:in `instrument'
8747
+ actionpack (4.0.2) lib/action_view/template.rb:141:in `render'
8748
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:49:in `block (2 levels) in render_template'
8749
+ actionpack (4.0.2) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
8750
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `block in instrument'
8751
+ activesupport (4.0.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
8752
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `instrument'
8753
+ actionpack (4.0.2) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
8754
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:48:in `block in render_template'
8755
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:56:in `render_with_layout'
8756
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:47:in `render_template'
8757
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:17:in `render'
8758
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:42:in `render_template'
8759
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:23:in `render'
8760
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:127:in `_render_template'
8761
+ actionpack (4.0.2) lib/action_controller/metal/streaming.rb:219:in `_render_template'
8762
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:120:in `render_to_body'
8763
+ actionpack (4.0.2) lib/action_controller/metal/rendering.rb:33:in `render_to_body'
8764
+ actionpack (4.0.2) lib/action_controller/metal/renderers.rb:26:in `render_to_body'
8765
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:97:in `render'
8766
+ actionpack (4.0.2) lib/action_controller/metal/rendering.rb:16:in `render'
8767
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:41:in `block (2 levels) in render'
8768
+ activesupport (4.0.2) lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
8769
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/benchmark.rb:296:in `realtime'
8770
+ activesupport (4.0.2) lib/active_support/core_ext/benchmark.rb:12:in `ms'
8771
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:41:in `block in render'
8772
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
8773
+ activerecord (4.0.2) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
8774
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:40:in `render'
8775
+ /Users/ericb/Projects/Instructure/lti_public_resources/app/controllers/lti_public_resources/ember_controller.rb:16:in `app'
8776
+ actionpack (4.0.2) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
8777
+ actionpack (4.0.2) lib/abstract_controller/base.rb:189:in `process_action'
8778
+ actionpack (4.0.2) lib/action_controller/metal/rendering.rb:10:in `process_action'
8779
+ actionpack (4.0.2) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
8780
+ activesupport (4.0.2) lib/active_support/callbacks.rb:393:in `_run__1351409234432613166__process_action__callbacks'
8781
+ activesupport (4.0.2) lib/active_support/callbacks.rb:80:in `run_callbacks'
8782
+ actionpack (4.0.2) lib/abstract_controller/callbacks.rb:17:in `process_action'
8783
+ actionpack (4.0.2) lib/action_controller/metal/rescue.rb:29:in `process_action'
8784
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
8785
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `block in instrument'
8786
+ activesupport (4.0.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
8787
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `instrument'
8788
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
8789
+ actionpack (4.0.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
8790
+ activerecord (4.0.2) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
8791
+ actionpack (4.0.2) lib/abstract_controller/base.rb:136:in `process'
8792
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:44:in `process'
8793
+ actionpack (4.0.2) lib/action_controller/metal.rb:195:in `dispatch'
8794
+ actionpack (4.0.2) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
8795
+ actionpack (4.0.2) lib/action_controller/metal.rb:231:in `block in action'
8796
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:80:in `call'
8797
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
8798
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:48:in `call'
8799
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:71:in `block in call'
8800
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `each'
8801
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `call'
8802
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:680:in `call'
8803
+ railties (4.0.2) lib/rails/engine.rb:511:in `call'
8804
+ railties (4.0.2) lib/rails/railtie/configurable.rb:30:in `method_missing'
8805
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:71:in `block in call'
8806
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `each'
8807
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `call'
8808
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:680:in `call'
8809
+ rack (1.5.2) lib/rack/etag.rb:23:in `call'
8810
+ rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
8811
+ rack (1.5.2) lib/rack/head.rb:11:in `call'
8812
+ actionpack (4.0.2) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
8813
+ actionpack (4.0.2) lib/action_dispatch/middleware/flash.rb:241:in `call'
8814
+ rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
8815
+ rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
8816
+ actionpack (4.0.2) lib/action_dispatch/middleware/cookies.rb:486:in `call'
8817
+ activerecord (4.0.2) lib/active_record/query_cache.rb:36:in `call'
8818
+ activerecord (4.0.2) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in `call'
8819
+ activerecord (4.0.2) lib/active_record/migration.rb:369:in `call'
8820
+ actionpack (4.0.2) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
8821
+ activesupport (4.0.2) lib/active_support/callbacks.rb:373:in `_run__3453805846179258378__call__callbacks'
8822
+ activesupport (4.0.2) lib/active_support/callbacks.rb:80:in `run_callbacks'
8823
+ actionpack (4.0.2) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
8824
+ actionpack (4.0.2) lib/action_dispatch/middleware/reloader.rb:64:in `call'
8825
+ actionpack (4.0.2) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
8826
+ actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
8827
+ actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
8828
+ railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
8829
+ railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
8830
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
8831
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
8832
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
8833
+ railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
8834
+ actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
8835
+ rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
8836
+ rack (1.5.2) lib/rack/runtime.rb:17:in `call'
8837
+ activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
8838
+ rack (1.5.2) lib/rack/lock.rb:17:in `call'
8839
+ actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
8840
+ rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
8841
+ railties (4.0.2) lib/rails/engine.rb:511:in `call'
8842
+ railties (4.0.2) lib/rails/application.rb:97:in `call'
8843
+ rack (1.5.2) lib/rack/lock.rb:17:in `call'
8844
+ rack (1.5.2) lib/rack/content_length.rb:14:in `call'
8845
+ rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
8846
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
8847
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
8848
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
8849
+
8850
+
8851
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.9ms)
8852
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (13.5ms)
8853
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (21.3ms)
8854
+
8855
+
8856
+ Started GET "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:22:27 -0700
8857
+ Processing by LtiPublicResources::EmberController#app as HTML
8858
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_analytics.html.erb (0.3ms)
8859
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (6.7ms)
8860
+ Completed 200 OK in 8ms (Views: 7.8ms | ActiveRecord: 0.0ms)
8861
+
8862
+
8863
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:22:27 -0700
8864
+
8865
+
8866
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:22:27 -0700
8867
+
8868
+
8869
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:22:27 -0700
8870
+
8871
+
8872
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:22:27 -0700
8873
+
8874
+
8875
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:22:27 -0700
8876
+
8877
+
8878
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:22:28 -0700
8879
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8880
+ Completed 200 OK in 1ms (Views: 0.8ms | ActiveRecord: 0.0ms)
8881
+
8882
+
8883
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:22:28 -0700
8884
+
8885
+
8886
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:22:28 -0700
8887
+
8888
+
8889
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:22:28 -0700
8890
+
8891
+
8892
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:22:28 -0700
8893
+
8894
+
8895
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:22:28 -0700
8896
+
8897
+
8898
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:22:28 -0700
8899
+
8900
+
8901
+ Started GET "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:22:55 -0700
8902
+ Processing by LtiPublicResources::EmberController#app as HTML
8903
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_analytics.html.erb (0.1ms)
8904
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (5.6ms)
8905
+ Completed 200 OK in 7ms (Views: 6.5ms | ActiveRecord: 0.0ms)
8906
+
8907
+
8908
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:22:55 -0700
8909
+
8910
+
8911
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:22:55 -0700
8912
+
8913
+
8914
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:22:55 -0700
8915
+
8916
+
8917
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:22:55 -0700
8918
+
8919
+
8920
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:22:55 -0700
8921
+
8922
+
8923
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:22:56 -0700
8924
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
8925
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
8926
+
8927
+
8928
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:22:56 -0700
8929
+
8930
+
8931
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:22:56 -0700
8932
+
8933
+
8934
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:22:56 -0700
8935
+
8936
+
8937
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:22:56 -0700
8938
+
8939
+
8940
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:22:56 -0700
8941
+
8942
+
8943
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:22:56 -0700
8944
+
8945
+
8946
+ Started GET "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:27:41 -0700
8947
+ Processing by LtiPublicResources::EmberController#app as HTML
8948
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_analytics.html.erb (1.2ms)
8949
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (7.8ms)
8950
+ Completed 500 Internal Server Error in 9ms
8951
+
8952
+ ActionView::Template::Error (undefined method `ga_domain' for LtiPublicResources:Module):
8953
+ 4: m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
8954
+ 5: })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
8955
+ 6:
8956
+ 7: ga('create', '<%= ga_tracking_code %>', '<%= ga_domain %>');
8957
+ 8: ga('send', 'pageview');
8958
+ 9: </script>
8959
+ /Users/ericb/Projects/Instructure/lti_public_resources/app/controllers/lti_public_resources/application_controller.rb:13:in `ga_domain'
8960
+ actionpack (4.0.2) lib/abstract_controller/helpers.rb:53:in `ga_domain'
8961
+ /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_analytics.html.erb:7:in `___sers_ericb__rojects__nstructure_lti_public_resources_app_views_lti_public_resources_ember__analytics_html_erb__251021711467803601_2171361980'
8962
+ actionpack (4.0.2) lib/action_view/template.rb:143:in `block in render'
8963
+ activesupport (4.0.2) lib/active_support/notifications.rb:161:in `instrument'
8964
+ actionpack (4.0.2) lib/action_view/template.rb:141:in `render'
8965
+ actionpack (4.0.2) lib/action_view/renderer/partial_renderer.rb:306:in `render_partial'
8966
+ actionpack (4.0.2) lib/action_view/renderer/partial_renderer.rb:279:in `block in render'
8967
+ actionpack (4.0.2) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
8968
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `block in instrument'
8969
+ activesupport (4.0.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
8970
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `instrument'
8971
+ actionpack (4.0.2) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
8972
+ actionpack (4.0.2) lib/action_view/renderer/partial_renderer.rb:278:in `render'
8973
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:47:in `render_partial'
8974
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:21:in `render'
8975
+ actionpack (4.0.2) lib/action_view/helpers/rendering_helper.rb:24:in `render'
8976
+ /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb:41:in `___sers_ericb__rojects__nstructure_lti_public_resources_app_views_lti_public_resources_ember_app_html_erb___3847261629820323517_2171194720'
8977
+ actionpack (4.0.2) lib/action_view/template.rb:143:in `block in render'
8978
+ activesupport (4.0.2) lib/active_support/notifications.rb:161:in `instrument'
8979
+ actionpack (4.0.2) lib/action_view/template.rb:141:in `render'
8980
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:49:in `block (2 levels) in render_template'
8981
+ actionpack (4.0.2) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
8982
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `block in instrument'
8983
+ activesupport (4.0.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
8984
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `instrument'
8985
+ actionpack (4.0.2) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
8986
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:48:in `block in render_template'
8987
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:56:in `render_with_layout'
8988
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:47:in `render_template'
8989
+ actionpack (4.0.2) lib/action_view/renderer/template_renderer.rb:17:in `render'
8990
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:42:in `render_template'
8991
+ actionpack (4.0.2) lib/action_view/renderer/renderer.rb:23:in `render'
8992
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:127:in `_render_template'
8993
+ actionpack (4.0.2) lib/action_controller/metal/streaming.rb:219:in `_render_template'
8994
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:120:in `render_to_body'
8995
+ actionpack (4.0.2) lib/action_controller/metal/rendering.rb:33:in `render_to_body'
8996
+ actionpack (4.0.2) lib/action_controller/metal/renderers.rb:26:in `render_to_body'
8997
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:97:in `render'
8998
+ actionpack (4.0.2) lib/action_controller/metal/rendering.rb:16:in `render'
8999
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:41:in `block (2 levels) in render'
9000
+ activesupport (4.0.2) lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
9001
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/benchmark.rb:296:in `realtime'
9002
+ activesupport (4.0.2) lib/active_support/core_ext/benchmark.rb:12:in `ms'
9003
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:41:in `block in render'
9004
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
9005
+ activerecord (4.0.2) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
9006
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:40:in `render'
9007
+ /Users/ericb/Projects/Instructure/lti_public_resources/app/controllers/lti_public_resources/ember_controller.rb:16:in `app'
9008
+ actionpack (4.0.2) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
9009
+ actionpack (4.0.2) lib/abstract_controller/base.rb:189:in `process_action'
9010
+ actionpack (4.0.2) lib/action_controller/metal/rendering.rb:10:in `process_action'
9011
+ actionpack (4.0.2) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
9012
+ activesupport (4.0.2) lib/active_support/callbacks.rb:393:in `_run__1351409234432613166__process_action__callbacks'
9013
+ activesupport (4.0.2) lib/active_support/callbacks.rb:80:in `run_callbacks'
9014
+ actionpack (4.0.2) lib/abstract_controller/callbacks.rb:17:in `process_action'
9015
+ actionpack (4.0.2) lib/action_controller/metal/rescue.rb:29:in `process_action'
9016
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
9017
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `block in instrument'
9018
+ activesupport (4.0.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
9019
+ activesupport (4.0.2) lib/active_support/notifications.rb:159:in `instrument'
9020
+ actionpack (4.0.2) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
9021
+ actionpack (4.0.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
9022
+ activerecord (4.0.2) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
9023
+ actionpack (4.0.2) lib/abstract_controller/base.rb:136:in `process'
9024
+ actionpack (4.0.2) lib/abstract_controller/rendering.rb:44:in `process'
9025
+ actionpack (4.0.2) lib/action_controller/metal.rb:195:in `dispatch'
9026
+ actionpack (4.0.2) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
9027
+ actionpack (4.0.2) lib/action_controller/metal.rb:231:in `block in action'
9028
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:80:in `call'
9029
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
9030
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:48:in `call'
9031
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:71:in `block in call'
9032
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `each'
9033
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `call'
9034
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:680:in `call'
9035
+ railties (4.0.2) lib/rails/engine.rb:511:in `call'
9036
+ railties (4.0.2) lib/rails/railtie/configurable.rb:30:in `method_missing'
9037
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:71:in `block in call'
9038
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `each'
9039
+ actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `call'
9040
+ actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:680:in `call'
9041
+ rack (1.5.2) lib/rack/etag.rb:23:in `call'
9042
+ rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
9043
+ rack (1.5.2) lib/rack/head.rb:11:in `call'
9044
+ actionpack (4.0.2) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
9045
+ actionpack (4.0.2) lib/action_dispatch/middleware/flash.rb:241:in `call'
9046
+ rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
9047
+ rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
9048
+ actionpack (4.0.2) lib/action_dispatch/middleware/cookies.rb:486:in `call'
9049
+ activerecord (4.0.2) lib/active_record/query_cache.rb:36:in `call'
9050
+ activerecord (4.0.2) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in `call'
9051
+ activerecord (4.0.2) lib/active_record/migration.rb:369:in `call'
9052
+ actionpack (4.0.2) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
9053
+ activesupport (4.0.2) lib/active_support/callbacks.rb:373:in `_run__3453805846179258378__call__callbacks'
9054
+ activesupport (4.0.2) lib/active_support/callbacks.rb:80:in `run_callbacks'
9055
+ actionpack (4.0.2) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
9056
+ actionpack (4.0.2) lib/action_dispatch/middleware/reloader.rb:64:in `call'
9057
+ actionpack (4.0.2) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
9058
+ actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
9059
+ actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
9060
+ railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
9061
+ railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
9062
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
9063
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
9064
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
9065
+ railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
9066
+ actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
9067
+ rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
9068
+ rack (1.5.2) lib/rack/runtime.rb:17:in `call'
9069
+ activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
9070
+ rack (1.5.2) lib/rack/lock.rb:17:in `call'
9071
+ actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
9072
+ rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
9073
+ railties (4.0.2) lib/rails/engine.rb:511:in `call'
9074
+ railties (4.0.2) lib/rails/application.rb:97:in `call'
9075
+ rack (1.5.2) lib/rack/lock.rb:17:in `call'
9076
+ rack (1.5.2) lib/rack/content_length.rb:14:in `call'
9077
+ rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
9078
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
9079
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
9080
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
9081
+
9082
+
9083
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.1ms)
9084
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.1ms)
9085
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (9.2ms)
9086
+ Initializing using /Users/ericb/Projects/Instructure/lti_public_resources/spec/test_app/config/lti_public_resources_config.yml
9087
+
9088
+
9089
+ Started GET "/lti_public_resources" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9090
+ Processing by LtiPublicResources::EmberController#app as HTML
9091
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_analytics.html.erb (0.5ms)
9092
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/app.html.erb (70.9ms)
9093
+ Completed 200 OK in 76ms (Views: 75.4ms | ActiveRecord: 0.0ms)
9094
+
9095
+
9096
+ Started GET "/assets/lti_public_resources/app.min.css?body=1" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9097
+
9098
+
9099
+ Started GET "/assets/lti_public_resources/vendor.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9100
+
9101
+
9102
+ Started GET "/assets/lti_public_resources/application.css?body=1" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9103
+
9104
+
9105
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9106
+
9107
+
9108
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9109
+
9110
+
9111
+ Started GET "/assets/lti_public_resources/app.min.js?body=1" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9112
+
9113
+
9114
+ Started GET "/assets/lti_public_resources/application.js?body=1" for 127.0.0.1 at 2014-02-24 09:27:50 -0700
9115
+
9116
+
9117
+ Started GET "/lti_public_resources/api/lti_apps" for 127.0.0.1 at 2014-02-24 09:27:51 -0700
9118
+ Processing by LtiPublicResources::ApiController#lti_apps as */*
9119
+ Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms)
9120
+
9121
+
9122
+ Started GET "/assets/lti_public_resources/youtube_banner.png" for 127.0.0.1 at 2014-02-24 09:27:51 -0700
9123
+
9124
+
9125
+ Started GET "/assets/lti_public_resources/vimeo_banner.png" for 127.0.0.1 at 2014-02-24 09:27:51 -0700
9126
+
9127
+
9128
+ Started GET "/assets/lti_public_resources/khan_academy_banner.png" for 127.0.0.1 at 2014-02-24 09:27:51 -0700
9129
+
9130
+
9131
+ Started GET "/assets/lti_public_resources/quizlet_banner.png" for 127.0.0.1 at 2014-02-24 09:27:51 -0700
9132
+
9133
+
9134
+ Started GET "/assets/lti_public_resources/schooltube_banner.png" for 127.0.0.1 at 2014-02-24 09:27:51 -0700
9135
+
9136
+
9137
+ Started GET "/assets/lti_public_resources/public_resources_logo.png" for 127.0.0.1 at 2014-02-24 09:27:51 -0700
9138
+
9139
+
9140
+ Started POST "/lti_public_resources/launch?driver=schooltube&remote_id=234acfb98c1c4daab6c2" for 127.0.0.1 at 2014-02-24 09:28:21 -0700
9141
+ Processing by LtiPublicResources::EmberController#launch as HTML
9142
+ Parameters: {"oauth_consumer_key"=>"asdf", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1393259299", "oauth_nonce"=>"JclDtLvTEzsCfT8u89tHBZq2HCEQXFuPUOwPjltSSo", "oauth_version"=>"1.0", "context_id"=>"6dea912122e999239a4663d99fc96ee4507a10bd", "context_label"=>"LTI", "context_title"=>"LTI Testing", "custom_canvas_enrollment_state"=>"inactive", "driver"=>"schooltube", "launch_presentation_document_target"=>"iframe", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"https://karl.instructure.com/courses/1/external_tools/307/finished", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "remote_id"=>"234acfb98c1c4daab6c2", "resource_link_id"=>"6a4ac7ace7bbce3ab2c11debab2338fffb93c9b6", "resource_link_title"=>"Hi Karl", "roles"=>"urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@instructure.com", "tool_consumer_instance_guid"=>"7db438071375c02373713c12c73869ff2f470b68.karl.instructure.com", "tool_consumer_instance_name"=>"Karl Lloyd Sandbox", "user_id"=>"6c04ace457f1c802ed7ddc76642b26e27003fe7a", "user_image"=>"https://canvas.instructure.com/images/messages/avatar-50.png", "oauth_signature"=>"GnQhBuaDs4Yst9Z7EY7wL8+JMLQ="}
9143
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_analytics.html.erb (0.1ms)
9144
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_schooltube.html.erb (1.7ms)
9145
+ Completed 200 OK in 3ms (Views: 2.9ms | ActiveRecord: 0.0ms)
9146
+
9147
+
9148
+ Started GET "/lti_public_resources/lti_public_resources/launch?driver=schooltube&remote_id=234acfb98c1c4daab6c2" for 127.0.0.1 at 2014-02-24 09:28:41 -0700
9149
+
9150
+ ActionController::RoutingError (No route matches [GET] "/lti_public_resources/lti_public_resources/launch"):
9151
+ actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
9152
+ actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
9153
+ railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
9154
+ railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
9155
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
9156
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
9157
+ activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
9158
+ railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
9159
+ actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
9160
+ rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
9161
+ rack (1.5.2) lib/rack/runtime.rb:17:in `call'
9162
+ activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
9163
+ rack (1.5.2) lib/rack/lock.rb:17:in `call'
9164
+ actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
9165
+ rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
9166
+ railties (4.0.2) lib/rails/engine.rb:511:in `call'
9167
+ railties (4.0.2) lib/rails/application.rb:97:in `call'
9168
+ rack (1.5.2) lib/rack/lock.rb:17:in `call'
9169
+ rack (1.5.2) lib/rack/content_length.rb:14:in `call'
9170
+ rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
9171
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
9172
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
9173
+ /Users/ericb/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
9174
+
9175
+
9176
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.8ms)
9177
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb (0.6ms)
9178
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb (0.7ms)
9179
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (3.5ms)
9180
+ Rendered /Users/eberry/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (20.3ms)
9181
+
9182
+
9183
+ Started GET "/lti_public_resources/launch?driver=schooltube&remote_id=234acfb98c1c4daab6c2" for 127.0.0.1 at 2014-02-24 09:28:45 -0700
9184
+ Processing by LtiPublicResources::EmberController#launch as HTML
9185
+ Parameters: {"driver"=>"schooltube", "remote_id"=>"234acfb98c1c4daab6c2"}
9186
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_analytics.html.erb (0.1ms)
9187
+ Rendered /Users/ericb/Projects/Instructure/lti_public_resources/app/views/lti_public_resources/ember/_schooltube.html.erb (0.8ms)
9188
+ Completed 200 OK in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms)