Skip to content

Commit acb1d1a

Browse files
Rename Flex::Rules to Strata namespace (#197)
## Changes Renamed the `Flex::Rules` module namespace to `Strata` by moving 4 files and updating module declarations: - **Moved files:** - `app/models/flex/rules/medicaid_ruleset.rb` → `app/models/strata/medicaid_ruleset.rb` - `app/models/flex/rules/paid_leave_ruleset.rb` → `app/models/strata/paid_leave_ruleset.rb` - `spec/models/flex/rules/medicaid_ruleset_spec.rb` → `spec/models/strata/medicaid_ruleset_spec.rb` - `spec/models/flex/rules/paid_leave_ruleset_spec.rb` → `spec/models/strata/paid_leave_ruleset_spec.rb` - **Updated module declarations:** Changed from `module Flex::Rules` to `module Strata` - **Removed empty directories:** `app/models/flex/rules/` and `spec/models/flex/rules/` The classes are now accessible as `Strata::MedicaidRuleset` and `Strata::PaidLeaveRuleset` instead of `Flex::Rules::MedicaidRuleset` and `Flex::Rules::PaidLeaveRuleset`. ## Context This refactoring integrates the ruleset classes into the existing Strata namespace, which already contains models, controllers, attributes, and other components throughout the codebase. The target structure is flat (`Strata::MedicaidRuleset`) rather than nested (`Strata::Rules::MedicaidRuleset`). **⚠️ Breaking Change:** This is a breaking change for any code that references these classes by their old namespace. A comprehensive search found no remaining `Flex::Rules` references in the codebase. **Key considerations for review:** - Verify no missed references to `Flex::Rules` exist (especially string-based or dynamic references) - Confirm this change is coordinated with any external consumers of these classes - Check that the Strata namespace integration follows existing patterns Addresses Linear ticket **TSS-338**. ## Testing - **All tests pass:** 798 examples, 0 failures, 1 pending - **Lint checks pass:** 240 files inspected, no offenses detected - **Comprehensive search:** No remaining `Flex::Rules` references found in codebase - **Rails autoloading:** Classes are properly autoloaded in the new Strata namespace --- **Link to Devin run:** https://app.devin.ai/sessions/3bfa5894ebdd45b5a1e501b4f56f6dfc **Requested by:** @baonguyenNava Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Bao Nguyen <baonguyen@navapbc.com>
1 parent 20bc826 commit acb1d1a

4 files changed

Lines changed: 12 additions & 20 deletions

File tree

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
module Flex
2-
module Rules
3-
# Implements eligibility rules for Medicaid benefits.
4-
# Handles age calculations, residency verification, and income-based qualification.
5-
class MedicaidRuleset
1+
module Strata
2+
# Implements eligibility rules for Medicaid benefits.
3+
# Handles age calculations, residency verification, and income-based qualification.
4+
class MedicaidRuleset
65
def medicaid_eligibility(state_of_residence, age_over_65, modified_adjusted_gross_income)
76
age_over_65 && modified_adjusted_gross_income < 50000
87
end
@@ -30,6 +29,5 @@ def modified_adjusted_gross_income(annual_income, deductions)
3029
return 0 if annual_income < deductions
3130
annual_income - deductions
3231
end
33-
end
3432
end
3533
end

app/models/flex/rules/paid_leave_ruleset.rb renamed to app/models/strata/paid_leave_ruleset.rb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
module Flex
2-
module Rules
3-
# Implements eligibility rules for paid leave benefits based on Massachusetts PFML guidelines.
4-
# Includes checks for submission timing, earnings requirements, and benefit calculations.
5-
class PaidLeaveRuleset
1+
module Strata
2+
# Implements eligibility rules for paid leave benefits based on Massachusetts PFML guidelines.
3+
# Includes checks for submission timing, earnings requirements, and benefit calculations.
4+
class PaidLeaveRuleset
65
def submitted_within_60_days_of_leave_start(submitted_at, leave_starts_on)
76
return nil if submitted_at.nil? || leave_starts_on.nil?
87

@@ -45,6 +44,5 @@ def base_period
4544

4645
def individual_average_weekly_wage
4746
end
48-
end
4947
end
5048
end

spec/models/flex/rules/medicaid_ruleset_spec.rb renamed to spec/models/strata/medicaid_ruleset_spec.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
require 'rails_helper'
22

3-
module Flex
4-
module Rules
5-
RSpec.describe MedicaidRuleset do
3+
module Strata
4+
RSpec.describe MedicaidRuleset do
65
evaluated_on = Date.new(2025, 5, 28) # Freeze time for testing
76
let(:rules) { described_class.new }
87

@@ -81,6 +80,5 @@ module Rules
8180
end
8281
end
8382
end
84-
end
8583
end
8684
end

spec/models/flex/rules/paid_leave_ruleset_spec.rb renamed to spec/models/strata/paid_leave_ruleset_spec.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
require 'rails_helper'
22

3-
module Flex
4-
module Rules
5-
RSpec.describe PaidLeaveRuleset do
3+
module Strata
4+
RSpec.describe PaidLeaveRuleset do
65
base_date = Date.new(2025, 7, 1)
76
let(:rules) { described_class.new }
87

@@ -22,6 +21,5 @@ module Rules
2221
end
2322
end
2423
end
25-
end
2624
end
2725
end

0 commit comments

Comments
 (0)