Class: Io::Flow::V0::Models::OrganizationSession
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Overview
Represents a session created for an organization. Primary method to select an experience for a given user session and ensure that experience does not change throughout the user’s activity. Provides authentication to objects created during this session (e.g. order).
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#environment ⇒ Object
readonly
Returns the value of attribute environment.
-
#experience ⇒ Object
readonly
Returns the value of attribute experience.
-
#experiment ⇒ Object
readonly
Returns the value of attribute experiment.
-
#format ⇒ Object
readonly
Returns the value of attribute format.
-
#geo ⇒ Object
readonly
Returns the value of attribute geo.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#ip ⇒ Object
readonly
Returns the value of attribute ip.
-
#local ⇒ Object
readonly
Returns the value of attribute local.
-
#organization ⇒ Object
readonly
Returns the value of attribute organization.
-
#visit ⇒ Object
readonly
Returns the value of attribute visit.
-
#visitor ⇒ Object
readonly
Returns the value of attribute visitor.
Attributes inherited from Session
Instance Method Summary collapse
- #copy(incoming = {}) ⇒ Object
-
#initialize(incoming = {}) ⇒ OrganizationSession
constructor
A new instance of OrganizationSession.
- #subtype_to_hash ⇒ Object
- #to_json ⇒ Object
Methods inherited from Session
Constructor Details
#initialize(incoming = {}) ⇒ OrganizationSession
Returns a new instance of OrganizationSession.
41742 41743 41744 41745 41746 41747 41748 41749 41750 41751 41752 41753 41754 41755 41756 41757 41758 41759 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41742 def initialize(incoming={}) super(:discriminator => Session::Types::ORGANIZATION_SESSION) opts = HttpClient::Helper.symbolize_keys(incoming) HttpClient::Preconditions.require_keys(opts, [:id, :organization, :visitor, :visit, :environment, :attributes], 'OrganizationSession') @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String) @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String) @visitor = (x = opts.delete(:visitor); x.is_a?(::Io::Flow::V0::Models::SessionVisitor) ? x : ::Io::Flow::V0::Models::SessionVisitor.new(x)) @visit = (x = opts.delete(:visit); x.is_a?(::Io::Flow::V0::Models::SessionVisit) ? x : ::Io::Flow::V0::Models::SessionVisit.new(x)) @environment = (x = opts.delete(:environment); x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x)) @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h } @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)) @local = (x = opts.delete(:local); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalSession) ? x : ::Io::Flow::V0::Models::LocalSession.new(x))) @geo = (x = opts.delete(:geo); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SessionGeo) ? x : ::Io::Flow::V0::Models::SessionGeo.new(x))) @experience = (x = opts.delete(:experience); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperienceGeo) ? x : ::Io::Flow::V0::Models::ExperienceGeo.new(x))) @format = (x = opts.delete(:format); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SessionFormat) ? x : ::Io::Flow::V0::Models::SessionFormat.new(x))) @experiment = (x = opts.delete(:experiment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SessionExperiment) ? x : ::Io::Flow::V0::Models::SessionExperiment.new(x))) @context = (x = opts.delete(:context); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ContextReference) ? x : ::Io::Flow::V0::Models::ContextReference.new(x))) end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def attributes @attributes end |
#context ⇒ Object (readonly)
Returns the value of attribute context.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def context @context end |
#environment ⇒ Object (readonly)
Returns the value of attribute environment.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def environment @environment end |
#experience ⇒ Object (readonly)
Returns the value of attribute experience.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def experience @experience end |
#experiment ⇒ Object (readonly)
Returns the value of attribute experiment.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def experiment @experiment end |
#format ⇒ Object (readonly)
Returns the value of attribute format.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def format @format end |
#geo ⇒ Object (readonly)
Returns the value of attribute geo.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def geo @geo end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def id @id end |
#ip ⇒ Object (readonly)
Returns the value of attribute ip.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def ip @ip end |
#local ⇒ Object (readonly)
Returns the value of attribute local.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def local @local end |
#organization ⇒ Object (readonly)
Returns the value of attribute organization.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def organization @organization end |
#visit ⇒ Object (readonly)
Returns the value of attribute visit.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def visit @visit end |
#visitor ⇒ Object (readonly)
Returns the value of attribute visitor.
41740 41741 41742 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41740 def visitor @visitor end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
41765 41766 41767 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41765 def copy(incoming={}) OrganizationSession.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
41769 41770 41771 41772 41773 41774 41775 41776 41777 41778 41779 41780 41781 41782 41783 41784 41785 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41769 def subtype_to_hash { :id => id, :organization => organization, :visitor => visitor.to_hash, :visit => visit.to_hash, :environment => environment.value, :attributes => attributes, :ip => ip, :local => local.nil? ? nil : local.to_hash, :geo => geo.nil? ? nil : geo.to_hash, :experience => experience.nil? ? nil : experience.to_hash, :format => format.nil? ? nil : format.to_hash, :experiment => experiment.nil? ? nil : experiment.to_hash, :context => context.nil? ? nil : context.to_hash } end |
#to_json ⇒ Object
41761 41762 41763 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 41761 def to_json JSON.dump(to_hash) end |