pnap_audit_api 1.0.1 → 1.0.3

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: e374e772892d2c2429b22d0875d46badfc748ee42a7ae47a46ddd7cbdf518252
4
- data.tar.gz: f4f6e64a19522f12650de9f9ccb49cc325634effce2a95b07b52231fb9064397
3
+ metadata.gz: 52801769916168089a076344cc91e3c8e6295f7e763d8e6120c53df9499c6cec
4
+ data.tar.gz: 5658a073458af04836da7d4ef3b038f9d2e6af958bee50fb967de565a69581fe
5
5
  SHA512:
6
- metadata.gz: 1ab03b7ebf30857236844d1c43c8c2c06bb78faaebd638f9efdae700abd50e8fdeb3acbce727e1d746bdee6d2091d25a872be7f8643b61fb2af937d1817f809d
7
- data.tar.gz: 97fdf5bce7d217dbc0fe3b6c884c56ae7271a1bfb2150340ec145f438a896fe3212f05670958dbef4e28c64a0dcc3b895a5bf298cc4c232cd9402420f1d2f799
6
+ metadata.gz: df675aec5bc2f1dd9e0074e3db06576f01d4006be922e14ac81e9d9da2d1a15dcf5896fb58ae7275796e16a703c354f315ad6c0cc2a9c1413a3d18d526b3a6ab
7
+ data.tar.gz: a9de686cf8b2c1df2890e99db8e501ee25005b7e6dd9f85e0e210285ef1b6393f5ad211b4505b534164a7593eb86531c425fd0de81086bfe0e16d0086df2ebcc
data/README.md CHANGED
@@ -132,12 +132,8 @@ Class | Method | HTTP request | Description
132
132
 
133
133
  ## Documentation for Models
134
134
 
135
- - [AuditApi::ApiAction](docs/ApiAction.md)
136
- - [AuditApi::ApiActionAllOf](docs/ApiActionAllOf.md)
135
+ - [AuditApi::Error](docs/Error.md)
137
136
  - [AuditApi::Event](docs/Event.md)
138
- - [AuditApi::Headers](docs/Headers.md)
139
- - [AuditApi::Request](docs/Request.md)
140
- - [AuditApi::Response](docs/Response.md)
141
137
  - [AuditApi::UserInfo](docs/UserInfo.md)
142
138
 
