active_public_resources 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +24 -0
  6. data/Guardfile +9 -0
  7. data/LICENSE.txt +18 -0
  8. data/README.md +326 -0
  9. data/Rakefile +7 -0
  10. data/active_public_resources.gemspec +27 -0
  11. data/active_public_resources_config.yml.example +10 -0
  12. data/lib/active_public_resources/base_response_type.rb +11 -0
  13. data/lib/active_public_resources/base_return_type.rb +17 -0
  14. data/lib/active_public_resources/client.rb +22 -0
  15. data/lib/active_public_resources/driver.rb +21 -0
  16. data/lib/active_public_resources/driver_response.rb +15 -0
  17. data/lib/active_public_resources/drivers/khan_academy.rb +143 -0
  18. data/lib/active_public_resources/drivers/quizlet.rb +92 -0
  19. data/lib/active_public_resources/drivers/schooltube.rb +99 -0
  20. data/lib/active_public_resources/drivers/vimeo.rb +181 -0
  21. data/lib/active_public_resources/drivers/youtube.rb +113 -0
  22. data/lib/active_public_resources/request_criteria.rb +51 -0
  23. data/lib/active_public_resources/response_types/exercise.rb +11 -0
  24. data/lib/active_public_resources/response_types/folder.rb +18 -0
  25. data/lib/active_public_resources/response_types/image.rb +11 -0
  26. data/lib/active_public_resources/response_types/quiz.rb +11 -0
  27. data/lib/active_public_resources/response_types/video.rb +12 -0
  28. data/lib/active_public_resources/return_types/file.rb +11 -0
  29. data/lib/active_public_resources/return_types/iframe.rb +11 -0
  30. data/lib/active_public_resources/return_types/image_url.rb +11 -0
  31. data/lib/active_public_resources/return_types/oembed.rb +11 -0
  32. data/lib/active_public_resources/return_types/url.rb +11 -0
  33. data/lib/active_public_resources/version.rb +3 -0
  34. data/lib/active_public_resources.rb +55 -0
  35. data/spec/lib/active_public_resources/client_spec.rb +75 -0
  36. data/spec/lib/active_public_resources/driver_spec.rb +48 -0
  37. data/spec/lib/active_public_resources/drivers/khan_academy_spec.rb +106 -0
  38. data/spec/lib/active_public_resources/drivers/quizlet_spec.rb +50 -0
  39. data/spec/lib/active_public_resources/drivers/schooltube_spec.rb +50 -0
  40. data/spec/lib/active_public_resources/drivers/vimeo_spec.rb +71 -0
  41. data/spec/lib/active_public_resources/drivers/youtube_spec.rb +52 -0
  42. data/spec/lib/active_public_resources/live_client_spec.rb +91 -0
  43. data/spec/lib/active_public_resources/request_criteria_spec.rb +53 -0
  44. data/spec/spec_helper.rb +46 -0
  45. data/spec/vcr/active_public_resources/client/khan_academy_should_traverse_folders.yml +1039 -0
  46. data/spec/vcr/active_public_resources/client/quizlet_should_perform_request.yml +70 -0
  47. data/spec/vcr/active_public_resources/client/shooltube_should_perform_request.yml +815 -0
  48. data/spec/vcr/active_public_resources/client/vimeo_should_perform_request.yml +70 -0
  49. data/spec/vcr/active_public_resources/client/youtube_should_perform_request.yml +212 -0
  50. data/spec/vcr/active_public_resources/drivers/khan_academy_driver_perform_request/should_get_folder_cs/programming.yml +117 -0
  51. data/spec/vcr/active_public_resources/drivers/khan_academy_driver_perform_request/should_get_folder_cs.yml +72 -0
  52. data/spec/vcr/active_public_resources/drivers/khan_academy_driver_perform_request/should_get_folder_science/mcat/society_and_culture/social_structures.yml +578 -0
  53. data/spec/vcr/active_public_resources/drivers/khan_academy_driver_perform_request/should_get_root_folders.yml +122 -0
  54. data/spec/vcr/active_public_resources/drivers/khan_academy_perform_request/should_get_folder_cs/programming.yml +120 -0
  55. data/spec/vcr/active_public_resources/drivers/khan_academy_perform_request/should_get_folder_cs.yml +73 -0
  56. data/spec/vcr/active_public_resources/drivers/khan_academy_perform_request/should_get_folder_science/mcat/society_and_culture/social_structures.yml +577 -0
  57. data/spec/vcr/active_public_resources/drivers/khan_academy_perform_request/should_get_root_folders.yml +119 -0
  58. data/spec/vcr/active_public_resources/drivers/quizlet_driver_perform_request/should_perform_request.yml +75 -0
  59. data/spec/vcr/active_public_resources/drivers/quizlet_perform_request/should_perform_request.yml +72 -0
  60. data/spec/vcr/active_public_resources/drivers/schooltube_driver_perform_request/should_perform_request.yml +815 -0
  61. data/spec/vcr/active_public_resources/drivers/schooltube_perform_request/should_perform_request.yml +810 -0
  62. data/spec/vcr/active_public_resources/drivers/vimeo_driver_perform_request/should_perform_request.yml +279 -0
  63. data/spec/vcr/active_public_resources/drivers/vimeo_perform_request/should_perform_request.yml +70 -0
  64. data/spec/vcr/active_public_resources/drivers/youtube_driver_perform_request/should_perform_request.yml +212 -0
  65. data/spec/vcr/active_public_resources/drivers/youtube_perform_request/should_perform_request.yml +209 -0
  66. metadata +182 -0
@@ -0,0 +1,122 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.khanacademy.org/api/v1/topic/root
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.khanacademy.org
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Access-Control-Allow-Origin:
26
+ - '*'
27
+ Access-Control-Allow-Credentials:
28
+ - 'true'
29
+ X-Ka-Api-Response:
30
+ - 'true'
31
+ Cache-Control:
32
+ - no-cache
33
+ Set-Cookie:
34
+ - gae_b_id=X2dhZV9iaW5nb19yYW5kb206SDFvTjNBUFl2SDZuOG9jRGVVWUwxZnBnTzF0VkFLdDR2ZlpTTkw0bg==;
35
+ expires=Fri, 21 Nov 2014 17:21:35 GMT; Max-Age=31536000; Path=/
36
+ Vary:
37
+ - Accept-Encoding
38
+ Date:
39
+ - Thu, 21 Nov 2013 17:21:35 GMT
40
+ Server:
41
+ - Google Frontend
42
+ Expires:
43
+ - Thu, 21 Nov 2013 17:21:35 GMT
44
+ Transfer-Encoding:
45
+ - chunked
46
+ body:
47
+ encoding: UTF-8
48
+ string: '{"icon_src": "", "domain_slug": null, "relative_url": null, "web_url":
49
+ "", "ka_url": "http://www.khanacademy.orgNone", "translated_standalone_title":
50
+ "Khan Academy", "translated_title": "Khan Academy", "gplus_url": "", "id":
51
+ "x00000000", "old_key_name": "7SATIJAdRLq1gMbKcjtTmLAbeMSrfYZjJOnqUmQu", "hide":
52
+ true, "title": "Khan Academy", "child_data": [{"kind": "Topic", "id": "x29232c6b"},
53
+ {"kind": "Topic", "id": "x7a488390"}, {"kind": "Topic", "id": "xb92336a2"},
54
+ {"kind": "Topic", "id": "x5ca94af1"}, {"kind": "Topic", "id": "x905db83d"},
55
+ {"kind": "Topic", "id": "x54390c7e"}, {"kind": "Topic", "id": "xffde7c31"},
56
+ {"kind": "Topic", "id": "xd1039e22"}, {"kind": "Topic", "id": "x6a4a5e33"},
57
+ {"kind": "Topic", "id": "xf48da0d3"}, {"kind": "Topic", "id": "xcc477d6b"},
58
+ {"kind": "Topic", "id": "xfbfcb2c7"}, {"kind": "Topic", "id": "x68f6d0db"},
59
+ {"kind": "Topic", "id": "x54f76d4b"}], "children": [{"kind": "Topic", "hide":
60
+ false, "internal_id": "x29232c6b", "title": "New and noteworthy", "url": "http://www.khanacademy.org/new-and-noteworthy",
61
+ "node_slug": "new-and-noteworthy", "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXgyOTIzMmM2Ygw",
62
+ "translated_title": "New and noteworthy", "id": "new-and-noteworthy"}, {"kind":
63
+ "Topic", "hide": false, "internal_id": "x7a488390", "title": "Math", "url":
64
+ "http://www.khanacademy.orgNone", "node_slug": "math", "edit_slug": "", "key":
65
+ "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg3YTQ4ODM5MAw", "translated_title":
66
+ "Math", "id": "math"}, {"kind": "Topic", "hide": false, "internal_id": "xb92336a2",
67
+ "title": "Science ", "url": "http://www.khanacademy.orgNone", "node_slug":
68
+ "science", "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhiOTIzMzZhMgw",
69
+ "translated_title": "Science ", "id": "science"}, {"kind": "Topic", "hide":
70
+ false, "internal_id": "x5ca94af1", "title": "Economics and finance", "url":
71
+ "http://www.khanacademy.orgNone", "node_slug": "economics-finance-domain",
72
+ "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg1Y2E5NGFmMQw",
73
+ "translated_title": "Economics and finance", "id": "economics-finance-domain"},
74
+ {"kind": "Topic", "hide": false, "internal_id": "x905db83d", "title": "Humanities",
75
+ "url": "http://www.khanacademy.orgNone", "node_slug": "humanities", "edit_slug":
76
+ "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg5MDVkYjgzZAw", "translated_title":
77
+ "Humanities", "id": "humanities"}, {"kind": "Topic", "hide": false, "internal_id":
78
+ "x54390c7e", "title": "Partner content", "url": "http://www.khanacademy.orgNone",
79
+ "node_slug": "partner-content", "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg1NDM5MGM3ZQw",
80
+ "translated_title": "Partner content", "id": "partner-content"}, {"kind":
81
+ "Topic", "hide": false, "internal_id": "xffde7c31", "title": "Computer programming",
82
+ "url": "http://www.khanacademy.org/cs", "node_slug": "cs", "edit_slug": "",
83
+ "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhmZmRlN2MzMQw", "translated_title":
84
+ "Computer programming", "id": "cs"}, {"kind": "Topic", "hide": false, "internal_id":
85
+ "xd1039e22", "title": "Talks and interviews", "url": "http://www.khanacademy.org/talks-and-interviews",
86
+ "node_slug": "talks-and-interviews", "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhkMTAzOWUyMgw",
87
+ "translated_title": "Talks and interviews", "id": "talks-and-interviews"},
88
+ {"kind": "Topic", "hide": false, "internal_id": "x6a4a5e33", "title": "Coach
89
+ resources", "url": "http://www.khanacademy.org/coach-res", "node_slug": "coach-res",
90
+ "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg2YTRhNWUzMww",
91
+ "translated_title": "Coach resources", "id": "coach-res"}, {"kind": "Topic",
92
+ "hide": true, "internal_id": "xf48da0d3", "title": "Removed videos (hidden)",
93
+ "url": "http://www.khanacademy.orgNone", "node_slug": "removed-videos", "edit_slug":
94
+ "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhmNDhkYTBkMww", "translated_title":
95
+ "Removed videos (hidden)", "id": "removed-videos"}, {"kind": "Topic", "hide":
96
+ true, "internal_id": "xcc477d6b", "title": "Uncategorized exercises", "url":
97
+ "http://www.khanacademy.org/None", "node_slug": "uncategorized-exercises",
98
+ "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhjYzQ3N2Q2Ygw",
99
+ "translated_title": "Uncategorized exercises", "id": "uncategorized-exercises"},
100
+ {"kind": "Topic", "hide": true, "internal_id": "xfbfcb2c7", "title": "Private
101
+ content", "url": "http://www.khanacademy.org/None", "node_slug": "private",
102
+ "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhmYmZjYjJjNww",
103
+ "translated_title": "Private content", "id": "private"}, {"kind": "Topic",
104
+ "hide": true, "internal_id": "x68f6d0db", "title": "Common Core math", "url":
105
+ "http://www.khanacademy.orgNone", "node_slug": "common-core", "edit_slug":
106
+ "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg2OGY2ZDBkYgw", "translated_title":
107
+ "Common Core math", "id": "common-core"}, {"kind": "Topic", "hide": false,
108
+ "internal_id": "x54f76d4b", "title": "Hour of Code", "url": "http://www.khanacademy.org/hour-of-code",
109
+ "node_slug": "hour-of-code", "edit_slug": "", "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg1NGY3NmQ0Ygw",
110
+ "translated_title": "Hour of Code", "id": "hour-of-code"}], "twitter_url":
111
+ "", "translated_description": "", "deleted_mod_time": "2013-07-13T00:03:08Z",
112
+ "logo_image_url": "", "in_knowledge_map": false, "description": "", "x_pos":
113
+ 0.0, "node_slug": "root", "deleted": false, "facebook_url": "", "backup_timestamp":
114
+ "2013-09-30T18:25:08Z", "render_type": "Root", "background_image_url": "",
115
+ "background_image_caption": "", "assessment_progress_key": "ax00000000", "topic_page_url":
116
+ null, "extended_slug": null, "slug": "root", "tags": [], "kind": "Topic",
117
+ "in_topic_browser": true, "sha": "cd292393092733892a8b6d924ce40d9c7e86e35a",
118
+ "standalone_title": "Khan Academy", "y_pos": 0.0, "current_revision_key":
119
+ "cd292393092733892a8b6d924ce40d9c7e86e35a", "content_kind": "Topic"}'
120
+ http_version:
121
+ recorded_at: Thu, 21 Nov 2013 17:21:35 GMT
122
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,120 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.khanacademy.org/api/v1/topic/programming
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.khanacademy.org
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Access-Control-Allow-Origin:
26
+ - '*'
27
+ Access-Control-Allow-Credentials:
28
+ - 'true'
29
+ X-Ka-Api-Response:
30
+ - 'true'
31
+ Cache-Control:
32
+ - no-cache
33
+ Set-Cookie:
34
+ - gae_b_id=X2dhZV9iaW5nb19yYW5kb206cTNvUHI4aW9Ud1M2d0JGTWxtUFZxSWVvWlBTZVpWRl9SQVA2NmN6WQ==;
35
+ expires=Tue, 02 Dec 2014 20:22:13 GMT; Max-Age=31536000; Path=/
36
+ Vary:
37
+ - Accept-Encoding
38
+ Date:
39
+ - Mon, 02 Dec 2013 20:22:13 GMT
40
+ Server:
41
+ - Google Frontend
42
+ Expires:
43
+ - Mon, 02 Dec 2013 20:22:13 GMT
44
+ Transfer-Encoding:
45
+ - chunked
46
+ body:
47
+ encoding: UTF-8
48
+ string: '{"icon_src": "", "domain_slug": null, "relative_url": "/cs/programming",
49
+ "web_url": "", "ka_url": "http://www.khanacademy.org/cs/programming", "translated_standalone_title":
50
+ "Drawing and animation programming", "translated_title": "Drawing and animation",
51
+ "gplus_url": "", "id": "x05187c3c", "old_key_name": null, "hide": false, "title":
52
+ "Drawing and animation", "child_data": [{"kind": "Topic", "id": "x8edeb601"},
53
+ {"kind": "Topic", "id": "xf53d7aa7"}, {"kind": "Topic", "id": "x8686923b"},
54
+ {"kind": "Topic", "id": "x3312fbc8"}, {"kind": "Topic", "id": "xb0180d93"},
55
+ {"kind": "Topic", "id": "xc4ab8747"}, {"kind": "Topic", "id": "x7323ca45"},
56
+ {"kind": "Topic", "id": "x2f8e35eb"}, {"kind": "Topic", "id": "x54f8c602"},
57
+ {"kind": "Topic", "id": "x611e8e74"}, {"kind": "Topic", "id": "x8d3377f2"},
58
+ {"kind": "Topic", "id": "x9a11a504"}], "children": [{"kind": "Topic", "hide":
59
+ false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg4ZWRlYjYwMQw", "internal_id":
60
+ "x8edeb601", "title": "Intro to programming", "url": "http://www.khanacademy.org/cs/programming/intro-to-programming",
61
+ "translated_title": "Intro to programming", "node_slug": "intro-to-programming",
62
+ "id": "intro-to-programming", "edit_slug": ""}, {"kind": "Topic", "hide":
63
+ false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhmNTNkN2FhNww", "internal_id":
64
+ "xf53d7aa7", "title": "Drawing basics", "url": "http://www.khanacademy.org/cs/programming/drawing-basics",
65
+ "translated_title": "Drawing basics", "node_slug": "drawing-basics", "id":
66
+ "drawing-basics", "edit_slug": ""}, {"kind": "Topic", "hide": false, "key":
67
+ "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg4Njg2OTIzYgw", "internal_id": "x8686923b",
68
+ "title": "Variables", "url": "http://www.khanacademy.org/cs/programming/variables",
69
+ "translated_title": "Variables", "node_slug": "variables", "id": "variables",
70
+ "edit_slug": ""}, {"kind": "Topic", "hide": false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXgzMzEyZmJjOAw",
71
+ "internal_id": "x3312fbc8", "title": "Animation basics", "url": "http://www.khanacademy.org/cs/programming/animation-basics",
72
+ "translated_title": "Animation basics", "node_slug": "animation-basics", "id":
73
+ "animation-basics", "edit_slug": ""}, {"kind": "Topic", "hide": false, "key":
74
+ "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhiMDE4MGQ5Mww", "internal_id": "xb0180d93",
75
+ "title": "Text", "url": "http://www.khanacademy.org/cs/programming/text-basics",
76
+ "translated_title": "Text", "node_slug": "text-basics", "id": "text-basics",
77
+ "edit_slug": ""}, {"kind": "Topic", "hide": false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXhjNGFiODc0Nww",
78
+ "internal_id": "xc4ab8747", "title": "Functions", "url": "http://www.khanacademy.org/cs/programming/functions",
79
+ "translated_title": "Functions", "node_slug": "functions", "id": "functions",
80
+ "edit_slug": ""}, {"kind": "Topic", "hide": false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg3MzIzY2E0NQw",
81
+ "internal_id": "x7323ca45", "title": "Logic and if Statements", "url": "http://www.khanacademy.org/cs/programming/logic-if-statements",
82
+ "translated_title": "Logic and if Statements", "node_slug": "logic-if-statements",
83
+ "id": "logic-if-statements", "edit_slug": ""}, {"kind": "Topic", "hide": false,
84
+ "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXgyZjhlMzVlYgw", "internal_id":
85
+ "x2f8e35eb", "title": "Looping", "url": "http://www.khanacademy.org/cs/programming/looping",
86
+ "translated_title": "Looping", "node_slug": "looping", "id": "looping", "edit_slug":
87
+ ""}, {"kind": "Topic", "hide": false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg1NGY4YzYwMgw",
88
+ "internal_id": "x54f8c602", "title": "Arrays", "url": "http://www.khanacademy.org/cs/programming/arrays",
89
+ "translated_title": "Arrays", "node_slug": "arrays", "id": "arrays", "edit_slug":
90
+ ""}, {"kind": "Topic", "hide": false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg2MTFlOGU3NAw",
91
+ "internal_id": "x611e8e74", "title": "Objects", "url": "http://www.khanacademy.org/cs/programming/objects",
92
+ "translated_title": "Objects", "node_slug": "objects", "id": "objects", "edit_slug":
93
+ ""}, {"kind": "Topic", "hide": false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg4ZDMzNzdmMgw",
94
+ "internal_id": "x8d3377f2", "title": "Becoming a better programmer", "url":
95
+ "http://www.khanacademy.org/cs/programming/good-practices", "translated_title":
96
+ "Becoming a better programmer", "node_slug": "good-practices", "id": "good-practices",
97
+ "edit_slug": ""}, {"kind": "Topic", "hide": false, "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXg5YTExYTUwNAw",
98
+ "internal_id": "x9a11a504", "title": "Object-Oriented Design", "url": "http://www.khanacademy.org/cs/programming/object-oriented",
99
+ "translated_title": "Object-Oriented Design", "node_slug": "object-oriented",
100
+ "id": "object-oriented", "edit_slug": ""}], "twitter_url": "", "translated_description":
101
+ "Programming is how we tell computers what we want them to do, like to build
102
+ iPhone apps, video games, or websites like this one. At Khan Academy, you
103
+ can use our programming environment to build graphics, animations, and interactive
104
+ visualizations. If you''ve never programmed before, follow these tutorials
105
+ to learn how!", "deleted_mod_time": "2013-07-21T23:11:33Z", "logo_image_url":
106
+ "", "in_knowledge_map": false, "description": "Programming is how we tell
107
+ computers what we want them to do, like to build iPhone apps, video games,
108
+ or websites like this one. At Khan Academy, you can use our programming environment
109
+ to build graphics, animations, and interactive visualizations. If you''ve
110
+ never programmed before, follow these tutorials to learn how!", "x_pos": 0.0,
111
+ "node_slug": "programming", "deleted": false, "facebook_url": "", "backup_timestamp":
112
+ "2013-09-24T00:32:46Z", "render_type": "Topic", "background_image_url": "",
113
+ "background_image_caption": "", "assessment_progress_key": "ax05187c3c", "topic_page_url":
114
+ "/cs/programming", "extended_slug": "cs/programming", "slug": "programming",
115
+ "tags": [], "kind": "Topic", "in_topic_browser": true, "sha": "00c60c50a3854503df06d3fa7280577c95a3a943",
116
+ "standalone_title": "Drawing and animation programming", "y_pos": 0.0, "current_revision_key":
117
+ "00c60c50a3854503df06d3fa7280577c95a3a943", "content_kind": "Topic"}'
118
+ http_version:
119
+ recorded_at: Mon, 02 Dec 2013 20:22:13 GMT
120
+ recorded_with: VCR 2.7.0
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.khanacademy.org/api/v1/topic/cs
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.khanacademy.org
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Access-Control-Allow-Origin:
26
+ - '*'
27
+ Access-Control-Allow-Credentials:
28
+ - 'true'
29
+ X-Ka-Api-Response:
30
+ - 'true'
31
+ Cache-Control:
32
+ - no-cache
33
+ Set-Cookie:
34
+ - gae_b_id=X2dhZV9iaW5nb19yYW5kb206TzltRzlnbUdJNXdibXpnUUVTM1Z5TldmUWtNSWUtQzVDaHlTY3MwOQ==;
35
+ expires=Tue, 02 Dec 2014 20:22:13 GMT; Max-Age=31536000; Path=/
36
+ Vary:
37
+ - Accept-Encoding
38
+ Date:
39
+ - Mon, 02 Dec 2013 20:22:13 GMT
40
+ Server:
41
+ - Google Frontend
42
+ Expires:
43
+ - Mon, 02 Dec 2013 20:22:13 GMT
44
+ Transfer-Encoding:
45
+ - chunked
46
+ body:
47
+ encoding: UTF-8
48
+ string: '{"icon_src": "", "domain_slug": null, "relative_url": "/cs", "web_url":
49
+ "", "ka_url": "http://www.khanacademy.org/cs", "translated_standalone_title":
50
+ "Computer programming", "translated_title": "Computer programming", "gplus_url":
51
+ "", "id": "xffde7c31", "old_key_name": null, "hide": false, "title": "Computer
52
+ programming", "child_data": [{"kind": "Topic", "id": "x05187c3c"}, {"kind":
53
+ "Topic", "id": "x3ae0237e"}], "children": [{"kind": "Topic", "hide": false,
54
+ "key": "ag5zfmtoYW4tYWNhZGVteXIUCxIFVG9waWMiCXgwNTE4N2MzYww", "internal_id":
55
+ "x05187c3c", "title": "Drawing and animation", "url": "http://www.khanacademy.org/cs/programming",
56
+ "translated_title": "Drawing and animation", "node_slug": "programming", "id":
57
+ "programming", "edit_slug": ""}], "twitter_url": "", "translated_description":
58
+ "Learn the fundamentals of programming on the Khan Academy Computer Science
59
+ platform. Explore programs made by others. Write your own programs and share
60
+ them!", "deleted_mod_time": "2013-07-21T23:11:34Z", "logo_image_url": "",
61
+ "in_knowledge_map": false, "description": "Learn the fundamentals of programming
62
+ on the Khan Academy Computer Science platform. Explore programs made by others.
63
+ Write your own programs and share them!", "x_pos": 0.0, "node_slug": "cs",
64
+ "deleted": false, "facebook_url": "", "backup_timestamp": "2013-09-06T16:25:14Z",
65
+ "render_type": "Subject", "background_image_url": "", "background_image_caption":
66
+ "", "assessment_progress_key": "axffde7c31", "topic_page_url": "/cs", "extended_slug":
67
+ "cs", "slug": "cs", "tags": [], "kind": "Topic", "in_topic_browser": true,
68
+ "sha": "d0852f23fe04ed2f9c09ad5a7d1bc75cc258b50d", "standalone_title": "Computer
69
+ programming", "y_pos": 0.0, "current_revision_key": "d0852f23fe04ed2f9c09ad5a7d1bc75cc258b50d",
70
+ "content_kind": "Topic"}'
71
+ http_version:
72
+ recorded_at: Mon, 02 Dec 2013 20:22:13 GMT
73
+ recorded_with: VCR 2.7.0