gem_publisher 1.4.2 → 1.5.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.
@@ -1,3 +1,3 @@
1
1
  module GemPublisher
2
- VERSION = "1.4.2"
2
+ VERSION = "1.5.0"
3
3
  end
@@ -11,9 +11,16 @@ class Gem::Commands::PublishCommand < Gem::Command
11
11
  add_option(
12
12
  "-rREPOSITORY", "--repository=REPOSITORY",
13
13
  "Set the gem repository (rubygems or gemfury)",
14
- "Default: #{options[:gem_repository]}") do |value, options|
14
+ "Default: #{defaults[:gem_repository]}") do |value, options|
15
15
  options[:gem_repository] = value
16
16
  end
17
+
18
+ add_option(
19
+ "-aAS", "--as=AS",
20
+ "Specify a shared account to publish the gem (gemfury only)"
21
+ ) do |value, options|
22
+ options[:as] = value
23
+ end
17
24
  end
18
25
 
19
26
  def usage # :nodoc:
@@ -23,7 +30,10 @@ class Gem::Commands::PublishCommand < Gem::Command
23
30
  def execute
24
31
  options[:args].each do |gemspec|
25
32
  Dir.chdir(File.dirname(gemspec)) do
26
- gem = GemPublisher.publish_if_updated(File.basename(gemspec), options[:gem_repository])
33
+ new_opts = {}
34
+ new_opts[:as] = options[:as] if options[:as]
35
+
36
+ gem = GemPublisher.publish_if_updated(File.basename(gemspec), options[:gem_repository], new_opts)
27
37
 
28
38
  if gem
29
39
  $stderr.puts "Published #{gem}"
@@ -11,7 +11,7 @@ module GemPublisher
11
11
 
12
12
  def test_should_report_published_gem
13
13
  GemPublisher.expects(:publish_if_updated).
14
- with("awesome.gemspec", "rubygems").
14
+ with("awesome.gemspec", "rubygems", optionally({})).
15
15
  returns("awesome-1.0.0.gem")
16
16
  $stderr.expects(:puts).with("Published awesome-1.0.0.gem")
17
17
 
@@ -21,7 +21,7 @@ module GemPublisher
21
21
 
22
22
  def test_should_not_report_unpublished_gem
23
23
  GemPublisher.expects(:publish_if_updated).
24
- with("awesome.gemspec", "rubygems").
24
+ with("awesome.gemspec", "rubygems", optionally({})).
25
25
  returns(nil)
26
26
  $stderr.expects(:puts).with("Nothing to do for awesome.gemspec")
27
27
 
@@ -31,7 +31,7 @@ module GemPublisher
31
31
 
32
32
  def test_should_use_gemfury_if_requested
33
33
  GemPublisher.expects(:publish_if_updated).
34
- with("awesome.gemspec", "gemfury").
34
+ with("awesome.gemspec", "gemfury", optionally({})).
35
35
  returns("awesome-1.0.0.gem")
36
36
  $stderr.expects(:puts).with(anything)
37
37
 
@@ -41,12 +41,36 @@ module GemPublisher
41
41
 
42
42
  def test_should_use_gemfury_with_long_option
43
43
  GemPublisher.expects(:publish_if_updated).
44
- with("awesome.gemspec", "gemfury").
44
+ with("awesome.gemspec", "gemfury", optionally({})).
45
45
  returns("awesome-1.0.0.gem")
46
46
  $stderr.expects(:puts).with(anything)
47
47
 
48
48
  @command.handle_options ["--repository=gemfury", "awesome.gemspec"]
49
49
  @command.execute
50
50
  end
51
+
52
+ def test_should_use_specific_user_if_requested
53
+ expected_username = "username"
54
+
55
+ GemPublisher.expects(:publish_if_updated).
56
+ with("awesome.gemspec", 'rubygems', has_entry(:as, expected_username)).
57
+ returns("awesome-1.0.0.gem")
58
+ $stderr.expects(:puts).with(anything)
59
+
60
+ @command.handle_options ["-a", expected_username, "awesome.gemspec"]
61
+ @command.execute
62
+ end
63
+
64
+ def test_should_use_specific_user_with_long_option
65
+ expected_username = "username"
66
+
67
+ GemPublisher.expects(:publish_if_updated).
68
+ with("awesome.gemspec", 'rubygems', has_entry(:as, expected_username)).
69
+ returns("awesome-1.0.0.gem")
70
+ $stderr.expects(:puts).with(anything)
71
+
72
+ @command.handle_options ["--as", expected_username, "awesome.gemspec"]
73
+ @command.execute
74
+ end
51
75
  end
52
76
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_publisher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-10-22 00:00:00.000000000 Z
12
+ date: 2014-10-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mocha
@@ -99,7 +99,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
99
  version: '0'
100
100
  segments:
101
101
  - 0
102
- hash: -1286813029055654775
102
+ hash: -839019601125332302
103
103
  required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  none: false
105
105
  requirements:
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  version: '0'
109
109
  segments:
110
110
  - 0
111
- hash: -1286813029055654775
111
+ hash: -839019601125332302
112
112
  requirements: []
113
113
  rubyforge_project:
114
114
  rubygems_version: 1.8.23.2