Class: OrcaApi::Service
- Inherits:
-
Object
- Object
- OrcaApi::Service
- Defined in:
- lib/orca_api/service.rb
Overview
各種情報を扱うサービスを表現したクラス 高レベルインターフェースは、 OrcaApi::Client のインスタンスメソッドで、オブジェクトを作成することを前提。 接続・認証情報は、各オブジェクトのプロパティ(orca_api)に保持。
高レベルインターフェースはロックしない。あくまで1トランザクション完結として扱う。 ロックしたいケースが仮にあるなら、低レベルインタフェースを使用する。 具体的には、患者情報の更新中に診療行為をさせないといった排他制御はorca-apiを利用するアプリケーションで行う。
アプリケーションによるロック
> 患者情報の取得 (参照時にORCA側で患者情報がロックされるが、変更なしで患者情報を更新してロックを解除する)
> 患者情報の入力
> 患者情報の更新 (ORCA側のロックは利用しない = Continue_Mode=False)
アプリケーションによるロックの解除
Direct Known Subclasses
AcceptanceService, BlobService, DepartmentService, DiseaseService, FindService, FormDataService, ImageService, IncomeService, InsuranceService, LockService, MedicalPracticeService, PatientService, PatientService::AccidentInsurance, PatientService::CareCommon, PatientService::Contraindication, PatientService::HealthPublicInsuranceCommon, PatientService::IncomeCommon, PatientService::PiMoneyCommon, PhysicianService, PrintService, ReceiptDataCheckService, ReceiptDataService, ReceiptService, RehabilitationCommentService, StatisticsFormService, SubjectiveService, UserService
Direct Known Subclasses
AcceptanceService, BlobService, DepartmentService, DiseaseService, FindService, FormDataService, ImageService, IncomeService, InsuranceService, LockService, MedicalPracticeService, PatientService, PatientService::AccidentInsurance, PatientService::CareCommon, PatientService::Contraindication, PatientService::HealthPublicInsuranceCommon, PatientService::IncomeCommon, PatientService::PiMoneyCommon, PhysicianService, PrintService, ReceiptDataCheckService, ReceiptDataService, ReceiptService, RehabilitationCommentService, StatisticsFormService, SubjectiveService, UserService
Instance Attribute Summary collapse
-
#orca_api ⇒ Object
readonly
Returns the value of attribute orca_api.
Class Method Summary collapse
-
.reuse_session(*method_names) ⇒ Module
OrcaApi::Client#reuse_session でラップするためのマクロメソッド.
Instance Method Summary collapse
-
#initialize(orca_api) ⇒ Service
constructor
A new instance of Service.
Constructor Details
#initialize(orca_api) ⇒ Service
Returns a new instance of Service
66 67 68 |
# File 'lib/orca_api/service.rb', line 66 def initialize(orca_api) @orca_api = orca_api end |
Constructor Details
#initialize(orca_api) ⇒ Service
Returns a new instance of Service
66 67 68 |
# File 'lib/orca_api/service.rb', line 66 def initialize(orca_api) @orca_api = orca_api end |
Instance Attribute Details
#orca_api ⇒ Object (readonly)
Returns the value of attribute orca_api.
27 28 29 |
# File 'lib/orca_api/service.rb', line 27 def orca_api @orca_api end |
Class Method Details
.reuse_session(*method_names) ⇒ Module
OrcaApi::Client#reuse_session でラップするためのマクロメソッド
あるメソッド内で複数回 OrcaApi::Client#call を呼び出す時、#call ごとにその都度HTTPセッションが作成される。
http keep-alive が有効な場合、作成したHTTPセッションを使いまわすことで、パフォーマンスを向上させることができる。
52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/orca_api/service.rb', line 52 def self.reuse_session(*method_names) wrapper = Module.new do method_names.each do |method_name| define_method(method_name) do |*args, &blk| orca_api.reuse_session do super(*args, &blk) end end end end prepend wrapper wrapper end |