rtunesu 0.2.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. data/.gitignore +3 -0
  2. data/History.txt +0 -5
  3. data/README.txt +2 -2
  4. data/Rakefile +15 -2
  5. data/VERSION +1 -0
  6. data/lib/rtunesu/connection.rb +152 -54
  7. data/lib/rtunesu/document.rb +21 -26
  8. data/lib/rtunesu/entities/course.rb +4 -13
  9. data/lib/rtunesu/entities/division.rb +5 -12
  10. data/lib/rtunesu/entities/external_feed.rb +14 -0
  11. data/lib/rtunesu/entities/group.rb +5 -14
  12. data/lib/rtunesu/entities/permission.rb +1 -5
  13. data/lib/rtunesu/entities/section.rb +15 -11
  14. data/lib/rtunesu/entities/site.rb +6 -13
  15. data/lib/rtunesu/entities/template.rb +4 -0
  16. data/lib/rtunesu/entities/theme.rb +3 -15
  17. data/lib/rtunesu/entities/track.rb +12 -27
  18. data/lib/rtunesu/entity.rb +185 -74
  19. data/lib/rtunesu/log.rb +69 -0
  20. data/lib/rtunesu/subentities.rb +60 -0
  21. data/lib/rtunesu/user.rb +3 -1
  22. data/lib/rtunesu/version.rb +2 -2
  23. data/lib/rtunesu.rb +11 -6
  24. data/lib/show_tree.xml +7 -0
  25. data/spec/connection_spec.rb +6 -30
  26. data/spec/document_spec.rb +82 -8
  27. data/spec/entities/course_spec.rb +13 -40
  28. data/spec/entities/division_spec.rb +13 -3
  29. data/spec/entities/external_feed_spec.rb +21 -0
  30. data/spec/entities/group_spec.rb +14 -3
  31. data/spec/entities/permission_spec.rb +12 -3
  32. data/spec/entities/section_spec.rb +32 -3
  33. data/spec/entities/site_spec.rb +16 -3
  34. data/spec/entities/track_spec.rb +32 -3
  35. data/spec/entity_spec.rb +147 -86
  36. data/spec/fixtures/requests/create_course.xml +17 -0
  37. data/spec/fixtures/requests/create_division.xml +11 -0
  38. data/spec/fixtures/requests/create_group.xml +11 -0
  39. data/spec/fixtures/requests/create_section.xml +11 -0
  40. data/spec/fixtures/requests/delete_course.xml +8 -0
  41. data/spec/fixtures/requests/delete_group.xml +8 -0
  42. data/spec/fixtures/requests/delete_section.txt +8 -0
  43. data/spec/fixtures/requests/show_course.xml +8 -0
  44. data/spec/fixtures/requests/show_group.xml +8 -0
  45. data/spec/fixtures/requests/show_section.xml +8 -0
  46. data/spec/fixtures/requests/update_course.xml +10 -0
  47. data/spec/fixtures/requests/update_group.xml +9 -0
  48. data/spec/fixtures/requests/update_section.txt +10 -0
  49. data/spec/fixtures/responses/failure/create_course.xml +5 -0
  50. data/spec/fixtures/responses/failure/create_division.xml +5 -0
  51. data/spec/fixtures/responses/failure/create_group.xml +5 -0
  52. data/spec/fixtures/responses/failure/create_section.xml +5 -0
  53. data/spec/fixtures/responses/failure/delete_group.xml +5 -0
  54. data/spec/fixtures/responses/failure/show_course.xml +11 -0
  55. data/spec/fixtures/responses/failure/show_division.xml +11 -0
  56. data/spec/fixtures/responses/failure/show_group.xml +11 -0
  57. data/spec/fixtures/responses/failure/show_section.xml +11 -0
  58. data/spec/fixtures/responses/failure/show_site.xml +11 -0
  59. data/spec/fixtures/responses/failure/update_section.txt +5 -0
  60. data/spec/fixtures/responses/success/create_course.xml +5 -0
  61. data/spec/fixtures/responses/success/create_division.xml +5 -0
  62. data/spec/fixtures/responses/success/create_group.xml +5 -0
  63. data/spec/fixtures/responses/success/create_section.xml +5 -0
  64. data/spec/fixtures/responses/success/delete_course.xml +4 -0
  65. data/spec/fixtures/responses/success/delete_division.xml +4 -0
  66. data/spec/fixtures/responses/success/delete_group.xml +4 -0
  67. data/spec/fixtures/responses/success/delete_section.txt +4 -0
  68. data/spec/fixtures/responses/success/delete_section.xml +4 -0
  69. data/spec/fixtures/responses/success/show_course.xml +393 -0
  70. data/spec/fixtures/responses/success/show_division.xml +393 -0
  71. data/spec/fixtures/responses/success/show_group.xml +137 -0
  72. data/spec/fixtures/responses/success/show_section.xml +152 -0
  73. data/spec/fixtures/responses/success/show_site.xml +393 -0
  74. data/spec/fixtures/responses/success/update_course.xml +4 -0
  75. data/spec/fixtures/responses/success/update_division.xml +4 -0
  76. data/spec/fixtures/responses/success/update_group.xml +4 -0
  77. data/spec/fixtures/responses/success/update_section.txt +4 -0
  78. data/spec/fixtures/responses/success/update_section.xml +4 -0
  79. data/spec/fixtures/responses/success/update_site.xml +4 -0
  80. data/spec/spec_helper.rb +72 -7
  81. data/spec/token_generation_spec.rb +23 -0
  82. data/spec/user_spec.rb +3 -3
  83. metadata +81 -76
  84. data/Manifest.txt +0 -77
  85. data/config/hoe.rb +0 -76
  86. data/config/requirements.rb +0 -15
  87. data/lib/multipart.rb +0 -53
  88. data/spec/documents/add_spec.rb +0 -41
  89. data/spec/documents/delete_spec.rb +0 -30
  90. data/spec/documents/merge_spec.rb +0 -30
  91. data/spec/documents/show_tree_spec.rb +0 -16
  92. data/spec/fixtures/add_course.xml +0 -26
  93. data/spec/fixtures/add_division.xml +0 -26
  94. data/spec/fixtures/add_group.xml +0 -27
  95. data/spec/fixtures/add_permission.xml +0 -12
  96. data/spec/fixtures/add_section.xml +0 -34
  97. data/spec/fixtures/add_track.xml +0 -19
  98. data/spec/fixtures/delete_course.xml +0 -8
  99. data/spec/fixtures/delete_division.xml +0 -8
  100. data/spec/fixtures/delete_group.xml +0 -8
  101. data/spec/fixtures/delete_permission.xml +0 -9
  102. data/spec/fixtures/delete_section.xml +0 -8
  103. data/spec/fixtures/delete_track.xml +0 -7
  104. data/spec/fixtures/merge_course.xml +0 -38
  105. data/spec/fixtures/merge_division.xml +0 -47
  106. data/spec/fixtures/merge_group.xml +0 -29
  107. data/spec/fixtures/merge_permission.xml +0 -12
  108. data/spec/fixtures/merge_section.xml +0 -36
  109. data/spec/fixtures/merge_site.xml +0 -31
  110. data/spec/fixtures/merge_track.xml +0 -18
  111. data/spec/fixtures/requests/add_coures_request.xml +0 -0
  112. data/spec/fixtures/show_tree.xml +0 -273
  113. data/spec/fixtures/update_group.xml +0 -7
  114. data/tasks/deployment.rake +0 -34
  115. data/tasks/website.rake +0 -17
  116. data/website/index.html +0 -54
  117. data/website/index.txt +0 -7
  118. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  119. data/website/stylesheets/screen.css +0 -138
  120. data/website/template.html.erb +0 -48
