client-api 0.3.3 → 0.3.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0a612f5c50744b4c1f7ecdea839fa8d222f7e2e39148f57f1dc4d4716eaa2c8
4
- data.tar.gz: c2671c223b7d26c4600a0b9b48189347d5aef8cdd09d3ca6f921dcede096cb3c
3
+ metadata.gz: d2e9cdee9c77e69f0b74fba761bd250516ac0d08f7cf8f1ad62486f74dac57ab
4
+ data.tar.gz: b57b1ef0522cf9bc785a01f422b7c032639cb386e09b10bec3eceef4ecc35ef9
5
5
  SHA512:
6
- metadata.gz: 732762a2aa97f9d09f20230e0fb91fa16606a41cb93241529e45ef121eb42bb2f85c0366a421c9882943c8b098fe194721ddd876cfa230324bb96bada91f86c8
7
- data.tar.gz: a1ecf533512e3524076db73a859d010b07aa474f45384bdff686234fc4378824fd7b69f8e2fff694692649488cb30a5c6359dc3d277101b7643c9878fe395805
6
+ metadata.gz: 4513c7768af1d60ee8186716b0dd3599e97c5af909eedeebf9b4b7a492e3cbd820d565318f00fb2b39ca1d5a7cd1821dd4ea530f546e83b956b3a15c36fc5973
7
+ data.tar.gz: 6010df3cc068384700d77017ec106458edbcf16ea20da01f91ca4a1ac76744d8f2718554fb5e976cc943d4b599d4c8382e8ca96dda0d6b1e0ee9ca9efb6647c0
@@ -3,13 +3,14 @@ require "json-schema"
3
3
  module ClientApi
4
4
 
5
5
  def validate(res, *options)
6
+
7
+ # noinspection RubyScope
6
8
  options.map do |data|
7
9
  raise('"key": ""'.green + ' field is missing'.red) if data[:key].nil?
8
- raise('"operator":'.green + ' or'.red + ' "size":'.green + ' or'.red + ' "empty":'.green + ' "has_key":'.green + ' field is not given!'.red) if data[:operator].nil? && data[:size].nil? && data[:empty].nil? && data[:has_key].nil?
9
- raise('"value":'.green + ' or'.red + ' "size":'.green + ' or'.red + ' "type":'.green + ' field is not given!'.red) if data[:value].nil? && data[:type].nil? && data[:size].nil? if data[:operator] != nil
10
+ raise('Need at least one field to validate'.green) if data[:value].nil? && data[:type].nil? && data[:size].nil? && data[:empty].nil? && data[:has_key].nil?
10
11
 
11
12
  value ||= data[:value]
12
- operator ||= data[:operator]
13
+ operator ||= (data[:operator] || '==').downcase
13
14
  type ||= data[:type]
14
15
  size ||= data[:size]
15
16
  empty ||= data[:empty]
@@ -18,159 +19,162 @@ module ClientApi
18
19
  @resp = JSON.parse(res.to_json)
19
20
  key = data[:key].split("->")
20
21
 
22
+ @err_method = []
23
+
21
24
  key.map do |method|
22
25
  method = method.to_i if is_num?(method)
26
+ @err_method = @err_method << method
27
+
23
28
  begin
29
+ if method.is_a? Integer
30
+ raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if ((@resp.class != Array) || (method.to_i >= @resp.count)) && data[:has_key].nil?
31
+ else
32
+ raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if !@resp.include?(method) && data[:has_key].nil?
33
+ end
24
34
  @resp = @resp.send(:[], method)
25
35
  rescue NoMethodError
26
- raise "[key]: \"#{data[:key]}\"".blue + "\n does not exist"+"\n" if data[:has_key].nil?
36
+ raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if data[:has_key].nil?
27
37
  end
28
38
  end
29
39
 
30
- if operator != nil
31
- case operator
32
- when '=', '==', 'eql', 'eql?', 'equal', 'equal?'
33
- # value validation
34
- expect(value).to eq(@resp), lambda {"[key]: \"#{data[:key]}\"".blue + "\n didn't match \n[value]: \"#{data[:value]}\"\n"} if value != nil
35
-
36
- # datatype validation
37
- if (type == 'boolean') || (type == 'bool')
38
- expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
39
- elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
40
- expect(datatype(type, value)).to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
41
- end
40
+ case operator
41
+ when '=', '==', 'eql', 'eql?', 'equal', 'equal?'
42
+ # has key validation
43
+ validate_key(has_key, data) if has_key != nil
42
44
 
43
- # size validation
44
- validate_size(size, data) if size != nil
45
+ # value validation
46
+ expect(value).to eq(@resp), lambda {"[key]: \"#{data[:key]}\"".blue + "\n didn't match \n[value]: \"#{data[:value]}\"\n"} if value != nil
45
47
 
46
- # is empty validation
47
- validate_empty(empty, data) if empty != nil
48
+ # datatype validation
49
+ if (type == 'boolean') || (type == 'bool')
50
+ expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
51
+ elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
52
+ expect(datatype(type, value)).to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
53
+ end
48
54
 
49
- # has key validation
50
- validate_key(has_key, data) if has_key != nil
55
+ # size validation
56
+ validate_size(size, data) if size != nil
51
57
 
52
- when '!', '!=', '!eql', '!eql?', 'not eql', 'not equal', '!equal?'
53
- # value validation
54
- expect(value).not_to eq(@resp), lambda {"[key]: \"#{data[:key]}\"".blue + "\n didn't match \n[value]: \"#{data[:value]}\"\n"} if value != nil
58
+ # is empty validation
59
+ validate_empty(empty, data) if empty != nil
55
60
 
56
- # datatype validation
57
- if (type == 'boolean') || (type == 'bool')
58
- expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).not_to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
59
- elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
60
- expect(datatype(type, value)).not_to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
61
- end
61
+ when '!', '!=', '!eql', '!eql?', 'not eql', 'not equal', '!equal?'
62
+ # has key validation
63
+ validate_key(has_key, data) if has_key != nil
62
64
 
63
- # size validation
64
- if size != nil
65
- begin
66
- expect(size).not_to eq(@resp.count), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "size shouldn't match" + "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "[size not expected]: #{size}".green}
67
- rescue NoMethodError
68
- expect(size).not_to eq(0), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "size shouldn't match" + "\n\n" + "[ actual size ]: 0" + "\n" + "[size not expected]: #{size}".green}
69
- rescue ArgumentError
70
- expect(size).not_to eq(0), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "size shouldn't match" + "\n\n" + "[ actual size ]: 0" + "\n" + "[size not expected]: #{size}".green}
71
- end
65
+ # value validation
66
+ expect(value).not_to eq(@resp), lambda {"[key]: \"#{data[:key]}\"".blue + "\n didn't match \n[value]: \"#{data[:value]}\"\n"} if value != nil
67
+
68
+ # datatype validation
69
+ if (type == 'boolean') || (type == 'bool')
70
+ expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).not_to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
71
+ elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
72
+ expect(datatype(type, value)).not_to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
73
+ end
74
+
75
+ # size validation
76
+ if size != nil
77
+ begin
78
+ expect(size).not_to eq(@resp.count), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "size shouldn't match" + "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "[size not expected]: #{size}".green}
79
+ rescue NoMethodError
80
+ expect(size).not_to eq(0), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "size shouldn't match" + "\n\n" + "[ actual size ]: 0" + "\n" + "[size not expected]: #{size}".green}
81
+ rescue ArgumentError
82
+ expect(size).not_to eq(0), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "size shouldn't match" + "\n\n" + "[ actual size ]: 0" + "\n" + "[size not expected]: #{size}".green}
72
83
  end
84
+ end
73
85
 
74
- # is empty validation
75
- validate_empty(empty, data) if empty != nil
86
+ # is empty validation
87
+ validate_empty(empty, data) if empty != nil
76
88
 
77
- # has key validation
78
- validate_key(has_key, data) if has_key != nil
89
+ when '>', '>=', '<', '<=', 'greater than', 'greater than or equal to', 'less than', 'less than or equal to', 'lesser than', 'lesser than or equal to'
90
+ message = 'is not greater than (or) equal to' if operator == '>=' || operator == 'greater than or equal to'
91
+ message = 'is not greater than' if operator == '>' || operator == 'greater than'
92
+ message = 'is not lesser than (or) equal to' if operator == '<=' || operator == 'less than or equal to'
93
+ message = 'is not lesser than' if operator == '<' || operator == 'less than' || operator == 'lesser than'
79
94
 
80
- when '>', '>=', '<', '<=', 'greater than', 'greater than or equal to', 'less than', 'less than or equal to', 'lesser than', 'lesser than or equal to'
81
- message = 'is not greater than (or) equal to' if operator == '>=' || operator == 'greater than or equal to'
82
- message = 'is not greater than' if operator == '>' || operator == 'greater than'
83
- message = 'is not lesser than (or) equal to' if operator == '<=' || operator == 'less than or equal to'
84
- message = 'is not lesser than' if operator == '<' || operator == 'less than' || operator == 'lesser than'
95
+ # has key validation
96
+ validate_key(has_key, data) if has_key != nil
85
97
 
86
- # value validation
87
- expect(@resp.to_i.public_send(operator, value)).to eq(true), "[key]: \"#{data[:key]}\"".blue + "\n #{message} \n[value]: \"#{data[:value]}\"\n" if value != nil
98
+ # value validation
99
+ expect(@resp.to_i.public_send(operator, value)).to eq(true), "[key]: \"#{data[:key]}\"".blue + "\n #{message} \n[value]: \"#{data[:value]}\"\n" if value != nil
88
100
 
89
- # datatype validation
90
- expect(datatype(type, value)).to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"} if type != nil
101
+ # datatype validation
102
+ expect(datatype(type, value)).to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"} if type != nil
91
103
 
92
- # size validation
93
- if size != nil
94
- begin
95
- expect(@resp.count.to_i.public_send(operator, size)).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "#{message} #{size}" + "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "expected size to be #{operator} #{size}".green}
96
- rescue NoMethodError
97
- expect(0.public_send(operator, size)).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "#{message} #{size}" + "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to be #{operator} #{size}".green}
98
- rescue ArgumentError
99
- expect(0.public_send(operator, size)).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "#{message} #{size}" + "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to be #{operator} #{size}".green}
100
- end
104
+ # size validation
105
+ if size != nil
106
+ begin
107
+ expect(@resp.count.to_i.public_send(operator, size)).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "#{message} #{size}" + "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "expected size to be #{operator} #{size}".green}
108
+ rescue NoMethodError
109
+ expect(0.public_send(operator, size)).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "#{message} #{size}" + "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to be #{operator} #{size}".green}
110
+ rescue ArgumentError
111
+ expect(0.public_send(operator, size)).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n" + "#{message} #{size}" + "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to be #{operator} #{size}".green}
101
112
  end
113
+ end
102
114
 
103
- # is empty validation
104
- validate_empty(empty, data) if empty != nil
115
+ # is empty validation
116
+ validate_empty(empty, data) if empty != nil
105
117
 
106
- # has key validation
107
- validate_key(has_key, data) if has_key != nil
118
+ when 'contains', 'has', 'contains?', 'has?', 'include', 'include?'
119
+ # has key validation
120
+ validate_key(has_key, data) if has_key != nil
108
121
 
109
- when 'contains', 'has', 'contains?', 'has?', 'include', 'include?'
110
- # value validation
111
- expect(@resp.to_s).to include(value.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n not contains \n[value]: \"#{data[:value]}\"\n"} if value != nil
122
+ # value validation
123
+ expect(@resp.to_s).to include(value.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n not contains \n[value]: \"#{data[:value]}\"\n"} if value != nil
112
124
 
113
- # datatype validation
114
- if (type == 'boolean') || (type == 'bool')
115
- expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
116
- elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
117
- expect(datatype(type, value)).to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
118
- end
125
+ # datatype validation
126
+ if (type == 'boolean') || (type == 'bool')
127
+ expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
128
+ elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
129
+ expect(datatype(type, value)).to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
130
+ end
119
131
 
