global_sign 2.2.0 → 2.3.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
- SHA1:
3
- metadata.gz: b61f4c3a95b781f91f21f77edbe3536de9a029af
4
- data.tar.gz: a7f875c2e646bc51e608408fdf95fb2b6e53b1e4
2
+ SHA256:
3
+ metadata.gz: adff6a919745a77e1100fe13c7e40a5f2b39bd754fc12748b3146c4a6bb44dc9
4
+ data.tar.gz: ab6a1be53ba7da8d9f0f40004b908d3e25731a32d5b2dff5ac2f89fd91b511bb
5
5
  SHA512:
6
- metadata.gz: f4382bee9a338e265906f0a6d2903e650617b8afe41b747a3e0b5b183f7798d8f9c49db5659c243a02680b543d11966de3b54564af40206ff6a00d9ab4c00c14
7
- data.tar.gz: def1382d5dc859cf74b6511207eedee1b1c1c959589c090513f8f5996135f93cc1dfc1ad982152a832bc61e1ee03ff5442f420e8943ad3de2cab6c9464c5a3c3
6
+ metadata.gz: ba107322e6fdc9b33b031dc3b1c1613e251ce95536901bf94454f8a476da5391e8c13457b7f5cdf945015ef957597d6882cba056085c4e593119ea09add1667a
7
+ data.tar.gz: 1109ff5ea85ee7af0986e24c522071df1397afd5697818454a91fa537af84ae06edc1d8d37c557b8ea0e91defc76e858dc19e95941320fe8bdb2f1ff9f3f1bd6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 2.3.0
2
+ - Support GlobalSign API: EVOrder
3
+
1
4
  ## 2.2.0
2
5
 
