Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- contract request template model
- def customer
- result = ContractRequestTemplateQuery.fetch_customer(contract_request_template_id: id)
- return nil unless result
- customer_id = result[:customerId].value
- Customer.new(uri: customer_id)
- end
- contract request model
- def contract_request_template
- result = ContractRequestQuery.fetch_contract_request_template(contract_request_id: id)
- return nil unless result
- contract_request_template_id = result[:contractRequestTemplateId].value
- ContractRequestTemplate.new(uri: contract_request_template_id)
- end
- delegate :customer, to: :contract_request_template, allow_nil: true
- class ContractRequestQuery
- def self.fetch_contract_request_template(contract_request_id:)
- sparql_query = %(
- PREFIX wco: <#{PrefixesService::PREFIXES[:wco]}>
- PREFIX wci: <#{PrefixesService::PREFIXES[:wci]}>
- SELECT ?contractRequestTemplateId
- WHERE { ?contractRequestTemplateId wco:templateFor wci:#{contract_request_id} . }
- )
- result = GraphDBConnector.instance.query(sparql_query)
- return [] unless result[:success]
- result[:data]&.first
- end
- end
- contract request template query
- def fetch_customer(contract_request_template_id:)
- sparql_query = %(
- PREFIX wco: <#{PrefixesService::PREFIXES[:wco]}>
- PREFIX wci: <#{PrefixesService::PREFIXES[:wci]}>
- SELECT ?customerId
- WHERE {
- ?customerId wco:hasContractRequestTemplate wci:#{contract_request_template_id} .
- }
- )
- result = GraphDBConnector.instance.query(sparql_query)
- return [] unless result[:success]
- result[:data]&.first
- end
Advertisement
Add Comment
Please, Sign In to add comment