Sha256: 660aee2c0c7969ea734be68044314e96b1c5e4e4a291b1a63d013a480ef97168

Contents?: true

Size: 1.87 KB

Versions: 18

Compression:

Stored size: 1.87 KB

Contents

module Session

  def get_session(key, options={})
    options.merge!({:basic_auth => @auth})
    response = self.class.get(base_api_endpoint("Web/Session/#{key}"), options)
    JSON.parse(response.body)
  end

  def create_session(ip, options={})
    parameters =
      {
          'IpAddress': ip,
          'Organization': 'Tessitura Web'
      }
    options.merge!({:basic_auth => @auth})
    options.merge!(:body => parameters)
    response = self.class.post(base_api_endpoint('Web/Session'), options)
    JSON.parse(response.body)
  end

  def get_expiration(key, options={})
    options.merge!({:basic_auth => @auth})
    response = self.class.get(base_api_endpoint("Web/Session/#{key}/Expiration"), options)
    JSON.parse(response.body)
  end

  def set_expiration(key, expiration, options={})
    parameters =
    {
          'Expiration': expiration
    }
    options.merge!({:basic_auth => @auth})
    options.merge!(:body => parameters)
    response = self.class.put(base_api_endpoint("Web/Session/#{key}/Expiration"), options)
    JSON.parse(response.body)
  end

  def load_existing_order(key, order_id, options={})
    options.merge!({:basic_auth => @auth})
    self.class.post(base_api_endpoint("Web/Session/#{key}/LoadOrder/#{order_id}"), options)
  end

  def get_promotion(key, code, options={})
    parameters =
      {
          'PromoCode': code
      }
    options.merge!({:basic_auth => @auth})
    options.merge!(:body => parameters)
    response = self.class.post(base_api_endpoint("Web/Session/#{key}/PromoCode"), options)
    JSON.parse(response.body)
  end

  def get_promotion_code(key, code, options={})
    parameters =
      {
          'PromoCodeString': code
      }
    options.merge!({:basic_auth => @auth})
    options.merge!(:body => parameters)
    response = self.class.post(base_api_endpoint("Web/Session/#{key}/PromoCode"), options)
    JSON.parse(response.body)
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
tessitura_rest-0.3.13 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.12 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.11 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.10 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.9 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.8 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.7 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.6 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.5 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.4 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.3 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.2 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.1 lib/tessitura_rest/web/session.rb
tessitura_rest-0.3.0 lib/tessitura_rest/web/session.rb
tessitura_rest-0.2.8 lib/tessitura_rest/web/session.rb
tessitura_rest-0.2.7 lib/tessitura_rest/web/session.rb
tessitura_rest-0.2.6 lib/tessitura_rest/web/session.rb
tessitura_rest-0.2.5 lib/tessitura_rest/web/session.rb