og 0.29.0 → 0.30.0

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.
data/Rakefile DELETED
@@ -1,220 +0,0 @@
1
- require 'rake/rdoctask'
2
- require 'rake/testtask'
3
- require 'rake/gempackagetask'
4
-
5
- # Initialize some variables.
6
-
7
- readme = File.read('README')
8
- Release = (readme[/^= (.+) README$/, 1] || 'unknown').downcase.tr(" ", "-")
9
- Name = Release[/\D+/].sub(/\-+$/, '') || 'unknown'
10
- Version = Release[/[\d.]+/] || 'unknown'
11
-
12
- AuthorName, AuthorMail = 'George Moschovitis', 'gm@navel.gr'
13
- RubyVersion = '1.8.3'
14
-
15
- # Description = (readme[/README\s+(.+?)\n\n/m, 1] || "unknown").gsub(/\s+/, " ")
16
- # Summary = Description[/^.+?>/] || "unknown"
17
-
18
- # DocFiles = %w(README NEWS TODO COPYING GPL)
19
- # RDocFiles = DocFiles - %w(GPL)
20
- RDocOpts = ["--inline-source", "--line-numbers","--title", Name ]
21
- # AdditionalFiles = DocFiles + %w(setup.rb)
22
- VersionFile = MainFile = File.join("lib", Name + '.rb')
23
-
24
- RubyForgeProject = 'nitro'
25
- RubyForgeUser = 'gmosx'
26
- Homepage = "http://www.nitrohq.com/"
27
-
28
- task :default => :package
29
-
30
- # Run the tests.
31
-
32
- Rake::TestTask.new do |t|
33
- cwd = File.expand_path(File.join(File.dirname(__FILE__), '..'))
34
- t.libs << 'test'
35
- %w[glue nitro og].each do |dir|
36
- t.libs << File.join(cwd, dir, 'lib')
37
- end
38
- t.test_files = FileList['test/**/tc*.rb']
39
- t.verbose = true
40
- end
41
-
42
- # Generate RDoc documentation.
43
-
44
- Rake::RDocTask.new do |rd|
45
- rd.main = 'README'
46
- rd.rdoc_dir = 'rdoc'
47
- rd.rdoc_files.include('README', 'INSTALL', 'doc/tutorial.txt', 'lib/**/*.rb')
48
- rd.options << '--all --inline-source'
49
- end
50
-
51
- # Build gem.
52
-
53
- spec = Gem::Specification.new do |s|
54
- s.name = 'og'
55
- if File.read('lib/og.rb') =~ /Version\s+=\s+'(\d+\.\d+\.\d+)'/
56
- s.version = $1
57
- else
58
- raise 'No version found'
59
- end
60
- s.summary = 'Og (ObjectGraph)'
61
- s.description = 'An efficient and transparent Object-Relational mapping library'
62
-
63
- s.add_dependency 'glue', "= #{s.version}"
64
- #s.add_dependency 'postgres-pr', '>= 0.3.0'
65
- #s.add_dependency 'postgres', '>= 0.7.1'
66
- #s.add_dependency 'sqlite3-ruby', '>= 1.0.0'
67
- #s.add_dependency 'mysql', '>= 2.5.1'
68
-
69
- s.required_ruby_version = '= 1.8.3'
70
-
71
- s.files = FileList[
72
- '[A-Z]*', 'setup.rb', '{bin,benchmark,examples,doc,lib,test,vendor}/**/*'
73
- ].exclude("_darcs").exclude("_darcs/**/*").exclude('**/*.log').to_a
74
-
75
- s.require_path = 'lib'
76
- s.autorequire = 'og'
77
-
78
- s.has_rdoc = true
79
- s.extra_rdoc_files = FileList['README', 'INSTALL', 'doc/tutorial.txt'].to_a
80
- s.rdoc_options << '--main' << 'README' << '--title' << 'Og Documentation'
81
- s.rdoc_options << '--all' << '--inline-source'
82
-
83
- s.author = 'George Moschovitis'
84
- s.email = 'gm@navel.gr'
85
- s.homepage = 'http://www.nitrohq.com'
86
- s.rubyforge_project = 'nitro'
87
- end
88
-
89
- Rake::GemPackageTask.new(spec) do |pkg|
90
- pkg.package_dir = 'dist'
91
- pkg.need_zip = true
92
- pkg.need_tar = true
93
- end
94
-
95
- # Manual install (not recommended).
96
-
97
- task :install do
98
- ruby 'install.rb'
99
- end
100
-
101
- # Release files to Rubyforge.
102
- # The code for this task provided by Florian Gross.
103
-
104
- desc "Publish the release files to RubyForge."
105
- task :publish => [:package] do
106
- files = ['gem', 'tgz', 'zip'].map { |ext| "dist/#{Release}.#{ext}" }
107
-
108
- if RubyForgeProject then
109
- require 'net/http'
110
- require 'open-uri'
111
-
112
- changes = ''
113
- if File.exist?('doc/RELEASES') then
114
- changes_re = /^== \s+ Version \s+ #{Regexp.quote(Version)} \s*
115
- (.+?) (?:==|\Z)/mx
116
- changes = File.read('doc/RELEASES')[changes_re, 1] || ''
117
- end
118
-
119
- project_uri = "http://rubyforge.org/projects/#{RubyForgeProject}/"
120
- project_data = open(project_uri) { |data| data.read }
121
- group_id = project_data[/[?&]group_id=(\d+)/, 1]
122
- raise "Couldn't get group id" unless group_id
123
-
124
- print "#{RubyForgeUser}@rubyforge.org's password: "
125
- password = STDIN.gets.chomp
126
-
127
- login_response = Net::HTTP.start('rubyforge.org', 80) do |http|
128
- data = [
129
- "login=1",
130
- "form_loginname=#{RubyForgeUser}",
131
- "form_pw=#{password}"
132
- ].join("&")
133
- http.post('/account/login.php', data)
134
- end
135
-
136
- cookie = login_response['set-cookie']
137
- raise 'Login failed' unless cookie
138
- headers = { 'Cookie' => cookie }
139
-
140
- release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
141
- release_data = open(release_uri, headers) { |data| data.read }
142
- package_id = release_data[/[?&]package_id=(\d+)/, 1]
143
- raise "Couldn't get package id" unless package_id
144
-
145
- first_file = true
146
- release_id = ""
147
-
148
- files.each do |filename|
149
- basename = File.basename(filename)
150
- file_ext = File.extname(filename)
151
- file_data = File.open(filename, "rb") { |file| file.read }
152
-
153
- puts "Releasing #{basename}..."
154
-
155
- release_response = Net::HTTP.start('rubyforge.org', 80) do |http|
156
- release_date = Time.now.strftime('%Y-%m-%d %H:%M')
157
- type_map = {
158
- '.zip' => '3000',
159
- '.tgz' => '3110',
160
- '.gz' => '3110',
161
- '.gem' => '1400',
162
- '.md5sum' => '8100'
163
- }; type_map.default = '9999'
164
- type = type_map[file_ext]
165
- boundary = 'rubyqMY6QN9bp6e4kS21H4y0zxcvoor'
166
-
167
- query_hash = if first_file then
168
- {
169
- 'group_id' => group_id,
170
- 'package_id' => package_id,
171
- 'release_name' => Release,
172
- 'release_date' => release_date,
173
- 'type_id' => type,
174
- 'processor_id' => '8000', # Any
175
- 'release_notes' => '',
176
- 'release_changes' => changes,
177
- 'preformatted' => '1',
178
- 'submit' => '1'
179
- }
180
- else
181
- {
182
- 'group_id' => group_id,
183
- 'release_id' => release_id,
184
- 'package_id' => package_id,
185
- 'step2' => '1',
186
- 'type_id' => type,
187
- 'processor_id' => '8000', # Any
188
- 'submit' => 'Add This File'
189
- }
190
- end
191
-
192
- query = '?' + query_hash.map do |(name, value)|
193
- [name, URI.encode(value)].join('=')
194
- end.join('&')
195
-
196
- data = [
197
- "--" + boundary,
198
- "Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
199
- "Content-Type: application/octet-stream",
200
- "Content-Transfer-Encoding: binary",
201
- "", file_data, ""
202
- ].join("\x0D\x0A")
203
-
204
- release_headers = headers.merge(
205
- 'Content-Type' => "multipart/form-data; boundary=#{boundary}"
206
- )
207
-
208
- target = first_file ? '/frs/admin/qrs.php' : '/frs/admin/editrelease.php'
209
- http.post(target + query, data, release_headers)
210
- end
211
-
212
- if first_file then
213
- release_id = release_response.body[/release_id=(\d+)/, 1]
214
- raise("Couldn't get release id") unless release_id
215
- end
216
-
217
- first_file = false
218
- end
219
- end
220
- end