yes_ship_it 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c03123d3e0851fe216fdd0135fa0e163c72da3e
4
- data.tar.gz: d13c629643162c290b3bbf174b4bb116d274cdb0
3
+ metadata.gz: ec285a924c393af40f92c2a10434593a85391c49
4
+ data.tar.gz: 9d03622b69d49a9e8640ce7e7e7e5b19c97572a7
5
5
  SHA512:
6
- metadata.gz: 4abbf5c76e8810acf51136453016dd949e76ffd128fde6d3d19acd8addd01d22683a0a8612280c267317c989b6d8bb308cc476f16016e21b35c3ece7600a3e0d
7
- data.tar.gz: fa36c7b3228c5c6c2f4acc73dba25a5998fac73ec48e120ad8a9c7adc01992444a35129cea52364f85c0bcee954284a9d90e603f44704454242c21d7e8259c6b
6
+ metadata.gz: 18da7c6c0778d93c4f1722f13f5fb7bd20f0ea8b9c432b735652ceeb4385ac97b71858dd7e4f0dfe9464f4869b7cbb5048fd61d247f3ded621bd19227f7d92bc
7
+ data.tar.gz: e82dd42519fdde9fef8561662eb7cf841a45415753d72bc0fa952e8aea13d3bea990ac98ba83c72afa22ef559e0f6d6b29d1c333e567daccf3c8d9e0e75a437a
data/.gitignore CHANGED
@@ -1,3 +1,5 @@
1
1
  Gemfile.lock
2
2
  *.gem
3
3
  tmp
4
+ *.swp
5
+ .vscode
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Change log of yes_ship_it
2
2
 
3
+ ## Version 0.2.0
4
+
5
+ * Make URL of YesItShipped server where updates are posted configurable
6
+
3
7
  ## Version 0.1.2
4
8
 
5
9
  * Parse time zone of tag date also in the case when it's different from local
@@ -6,9 +6,15 @@ module YSI
6
6
  "pushed to yes-it-shipped"
7
7
  end
8
8
 
9
+ def self.url
10
+ "https://yes-it-shipped.herokuapp.com"
11
+ end
12
+
13
+ parameter :yis_server_url, YesItShipped.url
14
+
9
15
  def check
10
16
  begin
11
- RestClient.get("https://yes-it-shipped.herokuapp.com/releases/#{engine.project_name}/#{engine.version}")
17
+ RestClient.get("#{yis_server_url}/releases/#{engine.project_name}/#{engine.version}")
12
18
  return "#{engine.project_name}-#{engine.version}"
13
19
  rescue RestClient::ResourceNotFound
14
20
  return nil
@@ -16,7 +22,7 @@ module YSI
16
22
  end
17
23
 
18
24
  def assert(executor)
19
- executor.http_post("https://yes-it-shipped.herokuapp.com/releases",
25
+ executor.http_post("#{yis_server_url}/releases",
20
26
  project: engine.project_name, version: engine.version,
21
27
  release_date_time: engine.tag_date, project_url: engine.project_url,
22
28
  release_url: engine.release_url, ysi_config_url: engine.config_url)
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module YSI
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -42,6 +42,11 @@ module YSI
42
42
  end
43
43
  end
44
44
  out.puts
45
+ out.puts "The generated configuration includes an assertion, which publishes the release on"
46
+ out.puts "#{YesItShipped.url}, our release notification service. If you"
47
+ out.puts "prefer to not publish releases there, simply remove the `yes_it_shipped`"
48
+ out.puts "assertion."
49
+ out.puts
45
50
  out.puts "Check the file `yes_ship_it.conf` and adapt it to your needs."
46
51
  out.puts
47
52
  out.puts "Happy shipping!"
data/lib/yes_ship_it.rb CHANGED
@@ -6,6 +6,7 @@ require "rexml/document"
6
6
  require "erb"
7
7
  require "cheetah"
8
8
  require "time"
9
+ require "json"
9
10
 
10
11
  require_relative "yes_ship_it/assertion.rb"
11
12
  require_relative "yes_ship_it/engine.rb"
@@ -300,6 +300,11 @@ Initialized directory for shipping.
300
300
 
301
301
  Couldn't determine type of project, wrote a generic template.
302
302
 
303
+ The generated configuration includes an assertion, which publishes the release on
304
+ https://yes-it-shipped.herokuapp.com, our release notification service. If you
305
+ prefer to not publish releases there, simply remove the `yes_it_shipped`
306
+ assertion.
307
+
303
308
  Check the file `yes_ship_it.conf` and adapt it to your needs.
304
309
 
305
310
  Happy shipping!
@@ -320,6 +325,11 @@ Initialized directory for shipping.
320
325
 
321
326
  It looks like this is is Ruby project.
322
327
 
328
+ The generated configuration includes an assertion, which publishes the release on
329
+ https://yes-it-shipped.herokuapp.com, our release notification service. If you
330
+ prefer to not publish releases there, simply remove the `yes_it_shipped`
331
+ assertion.
332
+
323
333
  Check the file `yes_ship_it.conf` and adapt it to your needs.
324
334
 
325
335
  Happy shipping!
@@ -17,8 +17,8 @@ describe YSI::YesItShipped do
17
17
  }