@@ -1,273 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <ITunesUResponse>
3
- <Version>1.1.1</Version>
4
- <Site>
5
- <Name>Cupertino University</Name>
6
- <Handle>27361720</Handle>
7
- <AllowSubscription>true</AllowSubscription>
8
- <AggregateFileSize>2730354089</AggregateFileSize>
9
- <ThemeHandle>1133133900</ThemeHandle>
10
- <Permission>
11
- <Credential>Authenticated@urn:mace:itunesu.com:sites:
12
- adc.education.apple.com</Credential>
13
- <Access>Download</Access>
14
- </Permission>
15
- <Permission>
16
- <Credential>Administrator@urn:mace:itunesu.com:sites:
17
- adc.education.apple.com</Credential>
18
- <Access>Edit</Access>
19
- </Permission>
20
- <Permission>
21
- <Credential>All@urn:mace:itunesu.com:sites:
22
- adc.education.apple.com</Credential>
23
- <Access>No Access</Access>
24
- </Permission>
25
- <Permission>
26
- <Credential>Unauthenticated@urn:mace:itunesu.com:sites:
27
- adc.education.apple.com</Credential>
28
- <Access>No Access</Access>
29
- </Permission>
30
- <Permission>
31
- <Credential>Role@urn:mace:itunesu.com</Credential>
32
- <Access>No Access</Access>
33
- </Permission>
34
- <Section>
35
- <Name>Cupertino University Courses</Name>
36
- <Handle>27362003</Handle>
37
- <Course>
38
- <Name>ENG 350: Love and Despair in Poetry</Name>
39
- <Handle>27362036</Handle>
40
- <Instructor>Instructor: Jason Edison</Instructor>
41
- <Description>Explore the depths of human emotion through
42
- the power of verse.</Description>
43
- <Permission>
44
- <Credential>Unauthenticated@urn:mace:itunesu.com:sites:
45
- adc.education.apple.com</Credential>
46
- <Access>No Access</Access>
47
- </Permission>
48
- <CoverImage>
49
- <Handle>1312377200</Handle>
50
- <Shared>true</Shared>
51
- </CoverImage>
52
- <BannerImage>
53
- <Handle>28248104</Handle>
54
- <Shared>true</Shared>
55
- </BannerImage>
56
- <ThumbnailImage>
57
- <Handle>28248105</Handle>
58
- <Shared>true</Shared>
59
- </ThumbnailImage>
60
- <Group>
61
- <Name>Love</Name>
62
- <Handle>1250607352</Handle>
63
- <Permission>
64
- <Credential>Student@urn:mace:itunesu.com:sites:
65
- cupertino.edu</Credential>
66
- <Access>Download</Access>
67
- </Permission>
68
- <Track>
69
- <Name>Sonnet 55</Name>
70
- <Handle>1250054257</Handle>
71
- <Kind>song</Kind>
72
- <TrackNumber>0</TrackNumber>
73
- <DiscNumber>1</DiscNumber>
74
- <DurationMilliseconds>75000</DurationMilliseconds>
75
- <AlbumName>LiteralSystems.com Audio Books</AlbumName>
76
- <ArtistName>William Shakespeare</ArtistName>
77
- <DownloadURL>https://deimos.apple.com/WebObjects/
78
- Core.woa/DownloadTrack/adc.education.apple.com.
79
- 27362036.01250607352.1250054257</DownloadURL>
80
- <File>
81
- <Handle>1184601703</Handle>
82
- <Shared>true</Shared>
83
- </File>
84
- <Comment>LiteralSystems.com (c) 2004.
85
- Licensed to the public under
86
- http://creativecommons.org/licenses/by-nd-nc/1.0/</Comment>
87
- <CategoryCode>102108</CategoryCode>
88
- </Track>
89
- <AggregateFileSize>3865860</AggregateFileSize>
90
- </Group>
91
- <Group>
92
- <Name>Despair</Name>
93
- <Handle>1137655816</Handle>
94
- <GroupType>Feed</GroupType>
95
- <ExternalFeed>
96
- <URL>http://www.itunesu.edu/feedpath.xml</URL>
97
- <OwnerEmail>john.doe@email.com</OwnerEmail>
98
- <PollingInterval>Daily</PollingInterval>
99
- </ExternalFeed>
100
- </Group>
101
- <Group>
102
- <Name>Drop Box</Name>
103
- <Handle>1432712681</Handle>
104
- </Group>
105
- <Group>
106
- <Name>Class Podcast</Name>
107
- <Handle>1434954191</Handle>
108
- </Group>
109
- <AggregateFileSize>29094280</AggregateFileSize>
110
- <LinkCollectionSet>
111
- <LinkCollection>
112
- <Name>Links</Name>
113
- <Handle>16409</Handle>
114
- <FeedURL>https://deimos.apple.com/WebObjects/Core.woa/LinkFeed/
115
- adc.education.apple.com.27362036.016408.016409</FeedURL>
116
- </LinkCollection>
117
- </LinkCollectionSet>
118
- </Course>
119
- <Course>
120
- <Name>COMM 410: Digital Storytelling</Name>
121
- <Handle>27362058</Handle>
122
- <Instructor>Marco Torres</Instructor>
123
- <Description>Learn the process of storyboarding,
124
- production, and editing to communicate effectively
125
- in various digital mediums.</Description>
126
- <CoverImage>
127
- <Handle>1312165622</Handle>
128
- <Shared>true</Shared>
129
- </CoverImage>
130
- <BannerImage>
131
- <Handle>28970712</Handle>
132
- <Shared>true</Shared>
133
- </BannerImage>
134
- <ThumbnailImage>
135
- <Handle>28970713</Handle>
136
- <Shared>true</Shared>
137
- </ThumbnailImage>
138
- <Group>
139
- <Name>Video</Name>
140
- <Handle>94505460</Handle>
141
- <Track>
142
- <Name>Air Jesse</Name>
143
- <Handle>33064925</Handle>
144
- <Kind>feature-movie</Kind>
145
- <DiscNumber>1</DiscNumber>
146
- <DurationMilliseconds>200000</DurationMilliseconds>
147
- <AlbumName>Digital Storytelling</AlbumName>
148
- <ArtistName>SFETT</ArtistName>
149
- <DownloadURL>https://deimos.apple.com/WebObjects/
150
- Core.woa/DownloadTrack/adc.education.apple.com.
151
- 27362058.094505460.33064925</DownloadURL>
152
- <File>
153
- <Handle>33064924</Handle>
154
- <Shared>true</Shared>
155
- </File>
156
- <CategoryCode>101104</CategoryCode>
157
- </Track>
158
- <AggregateFileSize>61419318</AggregateFileSize>
159
- </Group>
160
- <AggregateFileSize>61449281</AggregateFileSize>
161
- </Course>
162
- <AggregateFileSize>2730256155</AggregateFileSize>
163
- </Section>
164
- <Templates>
165
- <Name>Templates</Name>
166
- <Handle>1137492150</Handle>
167
- <Course>
168
- <Name>Standard Course</Name>
169
- <Handle>1194148486</Handle>
170
- <ShortName>Standard Course</ShortName>
171
- <Permission>
172
- <Credential>Authenticated@urn:mace:itunesu.com:sites:
173
- adc.education.apple.com</Credential>
174
- <Access>No Access</Access>
175
- </Permission>
176
- <CoverImage>
177
- <Handle>1194148492</Handle>
178
- <Shared>true</Shared>
179
- </CoverImage>
180
- <BannerImage>
181
- <Handle>1194148491</Handle>
182
- <Shared>true</Shared>
183
- </BannerImage>
184
- <ThumbnailImage>
185
- <Handle>1194148493</Handle>
186
- <Shared>true</Shared>
187
- </ThumbnailImage>
188
- <Group>
189
- <Name>Audio</Name>
190
- <Handle>1194148489</Handle>
191
- </Group>
192
- <Group>
193
- <Name>Video</Name>
194
- <Handle>1194148490</Handle>
195
- </Group>
196
- <AggregateFileSize>47369</AggregateFileSize>
197
- <LinkCollectionSet>
198
- <LinkCollection>
199
- <Name>Title</Name>
200
- <Handle>17955</Handle>
201
- <FeedURL>https://deimos.apple.com/WebObjects/Core.woa/LinkFeed/
202
- adc.education.apple.com.1194148486.017954.017955</FeedURL>
203
- </LinkCollection>
204
- </LinkCollectionSet>
205
- </Course>
206
- <AggregateFileSize>47369</AggregateFileSize>
207
- </Templates>
208
- <CoverImage>
209
- <Handle>1138049026</Handle>
210
- <Shared>true</Shared>
211
- </CoverImage>
212
- <BannerImage>
213
- <Handle>27361941</Handle>
214
- <Shared>true</Shared>
215
- </BannerImage>
216
- <ThumbnailImage>
217
- <Handle>1138049027</Handle>
218
- <Shared>true</Shared>
219
- </ThumbnailImage>
220
- <Theme>
221
- <Name>iTunes Original</Name>
222
- <Handle>1133839107</Handle>
223
- <BackgroundColor>b7defc</BackgroundColor>
224
- <LineColor>000000</LineColor>
225
- <LinkArrowColor>000000</LinkArrowColor>
226
- <LinkBackgroundColor>ffffff</LinkBackgroundColor>
227
- <LinkBackgroundColorAlpha>50</LinkBackgroundColorAlpha>
228
- <LinkBoxColor>3366cc</LinkBoxColor>
229
- <LinkTextColor>000000</LinkTextColor>
230
- <LinkTitleColor>ffffff</LinkTitleColor>
231
- <LoginURL>http://deimos.apple.com/adc</LoginURL>
232
- <RegularTextColor>000000</RegularTextColor>
233
- <TitleTextColor>000000</TitleTextColor>
234
- <TimeFormat>h:mm:ss a</TimeFormat>
235
- <DateFormat>E MMM d, yyyy</DateFormat>
236
- </Theme>
237
- <Theme>
238
- <Name>Custom</Name>
239
- <Handle>1133297749</Handle>
240
- <BackgroundColor>ffffff</BackgroundColor>
241
- <LineColor>cccccc</LineColor>
242
- <LinkArrowColor>000000</LinkArrowColor>
243
- <LinkBackgroundColor>000000</LinkBackgroundColor>
244
- <LinkBackgroundColorAlpha>12</LinkBackgroundColorAlpha>
245
- <LinkBoxColor>000066</LinkBoxColor>
246
- <LinkTextColor>000000</LinkTextColor>
247
- <LinkTitleColor>ffffff</LinkTitleColor>
248
- <LoginURL>http://deimos.apple.com/adc</LoginURL>
249
- <RegularTextColor>333333</RegularTextColor>
250
- <TitleTextColor>000000</TitleTextColor>
251
- <TimeFormat>h:mm:ss a</TimeFormat>
252
- <DateFormat>E MMM d, yyyy</DateFormat>
253
- </Theme>
254
- <LinkCollectionSet>
255
- <LinkCollection>
256
- <Name>Links</Name>
257
- <Handle>16407</Handle>
258
- <FeedURL>https://deimos.apple.com/WebObjects/Core.woa/LinkFeed/adc.education.apple.com.016406.016407</FeedURL>
259
- </LinkCollection>
260
- </LinkCollectionSet>
261
- <LoginURL>http://deimos.apple.com/adc</LoginURL>
262
- </Site>
263
- <Reference>
264
- <Category>
265
- <Code>102108</Code>
266
- <Name>Fine Arts - Theater</Name>
267
- </Category>
268
- <Category>
269
- <Code>101104</Code>
270
- <Name>Engineering - Environmental</Name>
271
- </Category>
272
- </Reference>
273
- </ITunesUResponse>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <ITunesUDocument>
3
- <Version>1.1.1</Version>
4
- <UpdateGroup>
5
- <GroupHandle>grouphandle value</GroupHandle>
6
- </UpdateGroup>
7
- </ITunesUDocument>
@@ -1,34 +0,0 @@
1
- desc 'Release the website and new gem version'
2
- task :deploy => [:check_version, :website, :release] do
3
- puts "Remember to create SVN tag:"
4
- puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
5
- "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
6
- puts "Suggested comment:"
7
- puts "Tagging release #{CHANGES}"
8
- end
9
-
10
- desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
11
- task :local_deploy => [:website_generate, :install_gem]
12
-
13
- task :check_version do
14
- unless ENV['VERSION']
15
- puts 'Must pass a VERSION=x.y.z release version'
16
- exit
17
- end
18
- unless ENV['VERSION'] == VERS
19
- puts "Please update your version.rb to match the release version, currently #{VERS}"
20
- exit
21
- end
22
- end
23
-
24
- desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
25
- task :install_gem_no_doc => [:clean, :package] do
26
- sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
27
- end
28
-
29
- namespace :manifest do
30
- desc 'Recreate Manifest.txt to include ALL files'
31
- task :refresh do
32
- `rake check_manifest | patch -p0 > Manifest.txt`
33
- end
34
- end
data/tasks/website.rake DELETED
@@ -1,17 +0,0 @@
1
- desc 'Generate website files'
2
- task :website_generate => :ruby_env do
3
- (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
4
- sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
5
- end
6
- end
7
-
8
- desc 'Upload website files to rubyforge'
9
- task :website_upload do
10
- host = "#{rubyforge_username}@rubyforge.org"
11
- remote_dir = "/var/www/gforge-projects/#{PATH}/"
12
- local_dir = 'website'
13
- sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
14
- end
15
-
16
- desc 'Generate and upload website files'
17
- task :website => [:website_generate, :website_upload, :publish_docs]
data/website/index.html DELETED
@@ -1,54 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
- <title>
8
- rtunesu
9
- </title>
10
- <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
- <script type="text/javascript">
15
- window.onload = function() {
16
- settings = {
17
- tl: { radius: 10 },
18
- tr: { radius: 10 },
19
- bl: { radius: 10 },
20
- br: { radius: 10 },
21
- antiAlias: true,
22
- autoPad: true,
23
- validTags: ["div"]
24
- }
25
- var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
- versionBox.applyCornersToAll();
27
- }
28
- </script>
29
- </head>
30
- <body>
31
- <div id="main">
32
-
33
- <h1>rtunesu</h1>
34
- <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rtunesu"; return false'>
35
- <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/rtunesu" class="numbers">0.2.3</a>
37
- </div>
38
- <h2>Code
39
- RTunesU is hosted on github: <a href="http://github.com/trek/rtunesu/tree/master">http://github.com/trek/rtunesu/tree/master</a></h2>
40
-
41
-
42
- <h2>Installing
43
- RTunesU can be installed via rubygems with
44
- gem install rtunesu</h2>
45
- <p class="coda">
46
- <a href="FIXME email">FIXME full name</a>, 1st August 2008<br>
47
- Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
48
- </p>
49
- </div>
50
-
51
- <!-- insert site tracking codes here, like Google Urchin -->
52
-
53
- </body>
54
- </html>
data/website/index.txt DELETED
@@ -1,7 +0,0 @@
1
- h1. rtunesu
2
- h2. Code
3
- RTunesU is hosted on github: "http://github.com/trek/rtunesu/tree/master":http://github.com/trek/rtunesu/tree/master
4
-
5
- h2. Installing
6
- RTunesU can be installed via rubygems with
7
- gem install rtunesu