Class: SeapigRouterSessionStateProducer

Inherits:
Producer
  • Object
show all
Defined in:
lib/seapigs/seapig_router_session_state.rb

Class Method Summary collapse

Class Method Details

.produce(seapig_object_id) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/seapigs/seapig_router_session_state.rb', line 6

def self.produce(seapig_object_id)
	seapig_object_id =~ /SeapigRouter::Session::([^\:]+)::State::([^\:]+)/
	session_key = $1
	state_id = $2.to_i
	version = Time.new.to_f
	session = SeapigRouterSession.find_by(key: session_key)
	return [false, SeapigDependency.versions('SeapigRouter::Session::'+session_key)] if not session
	state = SeapigRouterSessionState.find_by(seapig_router_session_id: session.id, state_id: state_id)
	return [false, SeapigDependency.versions('SeapigRouter::Session::'+session_key)] if not state
	data = state.state
	[data, version]
end