18
18
  EOT
19
19
  stub_request(:get, "https://yes-it-shipped.herokuapp.com/releases/dummy/1.0.0").
20
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
21
- to_return(:status => 200, :body => body, :headers => {})
20
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip, deflate', 'Host'=>'yes-it-shipped.herokuapp.com'}).
21
+ to_return(:status => 200, :body => body, :headers => {})
22
22
 
23
23
  engine = YSI::Engine.new
24
24
  allow(engine).to receive(:project_name).and_return("dummy")
@@ -29,8 +29,8 @@ EOT
29
29
 
30
30
  it "fails when release is not there" do
31
31
  stub_request(:get, "https://yes-it-shipped.herokuapp.com/releases/dummy/2.0.0").
32
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
33
- to_return(:status => 404, :body => "", :headers => {})
32
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip, deflate', 'Host'=>'yes-it-shipped.herokuapp.com'}).
33
+ to_return(:status => 404, :body => "", :headers => {})
34
34
 
35
35
  engine = YSI::Engine.new
36
36
  allow(engine).to receive(:project_name).and_return("dummy")
@@ -53,11 +53,11 @@ EOT
53
53
  "ysi_config_url"=>"https://raw.githubusercontent.com/cornelius/yes_ship_it/master/yes_ship_it.conf"
54
54
  },
55
55
  :headers => {
56
- 'Accept'=>'*/*; q=0.5, application/xml',
56
+ 'Accept'=>'*/*',
57
57
  'Accept-Encoding'=>'gzip, deflate',
58
- 'Content-Length'=>'338',
58
+ 'Content-Length'=>'334',
59
59
  'Content-Type'=>'application/x-www-form-urlencoded',
60
- 'User-Agent'=>'Ruby'
60
+ 'Host'=>'yes-it-shipped.herokuapp.com'
61
61
  }).to_return(:status => 200, :body => "", :headers => {})
62
62
 
63
63
  engine = YSI::Engine.new
@@ -71,4 +71,27 @@ EOT
71
71
  expect(assertion.assert(engine.executor)).to eq("dummy-1.1.1")
72
72
  end
73
73
  end
74
+
75
+ it "reads yis_server_url parameter" do
76
+ config = <<EOT
77
+ assertions:
78
+ yes_it_shipped:
79
+ yis_server_url: http://localhost:3000
80
+ EOT
81
+ engine = YSI::Engine.new
82
+ engine.read_config(config)
83
+
84
+ expect(engine.assertions.first.yis_server_url).to eq("http://localhost:3000")
85
+ end
86
+
87
+ it "has default yis_server_url parameter" do
88
+ config = <<EOT
89
+ assertions:
90
+ yes_it_shipped:
91
+ EOT
92
+ engine = YSI::Engine.new
93
+ engine.read_config(config)
94
+
95
+ expect(engine.assertions.first.yis_server_url).to eq("https://yes-it-shipped.herokuapp.com")
96
+ end
74
97
  end
data/yes_ship_it.gemspec CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.add_development_dependency "given_filesystem"
24
24
  s.add_development_dependency "cli_tester", ">= 0.0.2"
25
25
  s.add_development_dependency "httpotemkin"
26
- s.add_development_dependency "webmock"
26
+ s.add_development_dependency "webmock", "~> 2.1"
27
27
 
28
28
  s.files = `git ls-files`.split("\n")
29
29
  s.require_path = 'lib'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yes_ship_it
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cornelius Schumacher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-10 00:00:00.000000000 Z
11
+ date: 2016-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inifile
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: webmock
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '2.1'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '2.1'
125
125
  description: Whenever the answer is 'Yes, ship it!' you will need yes_ship_it. It
126
126
  is the ultimate helper in releasing software..
127
127
  email: