gruff 0.2.3 → 0.2.4
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/CHANGELOG +10 -0
- data/Manifest.txt +35 -0
- data/{README → README.txt} +0 -0
- data/Rakefile +219 -201
- data/lib/gruff.rb +1 -1
- data/lib/gruff/bar.rb +8 -7
- data/lib/gruff/base.rb +58 -44
- data/lib/gruff/line.rb +1 -0
- data/lib/gruff/net.rb +16 -7
- data/lib/gruff/photo_bar.rb +1 -1
- data/lib/gruff/scene.rb +1 -1
- data/lib/gruff/spider.rb +2 -2
- data/test/{area_test.rb → test_area.rb} +0 -0
- data/test/{bar_test.rb → test_bar.rb} +0 -0
- data/test/{base_test.rb → test_base.rb} +0 -0
- data/test/{legend_test.rb → test_legend.rb} +0 -0
- data/test/{line_test.rb → test_line.rb} +21 -10
- data/test/{net_test.rb → test_net.rb} +0 -0
- data/test/test_photo.rb +41 -0
- data/test/{pie_test.rb → test_pie.rb} +0 -0
- data/test/{scene_test.rb → test_scene.rb} +0 -0
- data/test/{sidestacked_bar_test.rb → test_sidestacked_bar.rb} +0 -0
- data/test/{spider_test.rb → test_spider.rb} +0 -0
- data/test/{stacked_bar_test.rb → test_stacked_bar.rb} +0 -0
- metadata +32 -28
- data/assets/bubble.png +0 -0
- data/assets/pc306715.jpg +0 -0
- data/lib/CocoaMagick.rb +0 -311
- data/test/photo_test.rb +0 -41
data/CHANGELOG
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
|
3
|
+
== 0.2.4
|
4
|
+
|
5
|
+
* Added option to hide line numbers
|
6
|
+
* Fixed code that was causing warnings
|
7
|
+
|
8
|
+
== 0.2.3
|
9
|
+
|
10
|
+
* Cleaned up measurements so the graph expands to fill the available space
|
11
|
+
* Added x-axis and y-axis label options
|
12
|
+
|
3
13
|
== 0.1.2
|
4
14
|
|
5
15
|
* minimum_value and maximum_value can be set after data() to manually scale the graph
|
data/Manifest.txt
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
README.txt
|
3
|
+
MIT-LICENSE
|
4
|
+
Rakefile
|
5
|
+
Manifest.txt
|
6
|
+
|
7
|
+
lib/gruff.rb
|
8
|
+
lib/gruff/area.rb
|
9
|
+
lib/gruff/bar.rb
|
10
|
+
lib/gruff/bar_conversion.rb
|
11
|
+
lib/gruff/base.rb
|
12
|
+
lib/gruff/deprecated.rb
|
13
|
+
lib/gruff/line.rb
|
14
|
+
lib/gruff/net.rb
|
15
|
+
lib/gruff/photo_bar.rb
|
16
|
+
lib/gruff/pie.rb
|
17
|
+
lib/gruff/scene.rb
|
18
|
+
lib/gruff/side_stacked_bar.rb
|
19
|
+
lib/gruff/spider.rb
|
20
|
+
lib/gruff/stacked_bar.rb
|
21
|
+
|
22
|
+
test/test_area.rb
|
23
|
+
test/test_bar.rb
|
24
|
+
test/test_base.rb
|
25
|
+
test/gruff_test_case.rb
|
26
|
+
test/test_legend.rb
|
27
|
+
test/test_line.rb
|
28
|
+
test/test_net.rb
|
29
|
+
test/output
|
30
|
+
test/test_photo.rb
|
31
|
+
test/test_pie.rb
|
32
|
+
test/test_scene.rb
|
33
|
+
test/test_sidestacked_bar.rb
|
34
|
+
test/test_spider.rb
|
35
|
+
test/test_stacked_bar.rb
|
data/{README → README.txt}
RENAMED
File without changes
|
data/Rakefile
CHANGED
@@ -1,209 +1,227 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rake'
|
3
|
-
require 'rake/testtask'
|
4
|
-
require 'rake/rdoctask'
|
5
|
-
require 'rake/packagetask'
|
6
|
-
require 'rake/gempackagetask'
|
7
|
-
require 'rake/contrib/rubyforgepublisher'
|
8
1
|
|
2
|
+
require 'rubygems'
|
3
|
+
require 'hoe'
|
9
4
|
$:.unshift(File.dirname(__FILE__) + "/lib")
|
10
5
|
require 'gruff'
|
11
6
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
desc "Default Task"
|
22
|
-
task :default => [ :clean, :test ]
|
23
|
-
|
24
|
-
desc "Clean images generated by tests"
|
25
|
-
task :clean do
|
26
|
-
rm FileList['test/output/*.png']
|
27
|
-
rm_rf 'pkg'
|
28
|
-
rm_rf 'doc'
|
29
|
-
end
|
30
|
-
|
31
|
-
desc "Copy documentation to topfunky.com"
|
32
|
-
task :rdoc_deploy => [:rdoc] do
|
33
|
-
dirs = %w{doc}
|
34
|
-
onserver = "topfunky@topfunky.com:/home/topfunky/topfunky.com/clients/rails/gruff"
|
35
|
-
dirs.each do | dir|
|
36
|
-
`rsync -avz -e ssh "#{`pwd`.chomp}/#{dir}" "#{onserver}" --exclude ".svn"`
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# Run the unit tests
|
41
|
-
Rake::TestTask.new { |t|
|
42
|
-
t.libs << "test"
|
43
|
-
t.pattern = 'test/*_test.rb'
|
44
|
-
t.verbose = true
|
45
|
-
}
|
46
|
-
|
47
|
-
# Genereate the RDoc documentation
|
48
|
-
Rake::RDocTask.new { |rdoc|
|
49
|
-
rdoc.rdoc_dir = 'doc'
|
50
|
-
rdoc.title = "Gruff -- Beautiful graphs"
|
51
|
-
# rdoc.options << '--line-numbers --inline-source --main README --accessor adv_attr_accessor=M'
|
52
|
-
rdoc.template = "#{ENV['template']}.rb" if ENV['template']
|
53
|
-
rdoc.rdoc_files.include('README', 'CHANGELOG')
|
54
|
-
rdoc.rdoc_files.include('lib/gruff.rb')
|
55
|
-
rdoc.rdoc_files.include('lib/gruff/*.rb')
|
56
|
-
}
|
57
|
-
|
58
|
-
|
59
|
-
# Create compressed packages
|
60
|
-
spec = Gem::Specification.new do |s|
|
61
|
-
s.platform = Gem::Platform::RUBY
|
62
|
-
s.name = PKG_NAME
|
63
|
-
s.summary = "Beautiful graphs for one or multiple datasets."
|
64
|
-
s.description = %q{Make colorful graphs for use on websites or documents.}
|
65
|
-
s.version = PKG_VERSION
|
66
|
-
|
67
|
-
s.author = "Geoffrey Grosenbach"
|
68
|
-
s.email = "boss@topfunky.com"
|
69
|
-
s.rubyforge_project = RUBY_FORGE_PROJECT
|
70
|
-
s.homepage = "http://www.topfunky.com"
|
71
|
-
|
72
|
-
s.has_rdoc = true
|
73
|
-
s.requirements << 'none'
|
74
|
-
s.require_path = 'lib'
|
75
|
-
s.autorequire = 'gruff'
|
76
|
-
|
77
|
-
s.files = [ "Rakefile", "README", "CHANGELOG", "MIT-LICENSE" ]
|
78
|
-
s.files = s.files + Dir.glob( "lib/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
|
79
|
-
s.files = s.files + Dir.glob( "assets/*" ).delete_if { |item| item.include?( "\.svn" ) }
|
80
|
-
s.files = s.files + Dir.glob( "test/**/*" ).delete_if { |item| item.include?( "\.svn" ) || item.include?("\.png") }
|
81
|
-
end
|
82
|
-
|
83
|
-
Rake::GemPackageTask.new(spec) do |p|
|
84
|
-
p.gem_spec = spec
|
85
|
-
p.need_tar = true
|
86
|
-
p.need_zip = true
|
87
|
-
end
|
88
|
-
|
89
|
-
desc "Publish the API documentation"
|
90
|
-
task :pgem => [:package] do
|
91
|
-
Rake::SshFilePublisher.new("boss@topfunky.com", "public_html/gems/gems", "pkg", "#{PKG_FILE_NAME}.gem").upload
|
92
|
-
end
|
93
|
-
|
94
|
-
desc "Publish the release files to RubyForge."
|
95
|
-
task :release => [:package] do
|
96
|
-
files = ["gem", "tgz", "zip"].map { |ext| "pkg/#{PKG_FILE_NAME}.#{ext}" }
|
97
|
-
|
98
|
-
if RUBY_FORGE_PROJECT then
|
99
|
-
require 'net/http'
|
100
|
-
require 'open-uri'
|
101
|
-
|
102
|
-
project_uri = "http://rubyforge.org/projects/#{RUBY_FORGE_PROJECT}/"
|
103
|
-
project_data = open(project_uri) { |data| data.read }
|
104
|
-
group_id = project_data[/[?&]group_id=(\d+)/, 1]
|
105
|
-
raise "Couldn't get group id" unless group_id
|
106
|
-
|
107
|
-
# This echos password to shell which is a bit sucky
|
108
|
-
if ENV["RUBY_FORGE_PASSWORD"]
|
109
|
-
password = ENV["RUBY_FORGE_PASSWORD"]
|
110
|
-
else
|
111
|
-
print "#{RUBY_FORGE_USER}@rubyforge.org's password: "
|
112
|
-
password = STDIN.gets.chomp
|
113
|
-
end
|
114
|
-
|
115
|
-
login_response = Net::HTTP.start("rubyforge.org", 80) do |http|
|
116
|
-
data = [
|
117
|
-
"login=1",
|
118
|
-
"form_loginname=#{RUBY_FORGE_USER}",
|
119
|
-
"form_pw=#{password}"
|
120
|
-
].join("&")
|
121
|
-
http.post("/account/login.php", data)
|
122
|
-
end
|
123
|
-
|
124
|
-
cookie = login_response["set-cookie"]
|
125
|
-
raise "Login failed" unless cookie
|
126
|
-
headers = { "Cookie" => cookie }
|
127
|
-
|
128
|
-
release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
|
129
|
-
release_data = open(release_uri, headers) { |data| data.read }
|
130
|
-
package_id = release_data[/[?&]package_id=(\d+)/, 1]
|
131
|
-
raise "Couldn't get package id" unless package_id
|
132
|
-
|
133
|
-
first_file = true
|
134
|
-
release_id = ""
|
135
|
-
|
136
|
-
files.each do |filename|
|
137
|
-
basename = File.basename(filename)
|
138
|
-
file_ext = File.extname(filename)
|
139
|
-
file_data = File.open(filename, "rb") { |file| file.read }
|
140
|
-
|
141
|
-
puts "Releasing #{basename}..."
|
142
|
-
|
143
|
-
release_response = Net::HTTP.start("rubyforge.org", 80) do |http|
|
144
|
-
release_date = Time.now.strftime("%Y-%m-%d %H:%M")
|
145
|
-
type_map = {
|
146
|
-
".zip" => "3000",
|
147
|
-
".tgz" => "3110",
|
148
|
-
".gz" => "3110",
|
149
|
-
".gem" => "1400"
|
150
|
-
}; type_map.default = "9999"
|
151
|
-
type = type_map[file_ext]
|
152
|
-
boundary = "rubyqMY6QN9bp6e4kS21H4y0zxcvoor"
|
153
|
-
|
154
|
-
query_hash = if first_file then
|
155
|
-
{
|
156
|
-
"group_id" => group_id,
|
157
|
-
"package_id" => package_id,
|
158
|
-
"release_name" => RELEASE_NAME,
|
159
|
-
"release_date" => release_date,
|
160
|
-
"type_id" => type,
|
161
|
-
"processor_id" => "8000", # Any
|
162
|
-
"release_notes" => "",
|
163
|
-
"release_changes" => "",
|
164
|
-
"preformatted" => "1",
|
165
|
-
"submit" => "1"
|
166
|
-
}
|
167
|
-
else
|
168
|
-
{
|
169
|
-
"group_id" => group_id,
|
170
|
-
"release_id" => release_id,
|
171
|
-
"package_id" => package_id,
|
172
|
-
"step2" => "1",
|
173
|
-
"type_id" => type,
|
174
|
-
"processor_id" => "8000", # Any
|
175
|
-
"submit" => "Add This File"
|
176
|
-
}
|
177
|
-
end
|
178
|
-
|
179
|
-
query = "?" + query_hash.map do |(name, value)|
|
180
|
-
[name, URI.encode(value)].join("=")
|
181
|
-
end.join("&")
|
182
|
-
|
183
|
-
data = [
|
184
|
-
"--" + boundary,
|
185
|
-
"Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
|
186
|
-
"Content-Type: application/octet-stream",
|
187
|
-
"Content-Transfer-Encoding: binary",
|
188
|
-
"", file_data, ""
|
189
|
-
].join("\x0D\x0A")
|
190
|
-
|
191
|
-
release_headers = headers.merge(
|
192
|
-
"Content-Type" => "multipart/form-data; boundary=#{boundary}"
|
193
|
-
)
|
194
|
-
|
195
|
-
target = first_file ? "/frs/admin/qrs.php" : "/frs/admin/editrelease.php"
|
196
|
-
http.post(target + query, data, release_headers)
|
197
|
-
end
|
198
|
-
|
199
|
-
if first_file then
|
200
|
-
release_id = release_response.body[/release_id=(\d+)/, 1]
|
201
|
-
raise("Couldn't get release id") unless release_id
|
202
|
-
end
|
7
|
+
Hoe.new('Gruff', Gruff::VERSION) do |p|
|
8
|
+
p.name = "gruff"
|
9
|
+
p.author = "Geoffrey Grosenbach"
|
10
|
+
p.description = "Beautiful graphs for one or multiple datasets. Can be used on websites or in documents."
|
11
|
+
p.email = 'boss@topfunky.com'
|
12
|
+
p.summary = "Beautiful graphs for one or multiple datasets."
|
13
|
+
p.url = "http://nubyonrails.com/pages/gruff"
|
14
|
+
p.clean_globs = ['test/output/*.png']
|
203
15
|
|
204
|
-
|
205
|
-
end
|
206
|
-
end
|
16
|
+
# * extra_deps - An array of rubygem dependencies.
|
207
17
|
end
|
208
18
|
|
209
19
|
|
20
|
+
# require 'rake'
|
21
|
+
# require 'rake/testtask'
|
22
|
+
# require 'rake/rdoctask'
|
23
|
+
# require 'rake/packagetask'
|
24
|
+
# require 'rake/gempackagetask'
|
25
|
+
# require 'rake/contrib/rubyforgepublisher'
|
26
|
+
#
|
27
|
+
# $:.unshift(File.dirname(__FILE__) + "/lib")
|
28
|
+
# require 'gruff'
|
29
|
+
#
|
30
|
+
# PKG_NAME = 'gruff'
|
31
|
+
# PKG_VERSION = Gruff::VERSION
|
32
|
+
# PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
33
|
+
#
|
34
|
+
# RELEASE_NAME = "REL #{PKG_VERSION}"
|
35
|
+
#
|
36
|
+
# RUBY_FORGE_PROJECT = "gruff"
|
37
|
+
# RUBY_FORGE_USER = "topfunky"
|
38
|
+
#
|
39
|
+
# desc "Default Task"
|
40
|
+
# task :default => [ :clean, :test ]
|
41
|
+
#
|
42
|
+
# desc "Clean images generated by tests"
|
43
|
+
# task :clean do
|
44
|
+
# rm FileList['test/output/*.png']
|
45
|
+
# rm_rf 'pkg'
|
46
|
+
# rm_rf 'doc'
|
47
|
+
# end
|
48
|
+
#
|
49
|
+
# desc "Copy documentation to topfunky.com"
|
50
|
+
# task :rdoc_deploy => [:rdoc] do
|
51
|
+
# dirs = %w{doc}
|
52
|
+
# onserver = "topfunky@topfunky.com:/home/topfunky/topfunky.com/clients/rails/gruff"
|
53
|
+
# dirs.each do | dir|
|
54
|
+
# `rsync -avz -e ssh "#{`pwd`.chomp}/#{dir}" "#{onserver}" --exclude ".svn"`
|
55
|
+
# end
|
56
|
+
# end
|
57
|
+
#
|
58
|
+
# # Run the unit tests
|
59
|
+
# Rake::TestTask.new { |t|
|
60
|
+
# t.libs << "test"
|
61
|
+
# t.pattern = 'test/*_test.rb'
|
62
|
+
# t.verbose = true
|
63
|
+
# }
|
64
|
+
#
|
65
|
+
# # Genereate the RDoc documentation
|
66
|
+
# Rake::RDocTask.new { |rdoc|
|
67
|
+
# rdoc.rdoc_dir = 'doc'
|
68
|
+
# rdoc.title = "Gruff -- Beautiful graphs"
|
69
|
+
# # rdoc.options << '--line-numbers --inline-source --main README --accessor adv_attr_accessor=M'
|
70
|
+
# rdoc.template = "#{ENV['template']}.rb" if ENV['template']
|
71
|
+
# rdoc.rdoc_files.include('README', 'CHANGELOG')
|
72
|
+
# rdoc.rdoc_files.include('lib/gruff.rb')
|
73
|
+
# rdoc.rdoc_files.include('lib/gruff/*.rb')
|
74
|
+
# }
|
75
|
+
#
|
76
|
+
#
|
77
|
+
# # Create compressed packages
|
78
|
+
# spec = Gem::Specification.new do |s|
|
79
|
+
# s.platform = Gem::Platform::RUBY
|
80
|
+
# s.name = PKG_NAME
|
81
|
+
# s.summary = "Beautiful graphs for one or multiple datasets."
|
82
|
+
# s.description = %q{Make colorful graphs for use on websites or documents.}
|
83
|
+
# s.version = PKG_VERSION
|
84
|
+
#
|
85
|
+
# s.author = "Geoffrey Grosenbach"
|
86
|
+
# s.email = "boss@topfunky.com"
|
87
|
+
# s.rubyforge_project = RUBY_FORGE_PROJECT
|
88
|
+
# s.homepage = "http://www.topfunky.com"
|
89
|
+
#
|
90
|
+
# s.has_rdoc = true
|
91
|
+
# s.requirements << 'none'
|
92
|
+
# s.require_path = 'lib'
|
93
|
+
# s.autorequire = 'gruff'
|
94
|
+
#
|
95
|
+
# s.files = [ "Rakefile", "README", "CHANGELOG", "MIT-LICENSE" ]
|
96
|
+
# s.files = s.files + Dir.glob( "lib/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
|
97
|
+
# s.files = s.files + Dir.glob( "assets/*" ).delete_if { |item| item.include?( "\.svn" ) }
|
98
|
+
# s.files = s.files + Dir.glob( "test/**/*" ).delete_if { |item| item.include?( "\.svn" ) || item.include?("\.png") }
|
99
|
+
# end
|
100
|
+
#
|
101
|
+
# Rake::GemPackageTask.new(spec) do |p|
|
102
|
+
# p.gem_spec = spec
|
103
|
+
# p.need_tar = true
|
104
|
+
# p.need_zip = true
|
105
|
+
# end
|
106
|
+
#
|
107
|
+
# desc "Publish the API documentation"
|
108
|
+
# task :pgem => [:package] do
|
109
|
+
# Rake::SshFilePublisher.new("boss@topfunky.com", "public_html/gems/gems", "pkg", "#{PKG_FILE_NAME}.gem").upload
|
110
|
+
# end
|
111
|
+
#
|
112
|
+
# desc "Publish the release files to RubyForge."
|
113
|
+
# task :release => [:package] do
|
114
|
+
# files = ["gem", "tgz", "zip"].map { |ext| "pkg/#{PKG_FILE_NAME}.#{ext}" }
|
115
|
+
#
|
116
|
+
# if RUBY_FORGE_PROJECT then
|
117
|
+
# require 'net/http'
|
118
|
+
# require 'open-uri'
|
119
|
+
#
|
120
|
+
# project_uri = "http://rubyforge.org/projects/#{RUBY_FORGE_PROJECT}/"
|
121
|
+
# project_data = open(project_uri) { |data| data.read }
|
122
|
+
# group_id = project_data[/[?&]group_id=(\d+)/, 1]
|
123
|
+
# raise "Couldn't get group id" unless group_id
|
124
|
+
#
|
125
|
+
# # This echos password to shell which is a bit sucky
|
126
|
+
# if ENV["RUBY_FORGE_PASSWORD"]
|
127
|
+
# password = ENV["RUBY_FORGE_PASSWORD"]
|
128
|
+
# else
|
129
|
+
# print "#{RUBY_FORGE_USER}@rubyforge.org's password: "
|
130
|
+
# password = STDIN.gets.chomp
|
131
|
+
# end
|
132
|
+
#
|
133
|
+
# login_response = Net::HTTP.start("rubyforge.org", 80) do |http|
|
134
|
+
# data = [
|
135
|
+
# "login=1",
|
136
|
+
# "form_loginname=#{RUBY_FORGE_USER}",
|
137
|
+
# "form_pw=#{password}"
|
138
|
+
# ].join("&")
|
139
|
+
# http.post("/account/login.php", data)
|
140
|
+
# end
|
141
|
+
#
|
142
|
+
# cookie = login_response["set-cookie"]
|
143
|
+
# raise "Login failed" unless cookie
|
144
|
+
# headers = { "Cookie" => cookie }
|
145
|
+
#
|
146
|
+
# release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
|
147
|
+
# release_data = open(release_uri, headers) { |data| data.read }
|
148
|
+
# package_id = release_data[/[?&]package_id=(\d+)/, 1]
|
149
|
+
# raise "Couldn't get package id" unless package_id
|
150
|
+
#
|
151
|
+
# first_file = true
|
152
|
+
# release_id = ""
|
153
|
+
#
|
154
|
+
# files.each do |filename|
|
155
|
+
# basename = File.basename(filename)
|
156
|
+
# file_ext = File.extname(filename)
|
157
|
+
# file_data = File.open(filename, "rb") { |file| file.read }
|
158
|
+
#
|
159
|
+
# puts "Releasing #{basename}..."
|
160
|
+
#
|
161
|
+
# release_response = Net::HTTP.start("rubyforge.org", 80) do |http|
|
162
|
+
# release_date = Time.now.strftime("%Y-%m-%d %H:%M")
|
163
|
+
# type_map = {
|
164
|
+
# ".zip" => "3000",
|
165
|
+
# ".tgz" => "3110",
|
166
|
+
# ".gz" => "3110",
|
167
|
+
# ".gem" => "1400"
|
168
|
+
# }; type_map.default = "9999"
|
169
|
+
# type = type_map[file_ext]
|
170
|
+
# boundary = "rubyqMY6QN9bp6e4kS21H4y0zxcvoor"
|
171
|
+
#
|
172
|
+
# query_hash = if first_file then
|
173
|
+
# {
|
174
|
+
# "group_id" => group_id,
|
175
|
+
# "package_id" => package_id,
|
176
|
+
# "release_name" => RELEASE_NAME,
|
177
|
+
# "release_date" => release_date,
|
178
|
+
# "type_id" => type,
|
179
|
+
# "processor_id" => "8000", # Any
|
180
|
+
# "release_notes" => "",
|
181
|
+
# "release_changes" => "",
|
182
|
+
# "preformatted" => "1",
|
183
|
+
# "submit" => "1"
|
184
|
+
# }
|
185
|
+
# else
|
186
|
+
# {
|
187
|
+
# "group_id" => group_id,
|
188
|
+
# "release_id" => release_id,
|
189
|
+
# "package_id" => package_id,
|
190
|
+
# "step2" => "1",
|
191
|
+
# "type_id" => type,
|
192
|
+
# "processor_id" => "8000", # Any
|
193
|
+
# "submit" => "Add This File"
|
194
|
+
# }
|
195
|
+
# end
|
196
|
+
#
|
197
|
+
# query = "?" + query_hash.map do |(name, value)|
|
198
|
+
# [name, URI.encode(value)].join("=")
|
199
|
+
# end.join("&")
|
200
|
+
#
|
201
|
+
# data = [
|
202
|
+
# "--" + boundary,
|
203
|
+
# "Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
|
204
|
+
# "Content-Type: application/octet-stream",
|
205
|
+
# "Content-Transfer-Encoding: binary",
|
206
|
+
# "", file_data, ""
|
207
|
+
# ].join("\x0D\x0A")
|
208
|
+
#
|
209
|
+
# release_headers = headers.merge(
|
210
|
+
# "Content-Type" => "multipart/form-data; boundary=#{boundary}"
|
211
|
+
# )
|
212
|
+
#
|
213
|
+
# target = first_file ? "/frs/admin/qrs.php" : "/frs/admin/editrelease.php"
|
214
|
+
# http.post(target + query, data, release_headers)
|
215
|
+
# end
|
216
|
+
#
|
217
|
+
# if first_file then
|
218
|
+
# release_id = release_response.body[/release_id=(\d+)/, 1]
|
219
|
+
# raise("Couldn't get release id") unless release_id
|
220
|
+
# end
|
221
|
+
#
|
222
|
+
# first_file = false
|
223
|
+
# end
|
224
|
+
# end
|
225
|
+
# end
|
226
|
+
#
|
227
|
+
#
|