Class: Browserctl::State::Payload

Inherits:
Data
  • Object
show all
Defined in:
lib/browserctl/state.rb

Overview

Value object bundling everything needed to persist a state bundle. The browser-side data lives in ‘cookies`, `local_storage`, and `session_storage`; the manifest extras live in `origins`, `flow`, and `flow_version`; `passphrase` flips the bundle into an encrypted variant.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cookiesObject (readonly)

Returns the value of attribute cookies

Returns:

  • (Object)

    the current value of cookies



49
50
51
# File 'lib/browserctl/state.rb', line 49

def cookies
  @cookies
end

#flowObject (readonly)

Returns the value of attribute flow

Returns:

  • (Object)

    the current value of flow



49
50
51
# File 'lib/browserctl/state.rb', line 49

def flow
  @flow
end

#flow_versionObject (readonly)

Returns the value of attribute flow_version

Returns:

  • (Object)

    the current value of flow_version



49
50
51
# File 'lib/browserctl/state.rb', line 49

def flow_version
  @flow_version
end

#local_storageObject (readonly)

Returns the value of attribute local_storage

Returns:

  • (Object)

    the current value of local_storage



49
50
51
# File 'lib/browserctl/state.rb', line 49

def local_storage
  @local_storage
end

#originsObject (readonly)

Returns the value of attribute origins

Returns:

  • (Object)

    the current value of origins



49
50
51
# File 'lib/browserctl/state.rb', line 49

def origins
  @origins
end

#passphraseObject (readonly)

Returns the value of attribute passphrase

Returns:

  • (Object)

    the current value of passphrase



49
50
51
# File 'lib/browserctl/state.rb', line 49

def passphrase
  @passphrase
end

#session_storageObject (readonly)

Returns the value of attribute session_storage

Returns:

  • (Object)

    the current value of session_storage



49
50
51
# File 'lib/browserctl/state.rb', line 49

def session_storage
  @session_storage
end

Class Method Details

.build(cookies: [], local_storage: {}, session_storage: {}, origins: nil, flow: nil, flow_version: nil, passphrase: nil) ⇒ Object

rubocop:disable Metrics/ParameterLists



58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/browserctl/state.rb', line 58

def self.build(cookies: [], local_storage: {}, session_storage: {}, # rubocop:disable Metrics/ParameterLists
               origins: nil, flow: nil, flow_version: nil, passphrase: nil)
  new(
    cookies: cookies,
    local_storage: local_storage,
    session_storage: session_storage,
    origins: origins,
    flow: flow,
    flow_version: flow_version,
    passphrase: passphrase
  )
end

Instance Method Details

#to_bundle_payloadObject



71
72
73
74
75
76
77
# File 'lib/browserctl/state.rb', line 71

def to_bundle_payload
  {
    cookies: cookies,
    local_storage: local_storage,
    session_storage: session_storage
  }
end