Conversation
- 12 spec files covering all classes: module, Options, Logger, SqliteRam, DbTable, CountryTable, StateTable, CountyTable, ZipcodeTable, DataSource, Runner, CsvSource, and the full ETL pipeline - Fixtures: GeoNames-format TSV, CSV with headers, zip archive, config YAML - Database test helpers for in-memory SQLite setup and seeding - Add csv gem as runtime dependency (removed from Ruby 3.4 default gems) - Add CLAUDE.md for Claude Code guidance
- Update .ruby-version from 3.0.2 to 3.4.8 - Ignore .claude/ directory
Update DataSource to use rubyzip 3.x keyword argument API for extract. Move dev dependencies from gemspec to Gemfile, use add_dependency, sort alphabetically. Fix version.rake: replace block constants with methods, replace eval with const_get, use File.write, rename predicate method, and simplify unreachable loop.
Add **/*.rb to rubocop Include list so all source files are inspected. Fix offenses across the codebase: use Dir.home, safe navigation, anonymous forwarding, respond_to_missing?, const_get instead of instance_eval, rename exception param, use $stdout, sort redundant Dir.glob, and various layout/style fixes. Exclude Metrics/BlockLength and Style/OpenStructUse for spec files.
- Update CLAUDE.md with correct Ruby 3.4.8 and rubocop 3.4 target versions - Fix CLAUDE.md architecture description (Source not Transform, add datafile step, namespaces) - Remove redundant .freeze from write_version_file to match frozen_string_literal - Replace Kernel#open with File.read in version.rake - Add logger gem as runtime dependency (leaving default gems in Ruby 4.0) - Add StandardError rescue to CountryTable#write and StateTable#write - Add nil guard for unknown country codes in CountryTable#write - Fix .rubocop.yml section header (Naming Cops, not Metrics Cops)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
extractkeyword arg change)**/*.rband resolve all offenses across 35 filesinstance_eval/evalwithconst_getTest plan
bundle exec rubocopreports 0 offenses across 35 filesbin/free_zipcode_data --work-dir /tmp/work_dir --country US --generate-filescompletes successfully (41,490 zipcodes processed, SQLite + CSV output verified)