143
139
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.3
data/docs/Error.md ADDED
@@ -0,0 +1,20 @@
1
+ # AuditApi::Error
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **message** | **String** | The description detailing the cause of the error code. | [readonly] |
8
+ | **validation_errors** | **Array<String>** | Validation errors, if any. | [optional][readonly] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'pnap_audit_api'
14
+
15
+ instance = AuditApi::Error.new(
16
+ message: null,
17
+ validation_errors: null
18
+ )
19
+ ```
20
+
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -41,7 +41,7 @@ module AuditApi
41
41
  # @option opts [Time] :from From the date and time (inclusive) to filter event log records by.
42
42
  # @option opts [Time] :to To the date and time (inclusive) to filter event log records by.
43
43
  # @option opts [Integer] :limit Limit the number of records returned.
44
- # @option opts [String] :order Ordering of the event's time. SortBy can be introduced later on.
44
+ # @option opts [String] :order Ordering of the event's time. SortBy can be introduced later on. (default to 'ASC')
45
45
  # @option opts [String] :username The username that did the actions.
46
46
  # @option opts [String] :verb The HTTP verb corresponding to the action.
47
47
  # @option opts [String] :uri The request uri.
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -95,6 +95,7 @@ module AuditApi
95
95
  header_params = @default_headers.merge(opts[:header_params] || {})
96
96
  query_params = opts[:query_params] || {}
97
97
  form_params = opts[:form_params] || {}
98
+ follow_location = opts[:follow_location] || true
98
99
 
99
100
  update_params_for_auth! header_params, query_params, opts[:auth_names]
100
101
 
@@ -111,7 +112,8 @@ module AuditApi
111
112
  :ssl_verifyhost => _verify_ssl_host,
112
113
  :sslcert => @config.cert_file,
113
114
  :sslkey => @config.key_file,
114
- :verbose => @config.debugging
115
+ :verbose => @config.debugging,
116
+ :followlocation => follow_location
115
117
  }
116
118
 
117
119
  # set custom cert, if provided
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -133,6 +133,7 @@ module AuditApi
133
133
  # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
134
134
  attr_accessor :params_encoding
135
135
 
136
+
136
137
  attr_accessor :inject_format
137
138
 
138
139
  attr_accessor :force_ending_format
@@ -150,10 +151,10 @@ module AuditApi
150
151
  @client_side_validation = true
151
152
  @verify_ssl = true
152
153
  @verify_ssl_host = true
153
- @params_encoding = nil
154
154
  @cert_file = nil
155
155
  @key_file = nil
156
156
  @timeout = 0
157
+ @params_encoding = nil
157
158
  @debugging = false
158
159
  @inject_format = false
159
160
  @force_ending_format = false
@@ -0,0 +1,237 @@
1
+ =begin
2
+ #Audit Log API
3
+
4
+ #The Audit Logs API lets you read audit log entries and track API calls or activities in the Bare Metal Cloud Portal.<br> <br> <span class='pnap-api-knowledge-base-link'> Knowledge base articles to help you can be found <a href='https://phoenixnap.com/kb/bmc-server-management-via-api#audit-log-api' target='_blank'>here</a> </span><br> <br> <b>All URLs are relative to (https://api.phoenixnap.com/audit/v1/)</b>
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@phoenixnap.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module AuditApi
17
+ class Error
18
+ # The description detailing the cause of the error code.
19
+ attr_accessor :message
20
+
21
+ # Validation errors, if any.
22
+ attr_accessor :validation_errors
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'message' => :'message',
28
+ :'validation_errors' => :'validationErrors'
29
+ }
30
+ end
31
+
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'message' => :'String',
41
+ :'validation_errors' => :'Array<String>'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AuditApi::Error` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AuditApi::Error`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'message')
67
+ self.message = attributes[:'message']
68
+ end
69
+
70
+ if attributes.key?(:'validation_errors')
71
+ if (value = attributes[:'validation_errors']).is_a?(Array)
72
+ self.validation_errors = value
73
+ end
74
+ end
75
+ end
76
+
77
+ # Show invalid properties with the reasons. Usually used together with valid?
78
+ # @return Array for valid properties with the reasons
79
+ def list_invalid_properties
80
+ invalid_properties = Array.new
81
+ if @message.nil?
82
+ invalid_properties.push('invalid value for "message", message cannot be nil.')
83
+ end
84
+
85
+ invalid_properties
86
+ end
87
+
88
+ # Check to see if the all the properties in the model are valid
89
+ # @return true if the model is valid
90
+ def valid?
91
+ return false if @message.nil?
92
+ true
93
+ end
94
+
95
+ # Checks equality by comparing each attribute.
96
+ # @param [Object] Object to be compared
97
+ def ==(o)
98
+ return true if self.equal?(o)
99
+ self.class == o.class &&
100
+ message == o.message &&
101
+ validation_errors == o.validation_errors
102
+ end
103
+
104
+ # @see the `==` method
105
+ # @param [Object] Object to be compared
106
+ def eql?(o)
107
+ self == o
108
+ end
109
+
110
+ # Calculates hash code according to all attributes.
111
+ # @return [Integer] Hash code
112
+ def hash
113
+ [message, validation_errors].hash
114
+ end
115
+
116
+ # Builds the object from hash
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ # @return [Object] Returns the model itself
119
+ def self.build_from_hash(attributes)
120
+ new.build_from_hash(attributes)
121
+ end
122
+
123
+ # Builds the object from hash
124
+ # @param [Hash] attributes Model attributes in the form of hash
125
+ # @return [Object] Returns the model itself
126
+ def build_from_hash(attributes)
127
+ return nil unless attributes.is_a?(Hash)
128
+ attributes = attributes.transform_keys(&:to_sym)
129
+ self.class.openapi_types.each_pair do |key, type|
130
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
131
+ self.send("#{key}=", nil)
132
+ elsif type =~ /\AArray<(.*)>/i
133
+ # check to ensure the input is an array given that the attribute
134
+ # is documented as an array but the input is not
135
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
136
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
137
+ end
138
+ elsif !attributes[self.class.attribute_map[key]].nil?
139
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
140
+ end
141
+ end
142
+
143
+ self
144
+ end
145
+
146
+ # Deserializes the data based on type
147
+ # @param string type Data type
148
+ # @param string value Value to be deserialized
149
+ # @return [Object] Deserialized data
150
+ def _deserialize(type, value)
151
+ case type.to_sym
152
+ when :Time
153
+ Time.parse(value)
154
+ when :Date
155
+ Date.parse(value)
156
+ when :String
157
+ value.to_s
158
+ when :Integer
159
+ value.to_i
160
+ when :Float
161
+ value.to_f
162
+ when :Boolean
163
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
164
+ true
165
+ else
166
+ false
167
+ end
168
+ when :Object
169
+ # generic object (usually a Hash), return directly
170
+ value
171
+ when /\AArray<(?<inner_type>.+)>\z/
172
+ inner_type = Regexp.last_match[:inner_type]
173
+ value.map { |v| _deserialize(inner_type, v) }
174
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
175
+ k_type = Regexp.last_match[:k_type]
176
+ v_type = Regexp.last_match[:v_type]
177
+ {}.tap do |hash|
178
+ value.each do |k, v|
179
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
180
+ end
181
+ end
182
+ else # model
183
+ # models (e.g. Pet) or oneOf
184
+ klass = AuditApi.const_get(type)
185
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
186
+ end
187
+ end
188
+
189
+ # Returns the string representation of the object
190
+ # @return [String] String presentation of the object
191
+ def to_s
192
+ to_hash.to_s
193
+ end
194
+
195
+ # to_body is an alias to to_hash (backward compatibility)
196
+ # @return [Hash] Returns the object in the form of hash
197
+ def to_body
198
+ to_hash
199
+ end
200
+
201
+ # Returns the object in the form of hash
202
+ # @return [Hash] Returns the object in the form of hash
203
+ def to_hash
204
+ hash = {}
205
+ self.class.attribute_map.each_pair do |attr, param|
206
+ value = self.send(attr)
207
+ if value.nil?
208
+ is_nullable = self.class.openapi_nullable.include?(attr)
209
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
210
+ end
211
+
212
+ hash[param] = _to_hash(value)
213
+ end
214
+ hash
215
+ end
216
+
217
+ # Outputs non-array value in the form of hash
218
+ # For object, use to_hash. Otherwise, just return the value
219
+ # @param [Object] value Any valid value
220
+ # @return [Hash] Returns the value in the form of hash
221
+ def _to_hash(value)
222
+ if value.is_a?(Array)
223
+ value.compact.map { |v| _to_hash(v) }
224
+ elsif value.is_a?(Hash)
225
+ {}.tap do |hash|
226
+ value.each { |k, v| hash[k] = _to_hash(v) }
227
+ end
228
+ elsif value.respond_to? :to_hash
229
+ value.to_hash
230
+ else
231
+ value
232
+ end
233
+ end
234
+
235
+ end
236
+
237
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -138,6 +138,7 @@ module AuditApi
138
138
  # @return [Object] Returns the model itself
139
139
  def build_from_hash(attributes)
140
140
  return nil unless attributes.is_a?(Hash)
141
+ attributes = attributes.transform_keys(&:to_sym)
141
142
  self.class.openapi_types.each_pair do |key, type|
142
143
  if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
143
144
  self.send("#{key}=", nil)
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -139,6 +139,7 @@ module AuditApi
139
139
  # @return [Object] Returns the model itself
140
140
  def build_from_hash(attributes)
141
141
  return nil unless attributes.is_a?(Hash)
142
+ attributes = attributes.transform_keys(&:to_sym)
142
143
  self.class.openapi_types.each_pair do |key, type|
143
144
  if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
144
145
  self.send("#{key}=", nil)
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -17,12 +17,8 @@ require 'pnap_audit_api/version'
17
17
  require 'pnap_audit_api/configuration'
18
18
 
19
19
  # Models
20
- require 'pnap_audit_api/models/api_action'
21
- require 'pnap_audit_api/models/api_action_all_of'
20
+ require 'pnap_audit_api/models/error'
22
21
  require 'pnap_audit_api/models/event'
23
- require 'pnap_audit_api/models/headers'
24
- require 'pnap_audit_api/models/request'
25
- require 'pnap_audit_api/models/response'
26
22
  require 'pnap_audit_api/models/user_info'
27
23
 
28
24
  # APIs
@@ -8,7 +8,7 @@
8
8
  The version of the OpenAPI document: 1.0
9
9
  Contact: support@phoenixnap.com
10
10
  Generated by: https://openapi-generator.tech
11
- OpenAPI Generator version: 5.4.0
11
+ OpenAPI Generator version: 6.1.0
12
12
 
13
13
  =end
14
14
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #Audit Log API
3
+
4
+ #The Audit Logs API lets you read audit log entries and track API calls or activities in the Bare Metal Cloud Portal.<br> <br> <span class='pnap-api-knowledge-base-link'> Knowledge base articles to help you can be found <a href='https://phoenixnap.com/kb/bmc-server-management-via-api#audit-log-api' target='_blank'>here</a> </span><br> <br> <b>All URLs are relative to (https://api.phoenixnap.com/audit/v1/)</b>
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@phoenixnap.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for AuditApi::Error
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe AuditApi::Error do
21
+ let(:instance) { AuditApi::Error.new }
22
+
23
+ describe 'test an instance of Error' do
24
+ it 'should create an instance of Error' do
25
+ expect(instance).to be_instance_of(AuditApi::Error)
26
+ end
27
+ end
28
+ describe 'test attribute "message"' do
29
+ it 'should work' do
30
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
31
+ end
32
+ end
33
+
34
+ describe 'test attribute "validation_errors"' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
40
+ end
data/spec/spec_helper.rb CHANGED
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 6.1.0
10
10
 
11
11
  =end
12
12
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pnap_audit_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - PhoenixNAP
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-27 00:00:00.000000000 Z
11
+ date: 2022-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -63,6 +63,7 @@ files:
63
63
  - VERSION
64
64
  - docs/ApiAction.md
65
65
  - docs/ApiActionAllOf.md
66
+ - docs/Error.md
66
67
  - docs/Event.md
67
68
  - docs/EventsApi.md
68
69
  - docs/Headers.md
@@ -76,6 +77,7 @@ files:
76
77
  - lib/pnap_audit_api/configuration.rb
77
78
  - lib/pnap_audit_api/models/api_action.rb
78
79
  - lib/pnap_audit_api/models/api_action_all_of.rb
80
+ - lib/pnap_audit_api/models/error.rb
79
81
  - lib/pnap_audit_api/models/event.rb
80
82
  - lib/pnap_audit_api/models/headers.rb
81
83
  - lib/pnap_audit_api/models/request.rb
@@ -88,6 +90,7 @@ files:
88
90
  - spec/configuration_spec.rb
89
91
  - spec/models/api_action_all_of_spec.rb
90
92
  - spec/models/api_action_spec.rb
93
+ - spec/models/error_spec.rb
91
94
  - spec/models/event_spec.rb
92
95
  - spec/models/headers_spec.rb
93
96
  - spec/models/request_spec.rb
@@ -114,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
117
  - !ruby/object:Gem::Version
115
118
  version: '0'
116
119
  requirements: []
117
- rubygems_version: 3.1.2
120
+ rubygems_version: 3.3.5
118
121
  signing_key:
119
122
  specification_version: 4
120
123
  summary: Audit Log API Ruby Gem
@@ -122,11 +125,12 @@ test_files:
122
125
  - spec/api/events_api_spec.rb
123
126
  - spec/api_client_spec.rb
124
127
  - spec/configuration_spec.rb
125
- - spec/models/user_info_spec.rb
128
+ - spec/models/api_action_spec.rb
126
129
  - spec/models/request_spec.rb
127
- - spec/models/response_spec.rb
128
- - spec/models/api_action_all_of_spec.rb
129
130
  - spec/models/event_spec.rb
130
- - spec/models/api_action_spec.rb
131
+ - spec/models/response_spec.rb
131
132
  - spec/models/headers_spec.rb
133
+ - spec/models/error_spec.rb
134
+ - spec/models/api_action_all_of_spec.rb
135
+ - spec/models/user_info_spec.rb
132
136
  - spec/spec_helper.rb