Sha256: b7a2ba8f39dbc01c8f4f2da6f4ac56577a0f300bf8b00296cd242157f3050f8e
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
module ClickSession # Executes the click session and retuns a serialized response class Sync attr_reader :model attr_accessor :click_session def initialize(model) @model = model end def run @click_session = SessionState.create!(model: model) begin click_session_processor = ClickSessionProcessor.new( click_session, processor, configured_notifier, options ) click_session_processor.process click_session.reported_back! serialize_success_response rescue TooManyRetriesError => e click_session.reported_back! serialize_failure_response end end private delegate :notifier_class, to: :clicksession_configuration def serialize_success_response serializer.serialize_success(click_session) end def serialize_failure_response serializer.serialize_failure(click_session) end def processor @processor ||= ClickSession::WebRunnerProcessor.new end def configured_notifier @notifier ||= notifier_class.new end def options if clicksession_configuration.screenshot_enabled? { screenshot_enabled: true, screenshot_options: clicksession_configuration.screenshot } else {} end end def clicksession_configuration ClickSession.configuration end def serializer @serializer ||= ClickSession::ResponseSerializer.new end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
click_session-0.1.1 | lib/click_session/sync.rb |
click_session-0.1.0 | lib/click_session/sync.rb |