pig-ci-rails 0.2.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@
2
2
  # It aims to save to the project root in /pig-ci.
3
3
  # It is inspired by https://github.com/colszowka/simplecov-html
4
4
 
5
- require 'erb'
5
+ require "erb"
6
6
 
7
7
  class PigCI::Summary::HTML < PigCI::Summary
8
8
  def initialize(reports:)
@@ -11,15 +11,15 @@ class PigCI::Summary::HTML < PigCI::Summary
11
11
 
12
12
  def save!
13
13
  copy_assets!
14
- File.write(index_file_path, template('index').result(binding))
14
+ File.write(index_file_path, template("index").result(binding))
15
15
 
16
- puts I18n.t('pig_ci.summary.saved_successfully', output_directory: PigCI.output_directory)
16
+ puts I18n.t("pig_ci.summary.saved_successfully", output_directory: PigCI.output_directory)
17
17
  end
18
18
 
19
19
  private
20
20
 
21
21
  def render_report(report)
22
- template('report').result(binding)
22
+ template("report").result(binding)
23
23
  end
24
24
 
25
25
  def timestamps
@@ -27,11 +27,11 @@ class PigCI::Summary::HTML < PigCI::Summary
27
27
  end
28
28
 
29
29
  def template(name)
30
- ERB.new(File.read(File.join(File.dirname(__FILE__), '../views', "#{name}.erb")))
30
+ ERB.new(File.read(File.join(File.dirname(__FILE__), "../views", "#{name}.erb")))
31
31
  end
32
32
 
33
33
  def index_file_path
34
- PigCI.output_directory.join('index.html')
34
+ PigCI.output_directory.join("index.html")
35
35
  end
36
36
 
37
37
  def copy_assets!
@@ -40,10 +40,10 @@ class PigCI::Summary::HTML < PigCI::Summary
40
40
  end
41
41
 
42
42
  def output_assets_directory
43
- PigCI.output_directory.join('assets')
43
+ PigCI.output_directory.join("assets")
44
44
  end
45
45
 
46
46
  def assets_directory
47
- File.join(File.dirname(__FILE__), '../../../public/assets')
47
+ File.join(File.dirname(__FILE__), "../../../public/assets")
48
48
  end
49
49
  end
@@ -1,4 +1,4 @@
1
- require 'terminal-table'
1
+ require "terminal-table"
2
2
 
3
3
  class PigCI::Summary::Terminal < PigCI::Summary
4
4
  def initialize(reports:)
@@ -19,8 +19,8 @@ class PigCI::Summary::Terminal < PigCI::Summary
19
19
 
20
20
  table = ::Terminal::Table.new headings: report.headings do |t|
21
21
  report.sorted_and_formatted_data_for(@timestamp)[0..PigCI.terminal_report_row_limit]
22
- .collect { |data| PigCI::Decorator::ReportTerminalDecorator.new(data) }
23
- .each do |data|
22
+ .collect { |data| PigCI::Decorator::ReportTerminalDecorator.new(data) }
23
+ .each do |data|
24
24
  t << report.column_keys.collect { |key| data.send(key) }
25
25
  end
26
26
  end
@@ -0,0 +1,3 @@
1
+ module PigCI::TestFrameworks; end
2
+
3
+ require "pig_ci/test_frameworks/rspec"
@@ -0,0 +1,21 @@
1
+ class PigCI::TestFrameworks::Rspec
2
+ def self.configure!
3
+ if defined?(::RSpec)
4
+ ::RSpec.configure do |config|
5
+ config.around(:each, pig_ci: false) do |example|
6
+ @pig_ci_enabled = PigCI.enabled?
7
+ PigCI.enabled = false
8
+ example.run
9
+ PigCI.enabled = @pig_ci_enabled
10
+ end
11
+
12
+ config.around(:each, pig_ci: true) do |example|
13
+ @pig_ci_enabled = PigCI.enabled?
14
+ PigCI.enabled = true
15
+ example.run
16
+ PigCI.enabled = @pig_ci_enabled
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module PigCI
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = "1.1.0".freeze
3
3
  end
@@ -10,6 +10,8 @@
10
10
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
11
11
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
12
12
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
13
+ <link rel="shortcut icon" href="https://pigci.mikerogers.io/images/favicon.png"/>
14
+ <link rel="icon" type="image/ico" href="https://pigci.mikerogers.io/images/favicon.ico"/>
13
15
  </head>
14
16
  <body>
15
17
 
@@ -17,8 +19,8 @@
17
19
  <header class="py-3">
18
20
  <div class="row">
