-
Notifications
You must be signed in to change notification settings - Fork 0
Sprint 1 #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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
- Add 4 custom error classes: Error, AuthenticationError, APIError, ConnectionError - APIError stores status_code and response_body for debugging - Comprehensive test suite with 30 examples, 100% coverage - Full YARD documentation for all error classes - All errors inherit from VistarClient::Error for easy rescue Sprint 1, Day 1 complete
- Add Client class with initialization and validation - Configure Faraday connection with JSON middleware - Add retry logic for transient failures (429, 5xx) - Set Authorization, Accept, and Content-Type headers - Support conditional debug logging via VISTAR_DEBUG env var - Add comprehensive unit tests (31 examples) - Achieve 100% test coverage (62 total examples) - Update RuboCop config to allow connection method complexity
- Extract Connection class to manage HTTP client configuration - Wraps Faraday::Connection with method delegation pattern - Provides clean separation between HTTP layer and business logic - Maintains backward compatibility via method_missing - Create API module structure for feature organization - Add API::Base module with shared functionality - Add API::AdServing module with request_ad and submit_proof_of_play - Enable clean extension pattern for Sprint 2+ features - Refactor Client class from monolithic to modular design - Reduce from 238 to 89 lines via composition - Include API::AdServing for endpoint methods - Delegate connection management to Connection class - Add comprehensive test coverage for new architecture - Create Connection test suite (22 examples) - Update Client tests for new structure (96 examples) - Maintain 98.73% code coverage (155/157 lines) - Achieve RuboCop compliance on all new/modified files - Use modern Ruby arguments forwarding syntax (...) - Follow memoization naming conventions - Add complexity exceptions for validation methods Sprint 1, Days 6-7: 118 tests passing, ready for Sprint 2 expansion
- Document main VistarClient module with usage examples - Add API namespace documentation for endpoint organization - Document Middleware namespace for Faraday components - Add version constant documentation - Document SERVER_ERROR_RANGE constant - Fix YARD warnings for method_missing and middleware params - Update Connection#method_missing documentation - Update ErrorHandler#call parameter documentation YARD stats: 100% documented (8 files, 5 modules, 7 classes, 11 methods) Sprint 1, Day 8: Complete YARD documentation
- Add Quick Start section with actual API examples - Document modular architecture (Connection + API modules) - Add detailed API method documentation: * request_ad with all parameters and examples * submit_proof_of_play with all parameters and examples - Expand error handling section with all error classes - Add 'Extending the Client' guide with step-by-step instructions - Update configuration examples with correct defaults - Add debug logging instructions (VISTAR_DEBUG) - Document architecture benefits and design decisions - Update feature list to reflect current implementation Sprint 1, Day 9: Complete README documentation
- Update version from 0.1.0 to 0.2.0 - Add comprehensive v0.2.0 release notes to CHANGELOG: * Complete error hierarchy * Client class with API methods * Modular architecture (Connection + API modules) * 118 tests, 98.73% coverage * 100% YARD documentation * request_ad and submit_proof_of_play methods * Comprehensive README and extension guide Sprint 1, Day 10: Ready for release
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.
No description provided.