pike13 0.1.0.beta → 0.1.1

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -117
  3. data/README.md +1222 -315
  4. data/lib/pike13/api/v2/account/business.rb +0 -4
  5. data/lib/pike13/api/v2/account.rb +19 -0
  6. data/lib/pike13/api/v2/desk/booking.rb +10 -0
  7. data/lib/pike13/api/v2/desk/business.rb +2 -1
  8. data/lib/pike13/api/v2/desk/event_occurrence.rb +2 -2
  9. data/lib/pike13/api/v2/desk/person.rb +5 -3
  10. data/lib/pike13/api/v2/desk/plan.rb +2 -2
  11. data/lib/pike13/api/v2/desk/plan_product.rb +2 -2
  12. data/lib/pike13/api/v2/desk/service.rb +2 -2
  13. data/lib/pike13/api/v2/desk/visit.rb +2 -2
  14. data/lib/pike13/api/v2/front/branding.rb +2 -1
  15. data/lib/pike13/api/v2/front/business.rb +2 -1
  16. data/lib/pike13/api/v2/front/event_occurrence.rb +2 -2
  17. data/lib/pike13/api/v2/front/plan_product.rb +2 -2
  18. data/lib/pike13/api/v2/front/service.rb +2 -2
  19. data/lib/pike13/api/v2/front/visit.rb +2 -2
  20. data/lib/pike13/api/v3/desk/base.rb +46 -0
  21. data/lib/pike13/api/v3/desk/clients.rb +180 -0
  22. data/lib/pike13/api/v3/desk/enrollments.rb +203 -0
  23. data/lib/pike13/api/v3/desk/event_occurrence_staff_members.rb +170 -0
  24. data/lib/pike13/api/v3/desk/event_occurrences.rb +154 -0
  25. data/lib/pike13/api/v3/desk/invoice_item_transactions.rb +189 -0
  26. data/lib/pike13/api/v3/desk/invoice_items.rb +193 -0
  27. data/lib/pike13/api/v3/desk/invoices.rb +167 -0
  28. data/lib/pike13/api/v3/desk/monthly_business_metrics.rb +151 -0
  29. data/lib/pike13/api/v3/desk/pays.rb +128 -0
  30. data/lib/pike13/api/v3/desk/person_plans.rb +265 -0
  31. data/lib/pike13/api/v3/desk/staff_members.rb +127 -0
  32. data/lib/pike13/api/v3/desk/transactions.rb +169 -0
  33. data/lib/pike13/http_client.rb +4 -1
  34. data/lib/pike13/http_client_v3.rb +101 -0
  35. data/lib/pike13/validators.rb +136 -0
  36. data/lib/pike13/version.rb +1 -1
  37. data/lib/pike13.rb +26 -7
  38. metadata +19 -4
  39. data/lib/pike13/api/v2/account/me.rb +0 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40ff200316bf806e4894c0689a8ca85b9eb607354bc63afafa62a8d1251b32d6
4
- data.tar.gz: 577c1d5e9ac786fedaf0f80251e600b927304c4ce5fdc4e110f4f6ad10033073
3
+ metadata.gz: b5f3e87a08c579d9ce3a38bf31c5b22005bddf994ccce24e7f00141acb05d7c6
4
+ data.tar.gz: 6d4dda290d920e1c0a23fa00eb7eb7eeca1c9a6da0bb2e35430d6dc2860f4fac
5
5
  SHA512:
6
- metadata.gz: 1617471ee88b05382f2f8f16e9ad7c7fa436bf8fec5e213cade375dbd804e2775c5f46fc0069a58b74c6c4cc4b2b01ab59fe3d56d602da0196cf536ab2c519bb
7
- data.tar.gz: 44ff76cbb187f072d898c4d13484242c3f08a5a8981f454b71e0d01eb86f0d2526f58749f0911a9cbb162d4b1a48fdac41527981efd86c903066cbd6717e66f0
6
+ metadata.gz: 85846555ad55cb506f48b72448e0299b80e3b74fb65c401087b953f8b5dce051f7a5ae24aac8a5779334871820763a9c0a8e773e8938059404c615bc0365085f
7
+ data.tar.gz: 101ece99ffe6d5fd57f557e77e706b2ed8125e3cfa77eae1aba0dd3233ca8c05edf49c37503514f01ce6dc02aecf2701b6fcf6237e03e97d3bdf8ce7903c391d
data/CHANGELOG.md CHANGED
@@ -5,130 +5,84 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [0.1.1] - 2025-11-02
9
9
 
