The app has two modes for a route: editing and navigating. The current design splits this across CurrentRouteState (route definition + editing) and NavigateToState (live navigation engine), with NavigationInfo as a per-tick geometry snapshot. The complexity comes from duplicated fields, manual sync, and identity data mixed into geometry structs.
Use straight apostrophes (', U+0027) in Swift source code for user-facing strings.
- iOS renders straight apostrophes as typographic/curly ones automatically when displayed in
Text,UILabel, etc. - The system font (SF Pro) handles this via OpenType ligature substitution.
DrawingPoint (persisted source of truth) and Waypoint (derived view-model) serve distinct roles. Merging them is not recommended.
CurrentRouteState.points is [DrawingPoint]. Whenever points is set, waypoints is automatically rebuilt via a didSet:
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
| Search Machine Preloaded | |
| Empty | |
| focusInput -> InputFocused | |
| searchByLocation -> LoadingResults | |
| NoLocation* | |
| getLocation -> HasLocation | |
| HasLocation | |
| loseLocation -> NoLocation | |
| InputFocused | |
| changeInput -> Loading |
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
| ruby '2.7.1' | |
| gem 'rails', github: 'rails/rails' | |
| gem 'tzinfo-data', '>= 1.2016.7' # Don't rely on OSX/Linux timezone data | |
| # Action Text | |
| gem 'actiontext', github: 'basecamp/actiontext', ref: 'okra' | |
| gem 'okra', github: 'basecamp/okra' | |
| # Drivers |
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
| #!/env/bin ruby | |
| require "fileutils" | |
| def process(dir) | |
| puts "Analyzing #{dir}" | |
| FileUtils.cd(dir) | |
| puts "Finding outdated gems" |
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
| % php -f test.php | |
| [{"id":"1ZMXWC94HM","status":"delivered","batch_id":null,"to_name":"Catalyst USA","to_address_1":"28522 KNICKERBOCKER RD","to_address_2":null,"to_city":"BAY VILLAGE","to_province_code":"OH","to_postal_code":"44140-1927","to_country_code":"US","to_phone":null,"return_name":"Catalyst Channel Marketing","return_address_1":"701 WHIRLPOOL ST","return_address_2":null,"return_city":"NIAGARA FALLS","return_province_code":"NY","return_postal_code":"14301-1037","return_country_code":"US","return_phone":"1-844-842-8777","package_contents":"documents","description":"Sales Report","value":"1.00","value_currency":"USD","order_id":null,"order_store":null,"package_type":"thick_envelope","size_unit":null,"size_x":0.0,"size_y":0.0,"size_z":0.0,"weight_unit":"lb","weight":1.0,"is_insured":true,"is_signature_requested":false,"postage_type":"usps_priority","carrier":"usps","carrier_tracking_code":"9405536895357014971047","tracking_url":"https://staging.chitchats.com/tracking/1zmxwc94hm","ship_date":"2018-04-25" |
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
| # NullStorage provider for CarrierWave for use in tests. Doesn't actually | |
| # upload or store files but allows test to pass as if files were stored and | |
| # the use of fixtures. | |
| class NullStorage | |
| attr_reader :uploader | |
| def initialize(uploader) | |
| @uploader = uploader | |
| end |