net-github-upload 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +17 -1
- data/lib/net/github-upload.rb +15 -2
- data/test/github_test.rb +24 -1
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -35,10 +35,26 @@ respect to http://github.com/typester/net-github-upload-perl
|
|
35
35
|
|
36
36
|
# data upload
|
37
37
|
# you can define content_type => Amazon S3 Content-Type
|
38
|
+
time = Time.now.to_i
|
38
39
|
direct_link = gh.upload(
|
39
40
|
:repos => repos,
|
40
41
|
:data => 'test',
|
41
|
-
:name => "test_#{
|
42
|
+
:name => "test_#{time}.txt",
|
43
|
+
:content_type => 'text/plain',
|
44
|
+
:description => "test file2"
|
45
|
+
)
|
46
|
+
|
47
|
+
# replace file or data
|
48
|
+
# thx id:rngtng !
|
49
|
+
direct_link = gh.replace(
|
50
|
+
:repos => repos,
|
51
|
+
:file => 'test/test',
|
52
|
+
:description => "test file"
|
53
|
+
)
|
54
|
+
direct_link = gh.replace(
|
55
|
+
:repos => repos,
|
56
|
+
:data => 'test',
|
57
|
+
:name => "test_#{time}.txt",
|
42
58
|
:content_type => 'text/plain',
|
43
59
|
:description => "test file2"
|
44
60
|
)
|
data/lib/net/github-upload.rb
CHANGED
@@ -6,7 +6,7 @@ require 'faster_xml_simple'
|
|
6
6
|
module Net
|
7
7
|
module GitHub
|
8
8
|
class Upload
|
9
|
-
VERSION = '0.0.
|
9
|
+
VERSION = '0.0.3'
|
10
10
|
def initialize params=nil
|
11
11
|
@login = params[:login]
|
12
12
|
@token = params[:token]
|
@@ -33,7 +33,16 @@ module Net
|
|
33
33
|
raise "required name parameter for filename with data parameter"
|
34
34
|
end
|
35
35
|
|
36
|
-
if
|
36
|
+
if info[:replace]
|
37
|
+
list_files(info[:repos]).each { |obj|
|
38
|
+
next unless obj[:name] == info[:name]
|
39
|
+
HTTPClient.post("http://github.com/#{info[:repos]}/downloads/#{obj[:id].gsub( "download_", '')}", {
|
40
|
+
"_method" => "delete",
|
41
|
+
"login" => @login,
|
42
|
+
"token" => @token
|
43
|
+
})
|
44
|
+
}
|
45
|
+
elsif list_files(info[:repos]).any?{|obj| obj[:name] == info[:name]}
|
37
46
|
raise "file '#{info[:name]}' is already uploaded. please try different name"
|
38
47
|
end
|
39
48
|
|
@@ -86,6 +95,10 @@ module Net
|
|
86
95
|
end
|
87
96
|
end
|
88
97
|
|
98
|
+
def replace info
|
99
|
+
upload info.merge( :replace => true )
|
100
|
+
end
|
101
|
+
|
89
102
|
private
|
90
103
|
def list_files repos
|
91
104
|
raise "required repository name" unless repos
|
data/test/github_test.rb
CHANGED
@@ -22,15 +22,38 @@ class GitHubUploadTest < Test::Unit::TestCase
|
|
22
22
|
)
|
23
23
|
}
|
24
24
|
assert_instance_of String, direct_link
|
25
|
+
|
26
|
+
# replace method : thx id:rngtng
|
27
|
+
assert_nothing_raised {
|
28
|
+
direct_link = @gh.replace(
|
29
|
+
:repos => @repos,
|
30
|
+
:file => 'test/test',
|
31
|
+
:description => "test file"
|
32
|
+
)
|
33
|
+
}
|
34
|
+
assert_instance_of String, direct_link
|
25
35
|
end
|
26
36
|
|
27
37
|
def test_content_upload
|
28
38
|
direct_link = nil
|
39
|
+
time = Time.now.to_i
|
29
40
|
assert_nothing_raised {
|
30
41
|
direct_link = @gh.upload(
|
31
42
|
:repos => @repos,
|
32
43
|
:data => 'test',
|
33
|
-
:name => "test_#{
|
44
|
+
:name => "test_#{time}.txt",
|
45
|
+
:content_type => 'text/plain',
|
46
|
+
:description => "test file2"
|
47
|
+
)
|
48
|
+
}
|
49
|
+
assert_instance_of String, direct_link
|
50
|
+
|
51
|
+
# replace method : thx id:rngtng
|
52
|
+
assert_nothing_raised {
|
53
|
+
direct_link = @gh.replace(
|
54
|
+
:repos => @repos,
|
55
|
+
:data => 'test',
|
56
|
+
:name => "test_#{time}.txt",
|
34
57
|
:content_type => 'text/plain',
|
35
58
|
:description => "test file2"
|
36
59
|
)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-github-upload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Constellation
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-17 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|