10
- ## [0.1.0] - 2025-01-27
10
+ ### Fixed
11
+ - **Account::Business**: Removed undocumented `find(id)` method that was not supported by the Pike13 API v2. The API only supports listing all businesses via `GET /account/businesses` endpoint.
11
12
 
12
- ### Added
13
-
14
- #### Core Infrastructure
15
- - HTTP client with Faraday and automatic retry (max 2 retries, exponential backoff)
16
- - Bearer token authentication
17
- - Automatic JSON response parsing
18
- - Global configuration management via `Pike13.configure`
19
- - URL validation supporting HTTP/HTTPS schemes and custom ports
20
- - Support for production (`mybiz.pike13.com`) and development (`http://mybiz.pike13.test:3000`) environments
21
-
22
- #### Error Handling
23
- - `Pike13::Error` - Base error class
24
- - `Pike13::ConfigurationError` - Configuration validation errors
25
- - `Pike13::APIError` - Base for HTTP errors
26
- - `Pike13::AuthenticationError` (401)
27
- - `Pike13::NotFoundError` (404)
28
- - `Pike13::ValidationError` (422)
29
- - `Pike13::RateLimitError` (429) with rate limit reset header tracking
30
- - `Pike13::ServerError` (5xx)
31
-
32
- #### Account Scope Resources
33
- Base URL: `https://pike13.com/api/v2`
34
-
35
- - **Account::Me** - Get current account details
36
- - **Account::Business** - List and find businesses
37
- - **Account::Person** - List and find people
38
- - **Account::Password** - Password reset/creation
39
- - **Account::Confirmation** - Email confirmation
40
-
41
- #### Desk Scope Resources (Staff Interface)
42
- Base URL: `https://[base_url]/api/v2`
43
-
44
- **People Management:**
45
- - **Desk::Person** - Full CRUD operations
46
- - List all people, find by ID, search, get authenticated user
47
- - Create, update, and delete people
48
-
49
- **Business & Locations:**
50
- - **Desk::Business** - Get business information
51
- - **Desk::Location** - List and find locations
52
-
53
- **Events & Scheduling:**
54
- - **Desk::Event** - List and find events
55
- - **Desk::EventOccurrence** - List and find occurrences, summaries, enrollment eligibility
56
- - **Desk::Appointment** - Find available slots and availability summaries
57
-
58
- **Bookings & Visits:**
59
- - **Desk::Booking** - Full CRUD operations for bookings
60
- - **Desk::Visit** - List and find visits, get visit summaries
61
-
62
- **Services & Staff:**
63
- - **Desk::Service** - List and find services, enrollment eligibility
64
- - **Desk::StaffMember** - List and find staff members, get authenticated staff
13
+ ## [0.1.0] - 2025-10-31
65
14
 
66
- **Plans & Products:**
67
- - **Desk::Plan** - List and find plans
68
- - **Desk::PlanProduct** - List and find plan products
69
- - **Desk::PackProduct** - List and find pack products
70
- - **Desk::Pack** - Find packs by ID
71
- - **Desk::Punch** - Find punches by ID
15
+ Initial release with complete Pike13 API support.
72
16
 