3
6
  - Added `options` optional keyword argument to `GlobalSign::Client`
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # GlobalSign
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/global_sign.svg)](https://badge.fury.io/rb/global_sign)
4
- [![wercker status](https://app.wercker.com/status/8cf8771f0da8bc4f1ea0adc8eb65b295/s/master "wercker status")](https://app.wercker.com/project/byKey/8cf8771f0da8bc4f1ea0adc8eb65b295)
4
+ ![CI](https://github.com/pepabo/global_sign/workflows/CI/badge.svg?branch=master)
5
5
 
6
6
  A Ruby interface to the [GlobalSign](https://www.globalsign.com/) API.
7
7
 
data/global_sign.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.license = 'MIT'
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
- f.match(%r{^(test|spec|features)/})
18
+ f.match(%r{^(.github|test|spec|features)/})
19
19
  end
20
20
  spec.bindir = 'exe'
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -26,8 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency 'faraday'
27
27
  spec.add_runtime_dependency 'nokogiri'
28
28
 
29
- spec.add_development_dependency 'bundler', '~> 1.13'
30
- spec.add_development_dependency 'rake', '~> 10.0'
29
+ spec.add_development_dependency 'bundler'
30
+ spec.add_development_dependency 'rake'
31
31
  spec.add_development_dependency 'rspec'
32
32
  spec.add_development_dependency 'webmock'
33
33
  spec.add_development_dependency 'vcr'
data/lib/global_sign.rb CHANGED
@@ -3,6 +3,15 @@ require 'active_support/core_ext/hash/conversions'
3
3
  require 'global_sign/version'
4
4
  require 'global_sign/client'
5
5
  require 'global_sign/contract'
6
+ require 'global_sign/organization_address'
7
+ require 'global_sign/organization_info'
8
+ require 'global_sign/organization_info/credit_agency'
9
+ require 'global_sign/organization_info_ev'
10
+ require 'global_sign/organization_info_ev/business_category_code'
11
+ require 'global_sign/requestor_info'
12
+ require 'global_sign/approver_info'
13
+ require 'global_sign/authorized_signer_info'
14
+ require 'global_sign/jurisdiction_info'
6
15
  require 'global_sign/request_xml_builder'
7
16
  require 'global_sign/request'
8
17
  require 'global_sign/response'
@@ -16,6 +25,8 @@ require 'global_sign/dns_verification'
16
25
  require 'global_sign/dns_verification_for_issue'
17
26
  require 'global_sign/dv_approver_list'
18
27
  require 'global_sign/dv_order'
28
+ require 'global_sign/ov_order'
29
+ require 'global_sign/ev_order'
19
30
 
20
31
  module GlobalSign
21
32
  class << self
@@ -0,0 +1,15 @@
1
+ module GlobalSign
2
+ class ApproverInfo
3
+ attr_accessor :first_name, :last_name, :function, :organization_name, :organization_unit, :phone_number, :email
4
+
5
+ def initialize(first_name:, last_name:, function: nil, organization_name:, organization_unit: nil, phone_number:, email:)
6
+ @first_name = first_name
7
+ @last_name = last_name
8
+ @function = function
9
+ @organization_name = organization_name
10
+ @organization_unit = organization_unit
11
+ @phone_number = phone_number
12
+ @email = email
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ module GlobalSign
2
+ class AuthorizedSignerInfo
3
+ attr_accessor :first_name, :last_name, :function, :organization_name, :phone_number, :email
4
+
5
+ def initialize(first_name:, last_name:, function: nil, organization_name:, phone_number:, email:)
6
+ @first_name = first_name
7
+ @last_name = last_name
8
+ @function = function
9
+ @organization_name = organization_name
10
+ @phone_number = phone_number
11
+ @email = email
12
+ end
13
+ end
14
+ end
@@ -42,6 +42,10 @@ module GlobalSign
42
42
  GlobalSign::DVApproverList::Response
43
43
  when GlobalSign::DVOrder::Request
44
44
  GlobalSign::DVOrder::Response
45
+ when GlobalSign::OVOrder::Request
46
+ GlobalSign::OVOrder::Response
47
+ when GlobalSign::EVOrder::Request
48
+ GlobalSign::EVOrder::Response
45
49
  else
46
50
  raise ArgumentError, 'invalid request argument'
47
51
  end
@@ -0,0 +1,2 @@
1
+ require 'global_sign/ev_order/request'
2
+ require 'global_sign/ev_order/response'
@@ -0,0 +1,132 @@
1
+ module GlobalSign
2
+ module EVOrder
3
+ class Request < GlobalSign::Request
4
+ KIND_RENEWAL = 'renewal'.freeze
5
+
6
+ def initialize(product_code: 'EV', order_kind:, validity_period_months:, csr:, renewal_target_order_id: nil, organization_info_ev:, requestor_info:, approver_info:, authorized_signer_info:, jurisdiction_info:, contract_info: nil)
7
+ @product_code = product_code
8
+ @order_kind = order_kind
9
+ @validity_period_months = validity_period_months
10
+ @csr = csr
11
+ @renewal_target_order_id = renewal_target_order_id
12
+ @organization_info_ev = organization_info_ev
13
+ @requestor_info = requestor_info
14
+ @approver_info = approver_info
15
+ @authorized_signer_info = authorized_signer_info
16
+ @jurisdiction_info = jurisdiction_info
17
+ @contract_info = contract_info || GlobalSign.contract
18
+ end
19
+
20
+ def path
21
+ 'ServerSSLService'
22
+ end
23
+
24
+ def action
25
+ 'EVOrder'
26
+ end
27
+
28
+ def request_header
29
+ :OrderRequestHeader
30
+ end
31
+
32
+ def params
33
+ @params = {
34
+ OrderRequestParameter: order_request_parameter,
35
+ OrganizationInfoEV: organization_info_ev,
36
+ RequestorInfo: requestor_info,
37
+ ApproverInfo: approver_info,
38
+ AuthorizedSignerInfo: authorized_signer_info,
39
+ JurisdictionInfo: jurisdiction_info,
40
+ ContactInfo: contact_info
41
+ }
42
+ end
43
+
44
+ private
45
+
46
+ def order_request_parameter
47
+ request_params.tap do |params|
48
+ params[:RenewalTargetOrderID] = @renewal_target_order_id if renew?
49
+ end
50
+ end
51
+
52
+ def request_params
53
+ {
54
+ ProductCode: @product_code,
55
+ OrderKind: @order_kind,
56
+ Licenses: 1,
57
+ ValidityPeriod: {
58
+ Months: @validity_period_months
59
+ },
60
+ CSR: @csr
61
+ }
62
+ end
63
+
64
+ def contact_info
65
+ {
66
+ FirstName: @contract_info.first_name,
67
+ LastName: @contract_info.last_name,
68
+ Phone: @contract_info.phone_number,
69
+ Email: @contract_info.email
70
+ }
71
+ end
72
+
73
+ def organization_info_ev
74
+ {
75
+ CreditAgency: @organization_info_ev.credit_agency,
76
+ OrganizationCode: @organization_info_ev.organization_code,
77
+ BusinessAssumedName: @organization_info_ev.business_assumed_name,
78
+ BusinessCategoryCode: @organization_info_ev.business_category_code,
79
+ OrganizationAddress: @organization_info_ev.organization_address
80
+ }
81
+ end
82
+
83
+ def requestor_info
84
+ {
85
+ FirstName: @requestor_info.first_name,
86
+ LastName: @requestor_info.last_name,
87
+ Function: @requestor_info.function,
88
+ OrganizationName: @requestor_info.organization_name,
89
+ OrganizationUnit: @requestor_info.organization_unit,
90
+ Phone: @requestor_info.phone_number,
91
+ Email: @requestor_info.email
92
+ }
93
+ end
94
+
95
+ def approver_info
96
+ {
97
+ FirstName: @approver_info.first_name,
98
+ LastName: @approver_info.last_name,
99
+ Function: @approver_info.function,
100
+ OrganizationName: @approver_info.organization_name,
101
+ OrganizationUnit: @approver_info.organization_unit,
102
+ Phone: @approver_info.phone_number,
103
+ Email: @approver_info.email
104
+ }
105
+ end
106
+
107
+ def authorized_signer_info
108
+ {
109
+ FirstName: @authorized_signer_info.first_name,
110
+ LastName: @authorized_signer_info.last_name,
111
+ Function: @authorized_signer_info.function,
112
+ OrganizationName: @authorized_signer_info.organization_name,
113
+ Phone: @authorized_signer_info.phone_number,
114
+ Email: @authorized_signer_info.email
115
+ }
116
+ end
117
+
118
+ def jurisdiction_info
119
+ {
120
+ JurisdictionCountry: @jurisdiction_info.jurisdiction_country,
121
+ StateOrProvince: @jurisdiction_info.state_or_province,
122
+ Locality: @jurisdiction_info.locality,
123
+ IncorporatingAgencyRegistrationNumber: @jurisdiction_info.incorporating_agency_registration_number
124
+ }
125
+ end
126
+
127
+ def renew?
128
+ @order_kind == KIND_RENEWAL
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,19 @@
1
+ module GlobalSign
2
+ module EVOrder
3
+ class Response < GlobalSign::Response
4
+ module XPath
5
+ ORDER_ID = '//Response/OrderID'.freeze
6
+ end
7
+
8
+ def response_header
9
+ :OrderResponseHeader
10
+ end
11
+
12
+ def params
13
+ @params ||= {
14
+ order_id: @xml.xpath(XPath::ORDER_ID).text
15
+ }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ module GlobalSign
2
+ class JurisdictionInfo
3
+ attr_accessor :jurisdiction_country, :state_or_province, :locality, :incorporating_agency_registration_number
4
+
5
+ def initialize(jurisdiction_country:, state_or_province:, locality:, incorporating_agency_registration_number:)
6
+ @jurisdiction_country = jurisdiction_country
7
+ @state_or_province = state_or_province
8
+ @locality = locality
9
+ @incorporating_agency_registration_number = incorporating_agency_registration_number
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ module GlobalSign
2
+ class OrganizationAddress
3
+ attr_accessor :address_line1, :address_line2, :address_line3, :city, :region, :postal_code, :country, :phone, :fax
4
+
5
+ def initialize(address_line1:, address_line2: nil, address_line3: nil, city:, region:, postal_code:, country:, phone:, fax: nil)
6
+ @address_line1 = address_line1
7
+ @address_line2 = address_line2
8
+ @address_line3 = address_line3
9
+ @city = city
10
+ @region = region
11
+ @postal_code = postal_code
12
+ @country = country
13
+ @phone = phone
14
+ @fax = fax
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,26 @@
1
+ module GlobalSign
2
+ class OrganizationInfo
3
+ attr_accessor :organization_name, :credit_agency, :organization_code, :organization_address
4
+
5
+ def initialize(organization_name:, credit_agency: nil, organization_code: nil, organization_address:)
6
+ @organization_name = organization_name
7
+ @credit_agency = credit_agency
8
+ @organization_code = organization_code
9
+ @organization_address = organization_address_params(organization_address)
10
+ end
11
+
12
+ def organization_address_params(organization_address)
13
+ {
14
+ AddressLine1: organization_address.address_line1,
15
+ AddressLine2: organization_address.address_line2,
16
+ AddressLine3: organization_address.address_line3,
17
+ City: organization_address.city,
18
+ Region: organization_address.region,
19
+ PostalCode: organization_address.postal_code,
20
+ Country: organization_address.country,
21
+ Phone: organization_address.phone,
22
+ Fax: organization_address.fax
23
+ }
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,8 @@
1
+ module GlobalSign
2
+ class OrganizationInfo
3
+ module CreditAgency
4
+ DUNS = 1
5
+ TDB = 2
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,28 @@
1
+ module GlobalSign
2
+ class OrganizationInfoEV
3
+ attr_accessor :credit_agency, :organization_code, :business_assumed_name, :business_category_code, :organization_address
4
+
5
+
6
+ def initialize(credit_agency: nil, organization_code: nil, business_assumed_name: nil, business_category_code:, organization_address:)
7
+ @credit_agency = credit_agency
8
+ @organization_code = organization_code
9
+ @business_assumed_name = business_assumed_name
10
+ @business_category_code = business_category_code
11
+ @organization_address = organization_address_params(organization_address)
12
+ end
13
+
14
+ def organization_address_params(organization_address)
15
+ {
16
+ AddressLine1: organization_address.address_line1,
17
+ AddressLine2: organization_address.address_line2,
18
+ AddressLine3: organization_address.address_line3,
19
+ City: organization_address.city,
20
+ Region: organization_address.region,
21
+ PostalCode: organization_address.postal_code,
22
+ Country: organization_address.country,
23
+ Phone: organization_address.phone,
24
+ Fax: organization_address.fax
25
+ }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,9 @@
1
+ module GlobalSign
2
+ class OrganizationInfoEV
3
+ module BusinessCategoryCode
4
+ PRIVATE_ORGANIZATION = "PO"
5
+ GOVERNMENT_ENTITY = "GE"
6
+ BUSINESS_ENTITY = "BE"
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,2 @@
1
+ require 'global_sign/ov_order/request'
2
+ require 'global_sign/ov_order/response'
@@ -0,0 +1,79 @@
1
+ module GlobalSign
2
+ module OVOrder
3
+ class Request < GlobalSign::Request
4
+ KIND_RENEWAL = 'renewal'.freeze
5
+
6
+ def initialize(product_code: 'OV', order_kind:, validity_period_months:, csr:, renewal_target_order_id: nil, contract_info: nil, organization_info:)
7
+ @product_code = product_code
8
+ @order_kind = order_kind
9
+ @validity_period_months = validity_period_months
10
+ @csr = csr
11
+ @renewal_target_order_id = renewal_target_order_id
12
+ @contract_info = contract_info || GlobalSign.contract
13
+ @organization_info = organization_info
14
+ end
15
+
16
+ def path
17
+ 'ServerSSLService'
18
+ end
19
+
20
+ def action
21
+ 'OVOrder'
22
+ end
23
+
24
+ def request_header
25
+ :OrderRequestHeader
26
+ end
27
+
28
+ def params
29
+ @params = {
30
+ OrderRequestParameter: order_request_parameter,
31
+ ContactInfo: contact_info,
32
+ OrganizationInfo: organization_info
33
+ }
34
+ end
35
+
36
+ private
37
+
38
+ def order_request_parameter
39
+ request_params.tap do |params|
40
+ params[:RenewalTargetOrderID] = @renewal_target_order_id if renew?
41
+ end
42
+ end
43
+
44
+ def request_params
45
+ {
46
+ ProductCode: @product_code,
47
+ OrderKind: @order_kind,
48
+ Licenses: 1,
49
+ ValidityPeriod: {
50
+ Months: @validity_period_months
51
+ },
52
+ CSR: @csr
53
+ }
54
+ end
55
+
56
+ def contact_info
57
+ {
58
+ FirstName: @contract_info.first_name,
59
+ LastName: @contract_info.last_name,
60
+ Phone: @contract_info.phone_number,
61
+ Email: @contract_info.email
62
+ }
63
+ end
64
+
65
+ def organization_info
66
+ {
67
+ OrganizationName: @organization_info.organization_name,
68
+ CreditAgency: @organization_info.credit_agency,
69
+ OrganizationCode: @organization_info.organization_code,
70
+ OrganizationAddress: @organization_info.organization_address
71
+ }
72
+ end
73
+
74
+ def renew?
75
+ @order_kind == KIND_RENEWAL
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,19 @@
1
+ module GlobalSign
2
+ module OVOrder
3
+ class Response < GlobalSign::Response
4
+ module XPath
5
+ ORDER_ID = '//Response/OrderID'.freeze
6
+ end
7
+
8
+ def response_header
9
+ :OrderResponseHeader
10
+ end
11
+
12
+ def params
13
+ @params ||= {
14
+ order_id: @xml.xpath(XPath::ORDER_ID).text
15
+ }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ module GlobalSign
2
+ class RequestorInfo
3
+ attr_accessor :first_name, :last_name, :function, :organization_name, :organization_unit, :phone_number, :email
4
+
5
+ def initialize(first_name:, last_name:, function: nil, organization_name:, organization_unit: nil, phone_number:, email:)
6
+ @first_name = first_name
7
+ @last_name = last_name
8
+ @function = function
9
+ @organization_name = organization_name
10
+ @organization_unit = organization_unit
11
+ @phone_number = phone_number
12
+ @email = email
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module GlobalSign
2
- VERSION = "2.2.0"
2
+ VERSION = "2.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: global_sign
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ku00
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-17 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -70,30 +70,30 @@ dependencies:
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '1.13'
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '1.13'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -183,6 +183,8 @@ files:
183
183
  - bin/setup
184
184
  - global_sign.gemspec
185
185
  - lib/global_sign.rb
186
+ - lib/global_sign/approver_info.rb
187
+ - lib/global_sign/authorized_signer_info.rb
186
188
  - lib/global_sign/client.rb
187
189
  - lib/global_sign/contract.rb
188
190
  - lib/global_sign/csr_decoder.rb
@@ -200,12 +202,25 @@ files:
200
202
  - lib/global_sign/dv_order.rb
201
203
  - lib/global_sign/dv_order/request.rb
202
204
  - lib/global_sign/dv_order/response.rb
205
+ - lib/global_sign/ev_order.rb
206
+ - lib/global_sign/ev_order/request.rb
207
+ - lib/global_sign/ev_order/response.rb
208
+ - lib/global_sign/jurisdiction_info.rb
203
209
  - lib/global_sign/order_getter_by_order_id.rb
204
210
  - lib/global_sign/order_getter_by_order_id/request.rb
205
211
  - lib/global_sign/order_getter_by_order_id/response.rb
206
212
  - lib/global_sign/order_status.rb
213
+ - lib/global_sign/organization_address.rb
214
+ - lib/global_sign/organization_info.rb
215
+ - lib/global_sign/organization_info/credit_agency.rb
216
+ - lib/global_sign/organization_info_ev.rb
217
+ - lib/global_sign/organization_info_ev/business_category_code.rb
218
+ - lib/global_sign/ov_order.rb
219
+ - lib/global_sign/ov_order/request.rb
220
+ - lib/global_sign/ov_order/response.rb
207
221
  - lib/global_sign/request.rb
208
222
  - lib/global_sign/request_xml_builder.rb
223
+ - lib/global_sign/requestor_info.rb
209
224
  - lib/global_sign/response.rb
210
225
  - lib/global_sign/url_verification.rb
211
226
  - lib/global_sign/url_verification/request.rb
@@ -214,12 +229,11 @@ files:
214
229
  - lib/global_sign/url_verification_for_issue/request.rb
215
230
  - lib/global_sign/url_verification_for_issue/response.rb
216
231
  - lib/global_sign/version.rb
217
- - wercker.yml
218
232
  homepage: https://github.com/pepabo/global_sign
219
233
  licenses:
220
234
  - MIT
221
235
  metadata: {}
222
- post_install_message:
236
+ post_install_message:
223
237
  rdoc_options: []
224
238
  require_paths:
225
239
  - lib
@@ -234,9 +248,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
248
  - !ruby/object:Gem::Version
235
249
  version: '0'
236
250
  requirements: []
237
- rubyforge_project:
238
- rubygems_version: 2.6.13
239
- signing_key:
251
+ rubygems_version: 3.2.3
252
+ signing_key:
240
253
  specification_version: 4
241
254
  summary: A Ruby interface to the GlobalSign API.
242
255
  test_files: []
data/wercker.yml DELETED
@@ -1,16 +0,0 @@
1
- box: ruby:2.3
2
- build:
3
- steps:
4
- - bundle-install
5
- - script:
6
- name: echo ruby information
7
- code: |
8
- echo "ruby version $(ruby --version) running"
9
- echo "from location $(which ruby)"
10
- echo -p "gem list: $(gem list)"
11
- - script:
12
- name: rspec
13
- code: bundle exec rspec
14
- after-steps:
15
- - wantedly/pretty-slack-notify:
16
- webhook_url: $SLACK_WEBHOOK_URL