lti_public_resources 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)