120
- # size validation
121
- if size != nil
122
- begin
123
- expect(@resp.count.to_s).to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size not contains #{size}"+ "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "expected size to contain: #{size}".green}
124
- rescue NoMethodError
125
- expect(0.to_s).to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size not contains #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to contain: #{size}".green}
126
- rescue ArgumentError
127
- expect(0.to_s).to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size not contains #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to contain: #{size}".green}
128
- end
132
+ # size validation
133
+ if size != nil
134
+ begin
135
+ expect(@resp.count.to_s).to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size not contains #{size}"+ "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "expected size to contain: #{size}".green}
136
+ rescue NoMethodError
137
+ expect(0.to_s).to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size not contains #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to contain: #{size}".green}
138
+ rescue ArgumentError
139
+ expect(0.to_s).to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size not contains #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size to contain: #{size}".green}
129
140
  end
141
+ end
130
142
 
131
- # is empty validation
132
- validate_empty(empty, data) if empty != nil
133
-
134
- when 'not contains', '!contains', 'not include', '!include'
135
- # value validation
136
- expect(@resp.to_s).not_to include(value.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n should not contain \n[value]: \"#{data[:value]}\"\n"} if value != nil
137
-
138
- # datatype validation
139
- if (type == 'boolean') || (type == 'bool')
140
- expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).not_to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
141
- elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
142
- expect(datatype(type, value)).not_to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
143
- end
143
+ # is empty validation
144
+ validate_empty(empty, data) if empty != nil
144
145
 
145
- # size validation
146
- if size != nil
147
- begin
148
- expect(@resp.count.to_s).not_to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size should not contain #{size}"+ "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "expected size not to contain: #{size}".green}
149
- rescue NoMethodError
150
- expect(0.to_s).not_to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size should not contain #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size not to contain: #{size}".green}
151
- rescue ArgumentError
152
- expect(0.to_s).not_to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size should not contain #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size not to contain: #{size}".green}
153
- end
154
- end
146
+ when 'not contains', '!contains', 'not include', '!include'
147
+ # has key validation
148
+ validate_key(has_key, data) if has_key != nil
155
149
 
156
- # is empty validation
157
- validate_empty(empty, data) if empty != nil
150
+ # value validation
151
+ expect(@resp.to_s).not_to include(value.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n should not contain \n[value]: \"#{data[:value]}\"\n"} if value != nil
158
152
 
159
- # has key validation
160
- validate_key(has_key, data) if has_key != nil
153
+ # datatype validation
154
+ if (type == 'boolean') || (type == 'bool')
155
+ expect(%w[TrueClass, FalseClass].any? {|bool| bool.include? @resp.class.to_s}).not_to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
156
+ elsif ((type != 'boolean') || (type != 'bool')) && (type != nil)
157
+ expect(datatype(type, value)).not_to eq(@resp.class), lambda {"[key]: \"#{data[:key]}\"".blue + "\n datatype shouldn't be \n[type]: \"#{data[:type]}\"\n"}
158
+ end
161
159
 
162
- else
163
- raise('operator not matching')
160
+ # size validation
161
+ if size != nil
162
+ begin
163
+ expect(@resp.count.to_s).not_to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size should not contain #{size}"+ "\n\n" + "[ actual size ]: #{@resp.count}" + "\n" + "expected size not to contain: #{size}".green}
164
+ rescue NoMethodError
165
+ expect(0.to_s).not_to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size should not contain #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size not to contain: #{size}".green}
166
+ rescue ArgumentError
167
+ expect(0.to_s).not_to include(size.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n"+ "size should not contain #{size}"+ "\n\n" + "[ actual size ]: 0" + "\n" + "expected size not to contain: #{size}".green}
168
+ end
164
169
  end
165
170
 
166
- elsif ((size != nil) || (empty != nil) || (has_key != nil)) && operator.nil?
171
+ # is empty validation
167
172
  validate_empty(empty, data) if empty != nil
168
- validate_size(size, data) if size != nil
169
- validate_key(has_key, data) if has_key != nil
170
173
 
171
174
  else
172
- raise('invalid validation fields')
175
+ raise('operator not matching')
173
176
  end
177
+
174
178
  end
175
179
 
176
180
  end
@@ -1,3 +1,3 @@
1
1
  module ClientApi
2
- VERSION = "0.3.3".freeze
2
+ VERSION = "0.3.4".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: client-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prashanth Sams
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-11 00:00:00.000000000 Z
11
+ date: 2019-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler