rnexus 0.0.4 → 0.0.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.
- data/VERSION +1 -1
- data/lib/artifact.rb +3 -2
- data/lib/repository.rb +13 -0
- data/rnexus.gemspec +4 -4
- data/test/artifact_test.rb +1 -1
- data/test/repository_test.rb +14 -0
- data/test/test_helper.rb +1 -1
- metadata +13 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
data/lib/artifact.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class Nexus::Artifact
|
2
|
-
attr_accessor :group, :name, :version, :type, :uri, :repo
|
3
|
-
|
2
|
+
attr_accessor :group, :name, :version, :type, :uri, :repo, :classifier
|
3
|
+
|
4
4
|
def initialize(parameters)
|
5
5
|
self.group = parameters['groupId']
|
6
6
|
self.name = parameters['artifactId']
|
@@ -8,5 +8,6 @@ class Nexus::Artifact
|
|
8
8
|
self.type = parameters['packaging']
|
9
9
|
self.uri = parameters['resourceURI']
|
10
10
|
self.repo = parameters['repoId']
|
11
|
+
self.classifier = parameters['classifier']
|
11
12
|
end
|
12
13
|
end
|
data/lib/repository.rb
CHANGED
@@ -30,6 +30,19 @@ class Nexus::Repository
|
|
30
30
|
RestClient::Resource.new(url, :user => @username, :password => @password).delete.code
|
31
31
|
end
|
32
32
|
|
33
|
+
def put(artifact, file)
|
34
|
+
filename = artifact.name
|
35
|
+
|
36
|
+
if(artifact.classifier)
|
37
|
+
filename = filename + "-" + artifact.classifier
|
38
|
+
end
|
39
|
+
|
40
|
+
filename = filename + "." + artifact.type
|
41
|
+
|
42
|
+
url = "#{@baseuri}/service/local/repositories/#{artifact.repo}/content/#{artifact.group.gsub(/\./, '/')}/#{artifact.name}/#{artifact.version}/#{filename}"
|
43
|
+
RestClient::Resource.new(url, :user => @username, :password => @password).put(:file => file).code
|
44
|
+
end
|
45
|
+
|
33
46
|
private
|
34
47
|
|
35
48
|
def build_query_parameters_from(args)
|
data/rnexus.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rnexus}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Darrin Holst"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-10-12}
|
13
13
|
s.email = %q{darrinholst@gmail.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
|
|
33
33
|
s.homepage = %q{http://github.com/darrinholst/rnexus}
|
34
34
|
s.rdoc_options = ["--charset=UTF-8"]
|
35
35
|
s.require_paths = ["lib"]
|
36
|
-
s.rubygems_version = %q{1.3.
|
36
|
+
s.rubygems_version = %q{1.3.7}
|
37
37
|
s.summary = %q{a ruby wrapper to interact with a nexus maven repository}
|
38
38
|
s.test_files = [
|
39
39
|
"test/artifact_test.rb",
|
@@ -45,7 +45,7 @@ Gem::Specification.new do |s|
|
|
45
45
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
46
46
|
s.specification_version = 3
|
47
47
|
|
48
|
-
if Gem::Version.new(Gem::
|
48
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
49
|
s.add_runtime_dependency(%q<rest-client>, [">= 1.4.0"])
|
50
50
|
s.add_runtime_dependency(%q<crack>, [">= 0.1.3"])
|
51
51
|
else
|
data/test/artifact_test.rb
CHANGED
data/test/repository_test.rb
CHANGED
@@ -69,6 +69,20 @@ class RepositoryTest < Test::Unit::TestCase
|
|
69
69
|
assert_equal(200, @repository.delete(artifact))
|
70
70
|
end
|
71
71
|
|
72
|
+
def test_put
|
73
|
+
expected_url = "http://user:pass@localhost/nexus/service/local/repositories/repo/content/org/group/artifact/version/artifact.war"
|
74
|
+
artifact = Nexus::Artifact.new('groupId' => 'org.group', 'artifactId' => 'artifact', 'version' => 'version', 'repoId' => 'repo', 'packaging' => 'war')
|
75
|
+
FakeWeb.register_uri(:put, expected_url, :status => 200)
|
76
|
+
assert_equal(200, @repository.put(artifact, Tempfile.new('some.war')))
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_put_with_classifier
|
80
|
+
expected_url = "http://user:pass@localhost/nexus/service/local/repositories/repo/content/org/group/artifact/version/artifact-classifier.war"
|
81
|
+
artifact = Nexus::Artifact.new('groupId' => 'org.group', 'artifactId' => 'artifact', 'version' => 'version', 'repoId' => 'repo', 'packaging' => 'war', 'classifier' => 'classifier')
|
82
|
+
FakeWeb.register_uri(:put, expected_url, :status => 200)
|
83
|
+
assert_equal(200, @repository.put(artifact, Tempfile.new('some.war')))
|
84
|
+
end
|
85
|
+
|
72
86
|
def test_download
|
73
87
|
artifact = Nexus::Artifact.new('resourceURI' => 'http://nexus/artifact')
|
74
88
|
FakeWeb.register_uri(:get, "http://nexus/artifact", :body => 'file content')
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rnexus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 21
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
9
|
+
- 5
|
10
|
+
version: 0.0.5
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Darrin Holst
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-10-12 00:00:00 -05:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: rest-client
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
27
30
|
segments:
|
28
31
|
- 1
|
29
32
|
- 4
|
@@ -35,9 +38,11 @@ dependencies:
|
|
35
38
|
name: crack
|
36
39
|
prerelease: false
|
37
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
43
|
- - ">="
|
40
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 29
|
41
46
|
segments:
|
42
47
|
- 0
|
43
48
|
- 1
|
@@ -78,23 +83,27 @@ rdoc_options:
|
|
78
83
|
require_paths:
|
79
84
|
- lib
|
80
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
81
87
|
requirements:
|
82
88
|
- - ">="
|
83
89
|
- !ruby/object:Gem::Version
|
90
|
+
hash: 3
|
84
91
|
segments:
|
85
92
|
- 0
|
86
93
|
version: "0"
|
87
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
88
96
|
requirements:
|
89
97
|
- - ">="
|
90
98
|
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
91
100
|
segments:
|
92
101
|
- 0
|
93
102
|
version: "0"
|
94
103
|
requirements: []
|
95
104
|
|
96
105
|
rubyforge_project:
|
97
|
-
rubygems_version: 1.3.
|
106
|
+
rubygems_version: 1.3.7
|
98
107
|
signing_key:
|
99
108
|
specification_version: 3
|
100
109
|
summary: a ruby wrapper to interact with a nexus maven repository
|