Module: Blix::Rest::Session::ClassMethods

Defined in:
lib/blix/rest/session.rb

Instance Method Summary collapse

Instance Method Details

#get_session_managerObject



131
132
133
134
135
136
137
138
139
# File 'lib/blix/rest/session.rb', line 131

def get_session_manager
  @_sess_manager ||= begin
    if superclass.respond_to?(:get_session_manager)
      superclass.get_session_manager
    else
      Blix::RedisStore.new(get_session_opts)
    end
  end
end

#get_session_nameObject



111
112
113
114
115
116
117
118
119
# File 'lib/blix/rest/session.rb', line 111

def get_session_name
  @_sess_name ||= begin
    if superclass.respond_to?(:get_session_name)
      superclass.get_session_name
    else
      SESSION_NAME
    end
  end
end

#get_session_optsObject



121
122
123
124
125
126
127
128
129
# File 'lib/blix/rest/session.rb', line 121

def get_session_opts
  @_session_opts ||= begin
    if superclass.respond_to?(:get_session_opts)
      superclass.get_session_opts.merge(@_sess_custom_opts || {})
    else
      SESSION_OPTS.merge(@_sess_custom_opts || {})
    end
  end
end

#session_manager(man) ⇒ Object

Raises:

  • (ArgumentError)


104
105
106
107
108
109
# File 'lib/blix/rest/session.rb', line 104

def session_manager(man)
  raise ArgumentError, "incompatible session store" unless man.respond_to?(:get_session)
  raise ArgumentError, "incompatible session store" unless man.respond_to?(:store_session)
  raise ArgumentError, "incompatible session store" unless man.respond_to?(:delete_session)
  @_sess_manager= man
end

#session_name(name) ⇒ Object



96
97
98
# File 'lib/blix/rest/session.rb', line 96

def session_name(name)
  @_sess_name = name.to_s
end

#session_opts(opts) ⇒ Object



100
101
102
# File 'lib/blix/rest/session.rb', line 100

def session_opts(opts)
  @_sess_custom_opts = opts
end