aprs.me/lib
Graham McIntire 01ecf3d6bc
refactor: apply functional programming patterns across codebase
- accounts.ex: replace validate_user_password (if-based) with with-chain;
  drop unnecessary try/rescue around Repo.get_by. Extract transaction_unwrap
  helper to eliminate 3 copies of the Multi result-unwrap case block.

- packets.ex: deduplicate store_bad_packet by extracting raw_packet_string,
  extract_error_type, and extract_error_message into composable helpers.
  Normalize find_coordinate_value — collapse 12 clauses into a generic
  deep_get/direct_get that handles atom/string keys and nested maps uniformly.

- data_builder.ex: split build_simple_popup into separate data-construction
  (build_simple_popup_data) and rendering (render_popup) phases, eliminating
  duplicated PopupComponent/Safe/IO pipelines.

- param_utils.ex: unify parse_float_in_range and parse_int_in_range via a
  shared parse_in_range that accepts Float.parse/Integer.parse as a function
  parameter — functions-as-values pattern.
2026-07-01 08:45:19 -05:00
..
aprsme refactor: apply functional programming patterns across codebase 2026-07-01 08:45:19 -05:00
aprsme_web refactor: apply functional programming patterns across codebase 2026-07-01 08:45:19 -05:00
mix/tasks Cache MixUnused analyzer state to skip repeated BEAM scans in tests 2026-05-09 11:17:08 -05:00
mix_unused Fix Analyzer.debug_info_line to return nil on with-fallthrough 2026-05-09 11:26:41 -05:00
aprs_web.ex upgrade more with modern phoenix 2025-07-05 08:04:06 -05:00
aprsme.ex refactor to use external parser 2025-06-24 14:22:09 -05:00