active_public_resources 0.0.2

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 (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