rtunesu 0.2.1

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 (78) hide show
  1. data/History.txt +4 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +77 -0
  4. data/README.txt +38 -0
  5. data/Rakefile +4 -0
  6. data/config/hoe.rb +75 -0
  7. data/config/requirements.rb +15 -0
  8. data/lib/multipart.rb +53 -0
  9. data/lib/rtunesu/connection.rb +111 -0
  10. data/lib/rtunesu/document.rb +84 -0
  11. data/lib/rtunesu/entities/course.rb +8 -0
  12. data/lib/rtunesu/entities/division.rb +16 -0
  13. data/lib/rtunesu/entities/group.rb +8 -0
  14. data/lib/rtunesu/entities/permission.rb +7 -0
  15. data/lib/rtunesu/entities/section.rb +15 -0
  16. data/lib/rtunesu/entities/site.rb +7 -0
  17. data/lib/rtunesu/entities/theme.rb +4 -0
  18. data/lib/rtunesu/entities/track.rb +13 -0
  19. data/lib/rtunesu/entity.rb +154 -0
  20. data/lib/rtunesu/user.rb +26 -0
  21. data/lib/rtunesu/version.rb +9 -0
  22. data/lib/rtunesu.rb +25 -0
  23. data/script/console +10 -0
  24. data/script/destroy +14 -0
  25. data/script/generate +14 -0
  26. data/script/txt2html +82 -0
  27. data/setup.rb +1585 -0
  28. data/spec/connection_spec.rb +53 -0
  29. data/spec/document_spec.rb +16 -0
  30. data/spec/documents/add_spec.rb +41 -0
  31. data/spec/documents/delete_spec.rb +30 -0
  32. data/spec/documents/merge_spec.rb +30 -0
  33. data/spec/documents/show_tree_spec.rb +16 -0
  34. data/spec/entities/course_spec.rb +47 -0
  35. data/spec/entities/division_spec.rb +8 -0
  36. data/spec/entities/group_spec.rb +8 -0
  37. data/spec/entities/permission_spec.rb +8 -0
  38. data/spec/entities/section_spec.rb +8 -0
  39. data/spec/entities/site_spec.rb +8 -0
  40. data/spec/entities/track_spec.rb +8 -0
  41. data/spec/entity_spec.rb +108 -0
  42. data/spec/fixtures/add_course.xml +26 -0
  43. data/spec/fixtures/add_division.xml +26 -0
  44. data/spec/fixtures/add_group.xml +27 -0
  45. data/spec/fixtures/add_permission.xml +12 -0
  46. data/spec/fixtures/add_section.xml +34 -0
  47. data/spec/fixtures/add_track.xml +19 -0
  48. data/spec/fixtures/delete_course.xml +8 -0
  49. data/spec/fixtures/delete_division.xml +8 -0
  50. data/spec/fixtures/delete_group.xml +8 -0
  51. data/spec/fixtures/delete_permission.xml +9 -0
  52. data/spec/fixtures/delete_section.xml +8 -0
  53. data/spec/fixtures/delete_track.xml +7 -0
  54. data/spec/fixtures/merge_course.xml +38 -0
  55. data/spec/fixtures/merge_division.xml +47 -0
  56. data/spec/fixtures/merge_group.xml +29 -0
  57. data/spec/fixtures/merge_permission.xml +12 -0
  58. data/spec/fixtures/merge_section.xml +36 -0
  59. data/spec/fixtures/merge_site.xml +31 -0
  60. data/spec/fixtures/merge_track.xml +18 -0
  61. data/spec/fixtures/requests/add_coures_request.xml +0 -0
  62. data/spec/fixtures/responses/generic_entity_response.xml +17 -0
  63. data/spec/fixtures/responses/show_tree_course.xml +676 -0
  64. data/spec/fixtures/show_tree.xml +273 -0
  65. data/spec/fixtures/update_group.xml +7 -0
  66. data/spec/spec.opts +1 -0
  67. data/spec/spec_helper.rb +10 -0
  68. data/spec/user_spec.rb +18 -0
  69. data/tasks/deployment.rake +34 -0
  70. data/tasks/environment.rake +7 -0
  71. data/tasks/rspec.rake +21 -0
  72. data/tasks/website.rake +17 -0
  73. data/website/index.html +141 -0
  74. data/website/index.txt +83 -0
  75. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  76. data/website/stylesheets/screen.css +138 -0
  77. data/website/template.html.erb +48 -0
  78. metadata +144 -0
