Class: Eco::API::UseCases::GraphQL::Samples::Pages::OrgPage::Base
- Inherits:
-
Page::Base
- Object
- Loaders::Base
- Common::Loaders::CaseBase
- Common::Loaders::UseCase
- Base
- Page::Base
- Eco::API::UseCases::GraphQL::Samples::Pages::OrgPage::Base
- Includes:
- DSL
- Defined in:
- lib/eco/api/usecases/graphql/samples/pages/org_page/base.rb
Overview
Base class for org-wide page processing use cases.
Identical to Page::Base but with no default register scope — search_conf starts empty (all org pages). Subclass adds filters via super.
== When to use which
Page::Base — one register, most scripts ("go through all pages in Reg X") OrgPage::Base — entire org (cross-register audits, archive sweeps, bulk ops)
== Subclass interface
class Custom::UseCase::ArchiveStaleDrafts < Eco::API::UseCases::GraphQL::Samples::Pages::OrgPage::Base name 'archive-stale-drafts' batch_size 100
def search_conf
super.filter(state_is(:draft))
.filter(updated_since('2025-01-01'))
end
def process_page(page)
return skip('already archived') if page.archived?
log(:info) { "Archiving: #{page.name}" }
graphql.page.archive(input: { id: page.id }) unless simulate?
end
end
Instance Attribute Summary
Attributes inherited from Page::Base
#failed_pages, #processed_pages, #skipped_pages, #total_pages, #updated_pages
Attributes included from Lib::ErrorHandling
Attributes included from Language::AuxiliarLogger
Instance Method Summary collapse
-
#search_conf ⇒ Object
No default register scope.
Methods inherited from Page::Base
batch_size, #process, #process_page, register_id
Methods inherited from Base
Methods included from Language::Methods::CallDetector
Methods included from Language::AuxiliarLogger
Methods inherited from Common::Loaders::UseCase
#cli_apply!, #initialize, #main
Methods included from Common::Loaders::UseCase::CliIdentify
Methods included from Common::Loaders::UseCase::TargetModel
Methods included from Common::Loaders::UseCase::Type
Methods inherited from Common::Loaders::CaseBase
#name, name_only_once!, original_name
Constructor Details
This class inherits a constructor from Eco::API::Common::Loaders::UseCase
Instance Method Details
#search_conf ⇒ Object
No default register scope. Subclass adds filters via super.
37 38 39 |
# File 'lib/eco/api/usecases/graphql/samples/pages/org_page/base.rb', line 37 def search_conf sc.new end |