gemwork 0.1.1 → 0.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
2
  SHA256:
3
- metadata.gz: bc57190aa8c46237997e662dbac45d8e1e9dbb0a5d50e2e335c46ce7b8913e3e
4
- data.tar.gz: 8f54f31acca9656c45fdbfff877df73c3d7f488e0186c3b1d26f690f1e79e706
3
+ metadata.gz: 31e41c2e00be1fcc94add13ebbb9c999a7693abf14379cb339cfa0cb4f6d2e69
4
+ data.tar.gz: af14562a190bc54da499dd3e9c4f38767d8c6270309762b35aa1f8b309e2ec75
5
5
  SHA512:
6
- metadata.gz: 7e9b9385d323fb963467c638d0872d68cc7e6350bb73e998b402354d2d34aa00f9557ce4afe191a773862654d87438bb8727fc3cbc82753e7f23ceefb4b626bc
7
- data.tar.gz: 14aab1f9fccd407b26c2ef20d32966747c62cd24ee58d521262a01a6532e90466af6dee830eeaa7a9d47198b730848799e172eb4c6506f35c1f37dbf004cee9e
6
+ metadata.gz: cef78a68e3e10cceab96a5a2e39de77606d99d928006a0c8d3621328efa3ae46110cbb455fce0d03651e2736009b7d714ec613ce298cbb1a82fef94634b88ceb
7
+ data.tar.gz: ddfd5ee54abd5ccc043e43a2b873059d7d1ce0b6b68a8efbebc2ff7583fe47468c1563cc315065d33dbc12451afb547fef31d8f926aaec99de3c59676008bc3f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.0] - 2023-11-25
4
+
5
+ - Use [IRB](https://github.com/ruby/irb) + [debug](https://github.com/ruby/debug) instead of Pry.
6
+
7
+ ## [0.2.0] - 2023-11-25
8
+
9
+ - Add gem dependencies to Gemwork, to be installed by child gems.
10
+ - Add testing support files for more easily setting up and maintaining dependencies in the test/test_helper.rb file of child gems.
11
+
3
12
  ## [0.1.1] - 2023-11-24
4
13
 
5
14
  - Recommend adding a `REBUILD_GEMWORK` flag to README, for use when running `bin/setup` from a child gem.
data/README.md CHANGED
@@ -77,6 +77,46 @@ inherit_gem:
77
77
 
78
78
  See also: [RuboCop's Configuration Guide on Inheritance](https://github.com/rubocop/rubocop/blob/master/docs/modules/ROOT/pages/configuration.adoc#inheriting-configuration-from-a-dependency-gem).
79
79
 
80
+ ## Testing Support
81
+
82
+ The following requires may be added to `./test/test_helper.rb` to simplify test configuration. These requires support the gem dependencies mentioned in the following section.
83
+
84
+
85
+ ```ruby
86
+ # frozen_string_literal: true
87
+
88
+ require "gemwork/test/support/simplecov"
89
+
90
+ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
91
+ require "say"
92
+
93
+ require "minitest/autorun"
94
+
95
+ require "gemwork/test/support/reporters"
96
+ require "gemwork/test/support/much_stub"
97
+ require "gemwork/test/support/spec_dsl"
98
+
99
+ # ...
100
+ ```
101
+
102
+ ## Gem Dependencies
103
+
104
+ Gemwork depends on the following gems. None of these are actually used by Gemwork, itself, but are included for use by child gems. This is meant to ease dependency management for child gems as these things evolve over time.
105
+
106
+ #### Unit Testing
107
+ - [minitest](https://github.com/minitest/minitest)
108
+ - [minitest-reporters](https://github.com/minitest-reporters/minitest-reporters) -- Create customizable MiniTest output formats.
109
+ - [much-stub](https://github.com/redding/much-stub) -- Stubbing API for replacing method calls on objects in test runs.
110
+ - [simplecov](https://github.com/simplecov-ruby/simplecov) -- Code coverage for Ruby.
111
+
112
+ #### Linters
113
+ - [reek](https://github.com/troessner/reek) -- Code smell detector for Ruby.
114
+ - [rubocop](https://github.com/rubocop/rubocop) -- A Ruby static code analyzer and formatter, based on the community Ruby style guide.
115
+ - [rubocop-minitest](https://github.com/rubocop/rubocop-minitest) -- Code style checking for Minitest files.
116
+ - [rubocop-performance](https://github.com/rubocop/rubocop-performance/) -- An extension of RuboCop focused on code performance checks.
117
+ - [rubocop-rake](https://github.com/rubocop/rubocop-rake) -- A RuboCop plugin for Rake.
118
+ - [yard](https://github.com/lsegal/yard) -- YARD is a Ruby Documentation tool. The Y stands for "Yay!".
119
+
80
120
  ## Development
81
121
 
82
122
  Development of Gemwork often requires making updates to its code and then testing them in another child gem that uses Gemwork.
@@ -90,7 +130,7 @@ Even if the child gem already has the `gemwork` gem installed from RubyGems, loc
90
130
 
91
131
  # Recompile and install Gemwork locally.
92
132
  if [ -n "$REBUILD_GEMWORK" ]; then
93
- ( cd ~/dev/gemwork && rake install:local )
133
+ ( cd ~/dev/gemwork && bin/setup && rake install:local )
94
134
  fi
95
135
 
96
136
  set -euo pipefail
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "much-stub"
4
+
5
+ class Minitest::Spec
6
+ after do
7
+ MuchStub.unstub!
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "minitest/reporters"
4
+
5
+ Minitest::Test.make_my_diffs_pretty!
6
+
7
+ reporter_options = { color: true }
8
+ # Minitest::Reporters.use!(
9
+ # Minitest::Reporters::DefaultReporter.new(reporter_options))
10
+
11
+ Minitest::Reporters.use!(
12
+ Minitest::Reporters::ProgressReporter.new(reporter_options))
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "simplecov"
4
+
5
+ SimpleCov.start do
6
+ enable_coverage :branch
7
+ enable_coverage_for_eval
8
+ add_filter "/bin/"
9
+ add_filter "/test/"
10
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ def context(...)
4
+ describe(...)
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gemwork
4
- VERSION = "0.1.1"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/gemwork.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "version"
4
-
5
3
  # Gemwork is the top-level namespace/module for this gem.
6
4
  module Gemwork
7
5
  end
6
+
7
+ require "gemwork/version"
metadata CHANGED
@@ -1,15 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemwork
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul DobbinSchmaltz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-25 00:00:00.000000000 Z
11
+ date: 2023-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest-reporters
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: much-stub
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
13
69
  - !ruby/object:Gem::Dependency
14
70
  name: reek
15
71
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +150,34 @@ dependencies:
94
150
  - - ">="
95
151
  - !ruby/object:Gem::Version
96
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: debug
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: irb
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
97
181
  - !ruby/object:Gem::Dependency
98
182
  name: rake
99
183
  requirement: !ruby/object:Gem::Requirement
@@ -119,6 +203,10 @@ files:
119
203
  - LICENSE.txt
120
204
  - README.md
121
205
  - lib/gemwork.rb
206
+ - lib/gemwork/test/support/much_stub.rb
207
+ - lib/gemwork/test/support/reporters.rb
208
+ - lib/gemwork/test/support/simplecov.rb
209
+ - lib/gemwork/test/support/spec_dsl.rb
122
210
  - lib/gemwork/version.rb
123
211
  - lib/reek/.reek.yml
124
212
  - lib/rubocop/.rubocop.yml