@@ -0,0 +1,273 @@
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>
@@ -0,0 +1,7 @@
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>
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,10 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ gem 'rspec'
6
+ require 'spec'
7
+ end
8
+
9
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
10
+ require 'rtunesu'
data/spec/user_spec.rb ADDED
@@ -0,0 +1,18 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+ include RTunesU
3
+
4
+ describe User do
5
+ before do
6
+ @user = User.new(41, 'pietrekg', 'Trek', 'pietrekg@umich.edu')
7
+ @user.credentials = ["Administrator@urn:mace:itunesu.com:sites:example.edu"]
8
+ end
9
+
10
+ it 'should convert to a properly formatted identity string' do
11
+ @user.to_identity_string.should eql('"Trek" <pietrekg@umich.edu> (pietrekg) [41]')
12
+ end
13
+
14
+ it 'should convert to a properly formatted credential string' do
15
+ @user.to_credential_string.should eql('Administrator@urn:mace:itunesu.com:sites:example.edu')
16
+ end
17
+
18
+ end
@@ -0,0 +1,34 @@
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
@@ -0,0 +1,7 @@
1
+ task :ruby_env do
2
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
3
+ "jruby"
4
+ else
5
+ "ruby"
6
+ end unless defined? RUBY_APP
7
+ end
data/tasks/rspec.rake ADDED
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/models"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
@@ -0,0 +1,17 @@
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]
@@ -0,0 +1,141 @@
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.1</a>
37
+ </div>
38
+ <h1>&#x2192; &#8216;rtunesu&#8217;</h1>
39
+
40
+
41
+ <h2>What</h2>
42
+
43
+
44
+ <h2>Installing</h2>
45
+
46
+
47
+ <p><pre class='syntax'><span class="ident">sudo</span> <span class="ident">gem</span> <span class="ident">install</span> <span class="ident">rtunesu</span></pre></p>
48
+
49
+
50
+ <h2>The basics</h2>
51
+
52
+
53
+ <h2>Demonstration of usage</h2>
54
+
55
+
56
+ <h2>Forum</h2>
57
+
58
+
59
+ <p><a href="http://groups.google.com/group/rtunesu">http://groups.google.com/group/rtunesu</a></p>
60
+
61
+
62
+ <p><span class="caps">TODO</span> &#8211; create Google Group &#8211; rtunesu</p>
63
+
64
+
65
+ <h2>How to submit patches</h2>
66
+
67
+
68
+ <p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people&#8217;s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups">8b: Submit patch to Google Groups</a>, use the Google Group above.</p>
69
+
70
+
71
+ <p><span class="caps">TODO</span> &#8211; pick <span class="caps">SVN</span> or Git instructions</p>
72
+
73
+
74
+ <p>The trunk repository is <code>svn://rubyforge.org/var/svn/rtunesu/trunk</code> for anonymous access.</p>
75
+
76
+
77
+ <p><span class="caps">OOOORRRR</span></p>
78
+
79
+
80
+ <p>You can fetch the source from either:</p>
81
+
82
+
83
+ <ul>
84
+ <li>rubyforge: <span class="caps">MISSING IN ACTION</span></li>
85
+ </ul>
86
+
87
+
88
+ <p><span class="caps">TODO</span> &#8211; You can not created a RubyForge project, OR have not run <code>rubyforge config</code>
89
+ yet to refresh your local rubyforge data with this projects&#8217; id information.</p>
90
+
91
+
92
+ <p>When you do this, this message will magically disappear!</p>
93
+
94
+
95
+ <p>Or you can hack website/index.txt and make it all go away!!</p>
96
+
97
+
98
+ <ul>
99
+ <li>github: <a href="http://github.com/GITHUB_USERNAME/rtunesu/tree/master">http://github.com/GITHUB_USERNAME/rtunesu/tree/master</a></li>
100
+ </ul>
101
+
102
+
103
+ <pre>git clone git://github.com/GITHUB_USERNAME/rtunesu.git</pre>
104
+
105
+ <p><span class="caps">TODO</span> &#8211; add &#8220;github_username: username&#8221; to ~/.rubyforge/user-config.yml and newgem will reuse it for future projects.</p>
106
+
107
+
108
+ <ul>
109
+ <li>gitorious: <a href="git://gitorious.org/rtunesu/mainline.git">git://gitorious.org/rtunesu/mainline.git</a></li>
110
+ </ul>
111
+
112
+
113
+ <pre>git clone git://gitorious.org/rtunesu/mainline.git</pre>
114
+
115
+ <h3>Build and test instructions</h3>
116
+
117
+
118
+ <pre>cd rtunesu
119
+ rake test
120
+ rake install_gem</pre>
121
+
122
+ <h2>License</h2>
123
+
124
+
125
+ <p>This code is free to use under the terms of the <span class="caps">MIT</span> license.</p>
126
+
127
+
128
+ <h2>Contact</h2>
129
+
130
+
131
+ <p>Comments are welcome. Send an email to <a href="mailto:FIXME"><span class="caps">FIXME</span> full name</a> email via the <a href="http://groups.google.com/group/rtunesu">forum</a></p>
132
+ <p class="coda">
133
+ <a href="FIXME email">FIXME full name</a>, 27th June 2008<br>
134
+ Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
135
+ </p>
136
+ </div>
137
+
138
+ <!-- insert site tracking codes here, like Google Urchin -->
139
+
140
+ </body>
141
+ </html>
data/website/index.txt ADDED
@@ -0,0 +1,83 @@
1
+ h1. rtunesu
2
+
3
+ h1. &#x2192; 'rtunesu'
4
+
5
+
6
+ h2. What
7
+
8
+
9
+ h2. Installing
10
+
11
+ <pre syntax="ruby">sudo gem install rtunesu</pre>
12
+
13
+ h2. The basics
14
+
15
+
16
+ h2. Demonstration of usage
17
+
18
+
19
+
20
+ h2. Forum
21
+
22
+ "http://groups.google.com/group/rtunesu":http://groups.google.com/group/rtunesu
23
+
24
+ TODO - create Google Group - rtunesu
25
+
26
+ h2. How to submit patches
27
+
28
+ Read the "8 steps for fixing other people's code":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/ and for section "8b: Submit patch to Google Groups":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups, use the Google Group above.
29
+
30
+ TODO - pick SVN or Git instructions
31
+
32
+ The trunk repository is <code>svn://rubyforge.org/var/svn/rtunesu/trunk</code> for anonymous access.
33
+
34
+ OOOORRRR
35
+
36
+ You can fetch the source from either:
37
+
38
+ <% if rubyforge_project_id %>
39
+
40
+ * rubyforge: "http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>":http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>
41
+
42
+ <pre>git clone git://rubyforge.org/rtunesu.git</pre>
43
+
44
+ <% else %>
45
+
46
+ * rubyforge: MISSING IN ACTION
47
+
48
+ TODO - You can not created a RubyForge project, OR have not run <code>rubyforge config</code>
49
+ yet to refresh your local rubyforge data with this projects' id information.
50
+
51
+ When you do this, this message will magically disappear!
52
+
53
+ Or you can hack website/index.txt and make it all go away!!
54
+
55
+ <% end %>
56
+
57
+ * github: "http://github.com/GITHUB_USERNAME/rtunesu/tree/master":http://github.com/GITHUB_USERNAME/rtunesu/tree/master
58
+
59
+ <pre>git clone git://github.com/GITHUB_USERNAME/rtunesu.git</pre>
60
+
61
+
62
+ TODO - add "github_username: username" to ~/.rubyforge/user-config.yml and newgem will reuse it for future projects.
63
+
64
+
65
+ * gitorious: "git://gitorious.org/rtunesu/mainline.git":git://gitorious.org/rtunesu/mainline.git
66
+
67
+ <pre>git clone git://gitorious.org/rtunesu/mainline.git</pre>
68
+
69
+ h3. Build and test instructions
70
+
71
+ <pre>cd rtunesu
72
+ rake test
73
+ rake install_gem</pre>
74
+
75
+
76
+ h2. License
77
+
78
+ This code is free to use under the terms of the MIT license.
79
+
80
+ h2. Contact
81
+
82
+ Comments are welcome. Send an email to "FIXME full name":mailto:FIXME email via the "forum":http://groups.google.com/group/rtunesu
83
+