moby.rb 2.1.1 → 2.1.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: 151e571fe3a31fb9c2d0a0c60d68373ce6a17ccfcbfc8984dd2e3ebb390a3e2a
4
- data.tar.gz: 0163d6e624ee13c9c7ebc15f9b37863a8f48057bc27eba0b750a08a4b2a9e7b3
3
+ metadata.gz: 1f1d55b4208687cb63e58b7ca69bfef874829c8e11cf001d49c93414208f6d8d
4
+ data.tar.gz: 783be3fe1903bb3f53501df75f08a1697cece9be77652581d3e6ab0e071c56fa
5
5
  SHA512:
6
- metadata.gz: 7ae26da0a077dc415fd3893da4a4ce3cdcd57e516180ce4ea6bb087cfd5e890113baeaf815f515995d8e8c580a01cd3e6de22ba9f131c9d34e69e138f42e15de
7
- data.tar.gz: 82c419a15ce79f707d258ed375d22f1f27f8aa2338f5c89486606df39c0fc9f239dacab739fab6e3706fdd86e0fa2d485e52d694bf1d7fb76281b8cafaef15bd
6
+ metadata.gz: bb161f90168d0c40281772bea8e9d9cd72042dc352733a19201c86252868511cdddb9a56260386f28181ae95191c98ccd8bc8b923f05a53d9de11738edab6535
7
+ data.tar.gz: 259a606027e52766ae504972dc49fbf31978d24bbf0f18d6109c249cd951426da59efb7d2e948343226e12a5e3bd72904cd3bea1b5041dd27f8dad6b7e673cef
data/CHANGELOG CHANGED
@@ -1,5 +1,27 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 20260820
4
+
5
+ 2.1.3: Backfill the CHANGELOG below 0.7.0 to the 0.0.0 origin.
6
+
7
+ 1. + CHANGELOG: 0.0.0 through 0.6.0, the series 1.0.1 left out. 1.0.1 floored the record at 0.7.0 on the view that below it "neither a reliable date nor a reliable version can be had"; the git-importall revisions carry more than that allowed, and their commit messages have since been rewritten to name a version apiece, so the CHANGELOG now reaches as far back as they do.
8
+ 2. The versions are mostly read off the source, not guessed: 0.0.1 to 0.4.3 each carry a `# X.Y.Z` header, and 0.4.4 to 0.5.0 a WHALE_VERSION constant. Three are a judgement call — 0.0.0 (the bare spike, no stamp), 0.5.1 (a patch left standing on 0.5.0's unbumped WHALE_VERSION), and 0.6.0 (the extraction commit, where the constant does not survive the move) — each placed one commit, one version, sized by its change.
9
+ 3. The dates are shakier than the versions. The 2006 series stamps every version with the one creation date, 20061009; the 2008 headers are per-revision but not always bumped — 0.4.8 stamps 20080829, later than the 0.5.0 and 0.5.1 above it, so the series is ordered by version and 0.4.8 sits by its number, under its own out-of-sequence date. 0.0.0 carries no date at all.
10
+ 4. ~ CHANGELOG: the 0.7.0 entry no longer calls itself "the earliest recoverable version" — it is not, now — and reads as the change it was.
11
+ 5. ~ lib/Moby/VERSION.rb: VERSION: /2.1.2/2.1.3/
12
+
13
+
14
+ ## 20260819
15
+
16
+ 2.1.2: ~ moby.rb.gemspec: spec.files as [...].flatten with a Dir[] per glob, in place of one Dir[] over the lot.
17
+
18
+ 1. ~ moby.rb.gemspec: spec.files built as an array with Dir[] around each glob and flattened, rather than a single Dir[] taking the globs and the loose filenames together. This is the form the other six gems use, and it is the safer one. Dir[] answers with what matches, so under the old form a loose filename naming a file which is not there contributes nothing and the gem builds anyway, short of what its manifest said. Under this one the name reaches spec.files as a literal and gem build refuses: "[\"LICENSE\"] are not files". Nothing was being dropped here — all six loose files are present and the same 27 ship — but the old form could not have told me so.
19
+ 2. The same applies to a filename holding a glob character. Under the old form weird[1].txt is read as a character class and matches nothing; under this one it is a name.
20
+ 3. impuri went five published versions declaring spec.license = 'MIT' with no LICENSE in the repository, which is this failure in the shape it actually takes. Its 0.12.4 added the file. Under a Dir[] over the lot, adding 'LICENSE' to the manifest would have gone on building quietly until somebody thought to look inside the gem.
21
+ 4. The order is unchanged, the globs having already been first with the loose files alphabetically after them.
22
+ 5. ~ Moby::VERSION: /2.1.1/2.1.2/
23
+
24
+
3
25
  ## 20260817
4
26
 
5
27
  2.1.1: Bring the .gitignore into line with the template.
@@ -145,6 +167,110 @@
145
167
 
146
168
  ## 20190815
147
169
 
148
- 0.7.0: The earliest recoverable version.
170
+ 0.7.0: Move to a Whale library: add #switches and #main.
171
+
172
+ 1. The engine 0.6.0 pulled into lib/Whale.rb becomes the library the bin drives: + switches(), + main(). whale floods a phishing form with fake credentials — counter_phish() loads the page, then loops submitting a generated username and password, each built from random dictionary words and TLDs.
173
+
174
+
175
+ ## 20110907
176
+
177
+ 0.6.0: Extract the engine from bin/whale into lib/Whale.rb.
178
+
179
+ 1. The class and its methods move out of bin/whale into lib/Whale.rb, leaving the bin to require and drive it — the split 0.7.0 builds #switches and #main on. Version inferred: the WHALE_VERSION constant does not survive the move.
180
+
181
+
182
+ ## 20080521
183
+
184
+ 0.5.1: Small #initialize and #parse_options fix.
185
+
186
+ 1. Version inferred: it patches #initialize and #parse_options but leaves WHALE_VERSION at 0.5.0.
187
+
188
+ 0.5.0: Rebuild Options on OpenStruct: #set, #on, #banner=, #parse!.
189
+
190
+ 1. + require 'ostruct'; Options rebuilt on OpenStruct — + set(), + on(), + banner=(), + parse!().
191
+
192
+
193
+ ## 20080829
194
+
195
+ 0.4.8: Small #initialize and #parse_options fixes.
196
+
197
+ 1. Its 20080829 header is out of sequence — later than the 0.5.0 and 0.5.1 above — an unbumped stamp, not a later release; ordered here by version.
198
+
199
+
200
+ ## 20080521
201
+
202
+ 0.4.7: Add File.collect and #words; drop #read_words_file.
203
+
204
+ 1. + class File with self.collect(), + words(); - read_words_file(). The word list is read through File.collect now.
205
+
206
+
207
+ ## 20080520
208
+
209
+ 0.4.6: Switch to OptionParser: add #parse and #parse_url.
210
+
211
+ 1. + require 'optparse'; + parse(), + parse_url() — option handling through OptionParser.
212
+
213
+ 0.4.5: Add page and form fetching and the username and password field setters.
214
+
215
+ 1. + page, + form, + username, + password, + set_username_field(), + set_password_field().
216
+
217
+ 0.4.4: Add option parsing: class Options and #parse_options.
218
+
219
+ 1. + class Options, + parse_options() — a first cut at command-line options, before the OptionParser switch at 0.4.6.
220
+
221
+ 0.4.3: Small #initialize and #counter_phish fixes.
222
+
223
+
224
+ ## 20061009
225
+
226
+ 0.4.2: Small #initialize and #counter_phish fixes.
227
+
228
+ 0.4.1: Drop the pp require again.
229
+
230
+ 0.4.0: Re-add pp; tidy the loop.
231
+
232
+ 0.3.1: Drop the pp require.
233
+
234
+ 0.3.0: Add #random_TLD for email-shaped usernames.
235
+
236
+ 1. + random_TLD(), so a generated username can be shaped like an email address.
237
+
238
+ 0.2.4: Small #initialize and #counter_phish fixes.
239
+
240
+ 0.2.3: Small #initialize and #counter_phish fixes.
241
+
242
+ 0.2.2: Small #initialize and #counter_phish fixes.
243
+
244
+ 0.2.1: Small #initialize and #counter_phish fixes.
245
+
246
+ 0.2.0: Small #initialize and #counter_phish fixes.
247
+
248
+ 0.1.2: Small #initialize fix.
249
+
250
+ 0.1.1: Small #initialize and #counter_phish fixes.
251
+
252
+ 0.1.0: Drop the pp require; tidy the loop.
253
+
254
+ 0.0.7: Small #initialize and #counter_phish fixes.
255
+
256
+ 0.0.6: Small #initialize and #counter_phish fixes.
257
+
258
+ 0.0.5: Adjust the word-file reading.
259
+
260
+ 0.0.4: Refine #initialize and #counter_phish.
261
+
262
+ 0.0.3: Replace RandomMethod with #random_word.
263
+
264
+ 1. - module RandomMethod (- random(), - random_method()); + random_word() in its place.
265
+
266
+ 0.0.2: Add #counter_phish and random-word selection.
267
+
268
+ 1. + counter_phish(), + read_words_file(), random-word selection; - select().
269
+
270
+ 0.0.1: First cut: class Whale, #initialize, #select.
271
+
272
+ 1. + class Whale, + initialize(), + select() — the spike turned into a class.
273
+
274
+ 0.0.0: A Mechanize spike — fetch a page and submit its form.
149
275
 
150
- 1. whale floods a phishing form with fake credentials: counter_phish() loads the page, then loops submitting a generated username and password, each built from random dictionary words and TLDs. Recorded as an inventory of the first cleanly-versioned revision; the revision before it carries no version and a different structure, and is not reconstructed here.
276
+ 1. The bare origin: require 'rubygems', 'mechanize', 'pp'; fetch a page and submit its form. No Whale class, and no version or date stamp of its own the inventory slot the 0.7.0 entry used to hold.
data/lib/Moby/VERSION.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # Moby::VERSION
3
3
 
4
4
  class Moby
5
- VERSION = '2.1.1'
5
+ VERSION = '2.1.3'
6
6
  end
data/moby.rb.gemspec CHANGED
@@ -39,17 +39,17 @@ Gem::Specification.new do |spec|
39
39
  'webmock'
40
40
  ]
41
41
 
42
- spec.files = Dir[
43
- 'bin/*',
44
- 'lib/**/*.rb',
45
- 'test/**/*.rb',
42
+ spec.files = [
43
+ Dir['bin/*'],
44
+ Dir['lib/**/*.rb'],
45
+ Dir['test/**/*.rb'],
46
46
  'CHANGELOG',
47
47
  'Gemfile',
48
48
  'LICENSE.txt',
49
49
  'moby.rb.gemspec',
50
50
  'Rakefile',
51
51
  'README.md',
52
- ]
52
+ ].flatten
53
53
 
54
54
  spec.bindir = 'bin'
55
55
  spec.executables = ['moby']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moby.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoran