cloud_connect 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/HISTORY.md CHANGED
@@ -1,3 +1,7 @@
1
+ 2.0.2 - August 22, 2014
2
+ -----------------------
3
+ * Add support for old school APIs (v1.5)
4
+
1
5
  2.0.1 - August 13, 2014
2
6
  -----------------------
3
7
  * Update faraday from 0.5.1 to 0.8.9
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  require File.expand_path("../lib/cloud_connect/version", __FILE__)
3
2
 
4
3
  Gem::Specification.new do |s|
@@ -10,7 +9,7 @@ Gem::Specification.new do |s|
10
9
  s.homepage = "http://rubygems.org/gems/cloud_connect"
11
10
  s.summary = "Wrapper for Cloud Connect"
12
11
  s.description = "Ruby Wrapper for the Mobile Devices Cloud Connect API"
13
- s.version = '2.0.1'
12
+ s.version = '2.0.2'
14
13
 
15
14
  s.required_rubygems_version = ">= 1.3.6"
16
15
 
data/lib/cloud_connect.rb CHANGED
@@ -15,6 +15,7 @@ module CloudConnect
15
15
  attr_accessor :username
16
16
  attr_accessor :password
17
17
  attr_accessor :account
18
+ attr_accessor :version
18
19
  attr_accessor :env
19
20
 
20
21
  def configure
@@ -1,6 +1,6 @@
1
1
  module CloudConnect
2
2
  class Client
3
- attr_reader :username, :password, :account, :env, :cookie
3
+ attr_reader :username, :password, :account, :env, :cookie, :version
4
4
  attr_writer :cookie
5
5
 
6
6
  def initialize(options={})
@@ -8,6 +8,7 @@ module CloudConnect
8
8
  @password = options[:password] || CloudConnect.password
9
9
  @account = options[:account] || CloudConnect.account
10
10
  @env = options[:env] || CloudConnect.env || "prod"
11
+ @version = options[:version] || "v2"
11
12
  end
12
13
 
13
14
  # Raw HTTP connection, either Faraday::Connection
@@ -34,13 +35,16 @@ module CloudConnect
34
35
  if env == "preprod"
35
36
  "http://srv/api/v2"
36
37
  else
37
- "http://#{env}.g8teway.com/api/v2"
38
+ "http://#{env}.g8teway.com/api/#{version}"
38
39
  end
39
40
  end
40
41
 
41
-
42
42
  def login
43
- req = connection.post('sessions', {:login => username, :password => password, :client => account})
43
+ if version == "v1.5"
44
+ req = connection.post('ws?login', "username=#{username}&password=#{password}&client=#{account}")
45
+ else
46
+ req = connection.post('sessions', {:login => username, :password => password, :client => account})
47
+ end
44
48
  end
45
49
 
46
50
  private
@@ -1,6 +1,8 @@
1
1
  module CloudConnect
2
2
  module Messages
3
3
 
4
+ require 'open-uri'
5
+
4
6
  # Returns all messages that match parameters provided in +opts+ list
5
7
  # (if +opts+ is provided)
6
8
  #
@@ -40,8 +42,13 @@ module CloudConnect
40
42
  # TODO: rename #message_create ?
41
43
  opts.merge! :channelid => channel, :unitid => unit, :content => content
42
44
  response = connection.post do |req|
43
- req.url 'messages'
44
- req.body = {:message => opts}
45
+ if version == "v1.5"
46
+ req.url 'ws?messagesend'
47
+ req.body = "unit=#{unit}&channel=#{channel}&content=#{URI::encode(content)}"
48
+ else
49
+ req.url 'messages'
50
+ req.body = {:message => opts}
51
+ end
45
52
  end
46
53
  response.body.values.first
47
54
  end
@@ -1,3 +1,3 @@
1
1
  module CloudConnect
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloud_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-13 00:00:00.000000000 Z
12
+ date: 2014-08-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json