Responsible for specialized task processing, as may be needed by ServiceDomain methods. A method here may instantiate
other PORO classes to complete the complex operations required by a service request.
# app/strategy/domains/content_profile_domain.rb module Domains class ContentProfileDomain < DomainsBase def get_content_object_api ( params ) adapter_for_content_profile_entry ( params ). retrieve_content_object ( params ) end ... end end
# app/strategy/processors/file_system_processor.rb module Processors class FileSystemProcessor < ProcessorBase def initialize ( params = {}) super ( params ) @file_system = Pathname ( './controlled/projects' ) end # {"id"=>"0:0:1", "username"=>"developer", content_type="Commission" "controller"=>"profiles", "action"=>"api_get_content_object"} def retrieve_content_object ( params , user_p = nil ) # Hash entry result from available_content_list method page_user = user_p || ( get_page_user ( params [ "username" ] || params [ :username ])) catalog = get_storage_object ( " #{ PREFIX_CATALOG } - #{ page_user . person_authenticated_key } " ) result = { success: true , package: catalog . try ( :[] , params [ :id ]) || {} # { source:, filename: , mime: } key should be :id but prior method flipped value to :profile } Rails . logger . debug " #{ self . class } # #{ __method__ } () Catalog: #{ catalog . keys } , Result: #{ result . present? } " result rescue Exception => e Rails . logger . warn " #{ self . class . name } . #{ __method__ } (catalog: #{ catalog } ) Klass: #{ e . class . name } , Cause: #{ e . message } #{ e . backtrace [ 0 .. 4 ] } " { success: false , package: {} } end ... end end
back to SknStrategy Introduction