73
- **Financial:**
74
- - **Desk::Invoice** - List and find invoices
75
- - **Desk::Payment** - Find payments, void payments, get payment configuration
76
- - **Desk::Refund** - Find refunds, void refunds
77
- - **Desk::RevenueCategory** - List and find revenue categories
78
- - **Desk::SalesTax** - List and find sales taxes
79
-
80
- **Notes & Communication:**
81
- - **Desk::Note** - Full CRUD operations for person notes
82
- - List notes for a person
83
- - Create, update, and delete notes
84
-
85
- **Other Resources:**
86
- - **Desk::MakeUp** - Find make-ups, list reasons, generate make-up credits
87
- - **Desk::WaitlistEntry** - List and find waitlist entries
88
- - **Desk::CustomField** - List and find custom fields
89
-
90
- #### Front Scope Resources (Client Interface)
91
- Base URL: `https://[base_url]/api/v2`
92
-
93
- **Business & Branding:**
94
- - **Front::Business** - Get business information
95
- - **Front::Branding** - Get branding information
96
-
97
- **People:**
98
- - **Front::Person** - Get authenticated client user only
99
-
100
- **Events & Scheduling:**
101
- - **Front::Event** - List and find events
102
- - **Front::EventOccurrence** - List and find occurrences, summaries, enrollment eligibility
103
- - **Front::Appointment** - Find available slots and availability summaries
104
-
105
- **Bookings & Visits:**
106
- - **Front::Booking** - Full CRUD operations, find leases
107
- - **Front::Visit** - List and find visits
108
-
109
- **Services & Staff:**
110
- - **Front::Service** - List and find services, enrollment eligibility
111
- - **Front::StaffMember** - List and find staff members
112
- - **Front::Location** - List and find locations
113
-
114
- **Plans & Products:**
115
- - **Front::Plan** - List and find plans
116
- - **Front::PlanProduct** - List and find plan products
117
-
118
- **Financial:**
119
- - **Front::Invoice** - Find invoices by ID
120
- - **Front::Payment** - Find payments, get payment configuration
17
+ ### Added
121
18
 
122
- **Other Resources:**
123
- - **Front::Note** - List and find person notes (read-only)
124
- - **Front::WaitlistEntry** - List and find waitlist entries
19
+ #### Core Infrastructure
20
+ - HTTP client with HTTParty and automatic error handling
21
+ - Bearer token authentication with configurable base URLs
22
+ - Global configuration management with URL normalization
23
+ - Comprehensive error handling with specific HTTP status mappings
24
+ - Support for both production and development environments
25
+
26
+ #### API v2 - Core API
27
+ **Account Resources:**
28
+ - Account management and business listing
29
+ - Person management across businesses
30
+ - Password reset functionality
31
+ - Email confirmation system
32
+
33
+ **Desk Resources (Staff Interface):**
34
+ - Person CRUD operations with search functionality
35
+ - Business and location management
36
+ - Event and event occurrence scheduling
37
+ - Appointment availability and slot management
38
+ - Booking system with lease support
39
+ - Visit tracking and summaries
40
+ - Service management with enrollment eligibility
41
+ - Staff member management
42
+ - Plan, pack, and product management
43
+ - Invoice and payment processing
44
+ - Revenue category and sales tax management
45
+ - Note system for person records
46
+ - Make-up credit management
47
+ - Waitlist entry management
48
+ - Custom field support
49
+
50
+ **Front Resources (Client Interface):**
51
+ - Business and branding information
52
+ - Authenticated user access
53
+ - Event browsing and enrollment eligibility
54
+ - Appointment booking with lease support
55
+ - Payment method management
56
+ - Read-only access to appropriate resources
57
+
58
+ #### API v3 - Reporting API
59
+ Complete reporting analytics with 12 endpoints:
60
+ - Monthly business metrics
61
+ - Client demographics and engagement analysis
62
+ - Transaction records with payment breakdowns
63
+ - Invoice tracking and revenue analysis
64
+ - Enrollment and attendance patterns
65
+ - Event occurrence analytics
66
+ - Staff workload and assignment tracking
67
+ - Invoice item details
68
+ - Transaction-level payment/refund tracking
69
+ - Staff compensation data
70
+ - Client plan ownership metrics
71
+ - Complete staff roster management
72
+
73
+ #### Technical Features
74
+ - Ruby >= 3.0.0 compatibility
75
+ - Faraday HTTP client with retry middleware
76
+ - Comprehensive test coverage (93% line coverage)
77
+ - RuboCop code quality enforcement
78
+ - SimpleCov coverage reporting
125
79
 
126
80
  ### Dependencies
127
- - `faraday` (~> 2.0) - HTTP client
128
- - `faraday-retry` (~> 2.0) - Automatic retry middleware
81
+ - `httparty` (~> 0.21) - HTTP client library
129
82
  - Ruby >= 3.0.0 required
130
83
 
131
84
  ### Development
132
- - RuboCop configuration for code quality
133
- - Minitest test suite with 99 tests, 93% line coverage
134
- - SimpleCov for test coverage reporting
85
+ - Minitest test suite with 300+ test methods
86
+ - SimpleCov for coverage reporting
87
+ - RuboCop for code quality
88
+ - GitHub Actions CI/CD ready