19
21
  <div class="col-6">
20
- <a href="https://pigci.com/" target="_blank" rel="noopener">
21
- <img src="https://cdn.pigci.com/logos/pig-ci.svg" class="float-left mr-4" alt="PigCI Logo" />
22
+ <a href="https://pigci.mikerogers.io/" target="_blank" rel="noopener">
23
+ <img src="https://pigci.mikerogers.io/images/logo_pigci.svg" class="float-left mr-4" alt="PigCI Logo" />
22
24
  </a>
23
25
  <h1><%= I18n.t('.pig_ci.summary.title') %></h1>
24
26
  </div>
data/pig_ci.gemspec CHANGED
@@ -1,47 +1,48 @@
1
- lib = File.expand_path('lib', __dir__)
1
+ lib = File.expand_path("lib", __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'pig_ci/version'
3
+ require "pig_ci/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'pig-ci-rails'
7
- spec.version = PigCI::VERSION
8
- spec.authors = ['Mike Rogers']
9
- spec.email = ['me@mikerogers.io']
6
+ spec.name = "pig-ci-rails"
7
+ spec.version = PigCI::VERSION
8
+ spec.authors = ["Mike Rogers"]
9
+ spec.email = ["me@mikerogers.io"]
10
10
 
11
- spec.summary = 'Mintor metrics such a memory usage as part of testing'
12
- spec.description = 'A gem for Ruby on Rails that will report key metrics (memory, request time & SQL Requests) for request & feature tests.'
13
- spec.homepage = 'https://github.com/PigCI/pig-ci-rails'
14
- spec.license = 'MIT'
11
+ spec.summary = "Monitor your Ruby Applications metrics via your test suite."
12
+ spec.description = "A gem for Ruby on Rails that will track key metrics (memory, request time & SQL Requests) for request & feature tests."
13
+ spec.homepage = "https://github.com/PigCI/pig-ci-rails"
14
+ spec.license = "MIT"
15
+
16
+ spec.metadata = {
17
+ "bug_tracker_uri" => "#{spec.homepage}/issues",
18
+ "changelog_uri" => "#{spec.homepage}/blob/master/CHANGELOG.md",
19
+ "documentation_uri" => spec.homepage,
20
+ "homepage_uri" => spec.homepage,
21
+ "source_code_uri" => spec.homepage,
22
+ "funding_uri" => "https://www.buymeacoffee.com/MikeRogers0"
23
+ }
15
24
 
16
25
  # Specify which files should be added to the gem when it is released.
17
26
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
27
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
28
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
29
  end
21
- spec.require_paths = ['lib']
22
- spec.required_ruby_version = '>= 2.3'
23
-
24
- spec.add_dependency 'activesupport', '>= 4.2'
25
- spec.add_dependency 'colorize', '>= 0.8.1'
26
- spec.add_dependency 'get_process_mem', '~> 0.2.3'
27
- spec.add_dependency 'httparty', '>= 0.16'
28
- spec.add_dependency 'i18n', '>= 0.9', '< 2'
29
- spec.add_dependency 'rails', '>= 4.2.0'
30
- spec.add_dependency 'terminal-table', '~> 1.8.0'
30
+ spec.require_paths = ["lib"]
31
+ spec.required_ruby_version = ">= 2.5"
31
32
 
32
- spec.add_development_dependency 'bundler', '~> 2.0'
33
- spec.add_development_dependency 'rake', '~> 13.0'
34
- spec.add_development_dependency 'webmock', '~> 3.8.0'
33
+ spec.add_dependency "activesupport", ">= 4.2"
34
+ spec.add_dependency "colorize", ">= 0.8.1"
35
+ spec.add_dependency "get_process_mem", "~> 0.2.3"
36
+ spec.add_dependency "i18n", ">= 0.9", "< 2"
37
+ spec.add_dependency "rails", ">= 4.2.0"
38
+ spec.add_dependency "terminal-table", ">= 1.8", "< 2.1"
35
39
 
36
- spec.add_development_dependency 'json-schema', '~> 2.8.1'
37
- spec.add_development_dependency 'rspec', '~> 3.9.0'
38
- spec.add_development_dependency 'simplecov', '~> 0.17.0'
39
- spec.add_development_dependency 'yard', '~> 0.9.24'
40
+ spec.add_development_dependency "bundler", "~> 2.0"
41
+ spec.add_development_dependency "rake", "~> 13.0"
42
+ spec.add_development_dependency "webmock", "~> 3.11.0"
40
43
 
41
- spec.post_install_message = [
42
- 'Thank you for install Pig CI!',
43
- 'Upgrade Notes:',
44
- 'The latest version adds a "config.thresholds" option which will replace the pigci.com integration in future.',
45
- 'See https://github.com/PigCI/pig-ci-rails#configuring-thresholds for more information :)'
46
- ].join("\n")
44
+ spec.add_development_dependency "json-schema", "~> 2.8.1"
45
+ spec.add_development_dependency "rspec", "~> 3.10.0"
46
+ spec.add_development_dependency "simplecov", "~> 0.20.0"
47
+ spec.add_development_dependency "yard", "~> 0.9.24"
47
48
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pig-ci-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Rogers
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-18 00:00:00.000000000 Z
11
+ date: 2021-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.2.3
55
- - !ruby/object:Gem::Dependency
56
- name: httparty
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0.16'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0.16'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: i18n
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -104,16 +90,22 @@ dependencies:
104
90
  name: terminal-table
105
91
  requirement: !ruby/object:Gem::Requirement
106
92
  requirements:
107
- - - "~>"
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '1.8'
96
+ - - "<"
108
97
  - !ruby/object:Gem::Version
109
- version: 1.8.0
98
+ version: '2.1'
110
99
  type: :runtime
111
100
  prerelease: false
112
101
  version_requirements: !ruby/object:Gem::Requirement
113
102
  requirements:
114
- - - "~>"
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '1.8'
106
+ - - "<"
115
107
  - !ruby/object:Gem::Version
116
- version: 1.8.0
108
+ version: '2.1'
117
109
  - !ruby/object:Gem::Dependency
118
110
  name: bundler
119
111
  requirement: !ruby/object:Gem::Requirement
@@ -148,14 +140,14 @@ dependencies:
148
140
  requirements:
149
141
  - - "~>"
150
142
  - !ruby/object:Gem::Version
151
- version: 3.8.0
143
+ version: 3.11.0
152
144
  type: :development
153
145
  prerelease: false
154
146
  version_requirements: !ruby/object:Gem::Requirement
155
147
  requirements:
156
148
  - - "~>"
157
149
  - !ruby/object:Gem::Version
158
- version: 3.8.0
150
+ version: 3.11.0
159
151
  - !ruby/object:Gem::Dependency
160
152
  name: json-schema
161
153
  requirement: !ruby/object:Gem::Requirement
@@ -176,28 +168,28 @@ dependencies:
176
168
  requirements:
177
169
  - - "~>"
178
170
  - !ruby/object:Gem::Version
179
- version: 3.9.0
171
+ version: 3.10.0
180
172
  type: :development
181
173
  prerelease: false
182
174
  version_requirements: !ruby/object:Gem::Requirement
183
175
  requirements:
184
176
  - - "~>"
185
177
  - !ruby/object:Gem::Version
186
- version: 3.9.0
178
+ version: 3.10.0
187
179
  - !ruby/object:Gem::Dependency
188
180
  name: simplecov
189
181
  requirement: !ruby/object:Gem::Requirement
190
182
  requirements:
191
183
  - - "~>"
192
184
  - !ruby/object:Gem::Version
193
- version: 0.17.0
185
+ version: 0.20.0
194
186
  type: :development
195
187
  prerelease: false
196
188
  version_requirements: !ruby/object:Gem::Requirement
197
189
  requirements:
198
190
  - - "~>"
199
191
  - !ruby/object:Gem::Version
200
- version: 0.17.0
192
+ version: 0.20.0
201
193
  - !ruby/object:Gem::Dependency
202
194
  name: yard
203
195
  requirement: !ruby/object:Gem::Requirement
@@ -212,7 +204,7 @@ dependencies:
212
204
  - - "~>"
213
205
  - !ruby/object:Gem::Version
214
206
  version: 0.9.24
215
- description: A gem for Ruby on Rails that will report key metrics (memory, request
207
+ description: A gem for Ruby on Rails that will track key metrics (memory, request
216
208
  time & SQL Requests) for request & feature tests.
217
209
  email:
218
210
  - me@mikerogers.io
@@ -220,12 +212,11 @@ executables: []
220
212
  extensions: []
221
213
  extra_rdoc_files: []
222
214
  files:
223
- - ".github/FUNDING.yml"
215
+ - ".github/workflows/changelog.yml"
224
216
  - ".github/workflows/gempush.yml"
217
+ - ".github/workflows/rspec.yml"
218
+ - ".github/workflows/standard.yml"
225
219
  - ".gitignore"
226
- - ".rubocop.yml"
227
- - ".ruby-version"
228
- - ".travis.yml"
229
220
  - CHANGELOG.md
230
221
  - CODE_OF_CONDUCT.md
231
222
  - Gemfile
@@ -236,8 +227,6 @@ files:
236
227
  - bin/setup
237
228
  - config/locales/pig_ci/en.yml
238
229
  - lib/pig_ci.rb
239
- - lib/pig_ci/api.rb
240
- - lib/pig_ci/api/reports.rb
241
230
  - lib/pig_ci/configuration.rb
242
231
  - lib/pig_ci/decorator.rb
243
232
  - lib/pig_ci/decorator/report_terminal_decorator.rb
@@ -259,6 +248,8 @@ files:
259
248
  - lib/pig_ci/summary/ci.rb
260
249
  - lib/pig_ci/summary/html.rb
261
250
  - lib/pig_ci/summary/terminal.rb
251
+ - lib/pig_ci/test_frameworks.rb
252
+ - lib/pig_ci/test_frameworks/rspec.rb
262
253
  - lib/pig_ci/version.rb
263
254
  - lib/pig_ci/views/index.erb
264
255
  - lib/pig_ci/views/report.erb
@@ -268,12 +259,14 @@ files:
268
259
  homepage: https://github.com/PigCI/pig-ci-rails
269
260
  licenses:
270
261
  - MIT
271
- metadata: {}
272
- post_install_message: |-
273
- Thank you for install Pig CI!
274
- Upgrade Notes:
275
- The latest version adds a "config.thresholds" option which will replace the pigci.com integration in future.
276
- See https://github.com/PigCI/pig-ci-rails#configuring-thresholds for more information :)
262
+ metadata:
263
+ bug_tracker_uri: https://github.com/PigCI/pig-ci-rails/issues
264
+ changelog_uri: https://github.com/PigCI/pig-ci-rails/blob/master/CHANGELOG.md
265
+ documentation_uri: https://github.com/PigCI/pig-ci-rails
266
+ homepage_uri: https://github.com/PigCI/pig-ci-rails
267
+ source_code_uri: https://github.com/PigCI/pig-ci-rails
268
+ funding_uri: https://www.buymeacoffee.com/MikeRogers0
269
+ post_install_message:
277
270
  rdoc_options: []
278
271
  require_paths:
279
272
  - lib
@@ -281,15 +274,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
281
274
  requirements:
282
275
  - - ">="
283
276
  - !ruby/object:Gem::Version
284
- version: '2.3'
277
+ version: '2.5'
285
278
  required_rubygems_version: !ruby/object:Gem::Requirement
286
279
  requirements:
287
280
  - - ">="
288
281
  - !ruby/object:Gem::Version
289
282
  version: '0'
290
283
  requirements: []
291
- rubygems_version: 3.0.3
292
- signing_key:
284
+ rubygems_version: 3.2.3
285
+ signing_key:
293
286
  specification_version: 4
294
- summary: Mintor metrics such a memory usage as part of testing
287
+ summary: Monitor your Ruby Applications metrics via your test suite.
295
288
  test_files: []
data/.github/FUNDING.yml DELETED
@@ -1,3 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- custom: ['https://pigci.com/']
data/.rubocop.yml DELETED
@@ -1,24 +0,0 @@
1
- AllCops:
2
- Exclude:
3
- - '.git/**/*'
4
- - 'bin/*'
5
-
6
- Style/FrozenStringLiteralComment:
7
- EnforcedStyle: never
8
-
9
- Style/BracesAroundHashParameters:
10
- EnforcedStyle: context_dependent
11
-
12
- Metrics/LineLength:
13
- Max: 120
14
-
15
- Metrics/BlockLength:
16
- CountComments: true
17
- Max: 25
18
- ExcludedMethods: []
19
- Exclude:
20
- - "spec/**/*"
21
- - '*.gemspec'
22
-
23
- Style/ClassAndModuleChildren:
24
- EnforcedStyle: compact
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.6.5
data/.travis.yml DELETED
@@ -1,27 +0,0 @@
1
- ---
2
- sudo: false
3
-
4
- language: ruby
5
-
6
- cache: bundler
7
-
8
- rvm:
9
- - 2.3.8
10
- - 2.4.7
11
- - 2.5.7
12
- - 2.6.5
13
- - 2.7.0-preview1
14
-
15
- before_install:
16
- - gem install bundler -v 2.0.1
17
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
18
- - chmod +x ./cc-test-reporter
19
- - ./cc-test-reporter before-build
20
-
21
- script: "bundle exec rake spec"
22
-
23
- after_script:
24
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
25
-
26
- notifications:
27
- email: false