cloud_connect 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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