notebook/app/controllers
Andrew Brown ac96a001a8 Fix Stripe subscription errors by migrating deprecated sources API to payment_methods API
- Migrate from deprecated sources API to modern payment_methods API in SubscriptionsController
- Update subscription plan modifications to use Subscription.modify instead of direct assignment
- Fix payment method creation/deletion to use PaymentMethod.create/detach instead of sources
- Update view templates to use new payment_methods data structure
- Migrate price.id usage from deprecated plan.id in data integrity tasks
- Add comprehensive test suite with proper Stripe API stubs
- Add missing test gems: rspec-rails, webmock, factory_bot_rails, shoulda-matchers

This resolves Error 500 when users try to upgrade to Premium subscriptions.
The original error was: NoMethodError - undefined method 'total_count' for nil:NilClass
caused by stripe_customer.sources.total_count when sources API returned nil.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 23:40:36 -07:00
..
api unify logic for content#show / content#edit / content#gallery image lists 2025-06-27 15:46:21 -07:00
admin_controller.rb
application_controller.rb
attribute_categories_controller.rb
attribute_fields_controller.rb
basil_controller.rb Revert "Start free Basil month" 2025-06-30 23:10:14 -07:00
browse_controller.rb Revert "Start free Basil month" 2025-06-30 23:10:14 -07:00
buildings_controller.rb
characters_controller.rb
characters_generator_controller.rb
conditions_controller.rb
content_controller.rb Revert "Start free Basil month" 2025-06-30 23:10:14 -07:00
content_page_shares_controller.rb
continents_controller.rb
contributors_controller.rb
conversation_controller.rb
countries_controller.rb
creatures_controller.rb
customization_controller.rb
data_controller.rb
deities_controller.rb
document_analyses_controller.rb release polish 2025-06-30 01:30:13 -07:00
document_revisions_controller.rb
documents_controller.rb Add comprehensive tests for FoldersController 2025-06-30 12:18:28 -07:00
emails_controller.rb
emergency_controller.rb
equipment_generator_controller.rb
export_controller.rb
floras_controller.rb
folders_controller.rb
foods_controller.rb
governments_controller.rb
groups_controller.rb
help_controller.rb
image_upload_controller.rb silly claude 2025-06-26 23:41:20 -07:00
information_controller.rb
items_controller.rb
jobs_controller.rb
lab_controller.rb
landmarks_controller.rb
languages_controller.rb
locations_controller.rb
locations_generator_controller.rb
lores_controller.rb
magics_controller.rb
main_controller.rb
navigator_controller.rb
notice_dismissal_controller.rb
notifications_controller.rb
page_collection_submissions_controller.rb
page_collections_controller.rb
page_tags_controller.rb
planets_controller.rb
races_controller.rb
referrals_controller.rb
registrations_controller.rb
religions_controller.rb
scenes_controller.rb
schools_controller.rb
search_controller.rb
share_comments_controller.rb
sports_controller.rb
stream_controller.rb
subscriptions_controller.rb Fix Stripe subscription errors by migrating deprecated sources API to payment_methods API 2025-07-10 23:40:36 -07:00
technologies_controller.rb
thredded_proxy_controller.rb
timeline_events_controller.rb
timelines_controller.rb
towns_controller.rb
traditions_controller.rb
universes_controller.rb release polish 2025-06-30 01:30:13 -07:00
user_blockings_controller.rb
user_followings_controller.rb
users_controller.rb Fix Stripe subscription errors by migrating deprecated sources API to payment_methods API 2025-07-10 23:40:36 -07:00
vehicles_controller.rb
voting_controller.rb
write_controller.rb