creatary-sdk 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.mkd CHANGED
@@ -24,9 +24,9 @@ If you are using rails then:
24
24
 
25
25
  ```yaml
26
26
  development: &defaults
27
- consumer_key: # the consumer key generated in telcoassetmarketplace.com for you application
28
- consumer_secret: # the consumer secret generated in telcoassetmarketplace.com for you application
29
- consumer_handler: # the of the class that implements the Creatary handler logic
27
+ consumer_key: # the consumer key generated in creatary.com for you application
28
+ consumer_secret: # the consumer secret generated in creatary.com for you application
29
+ consumer_handler: # the of the class that implements the creatary handler logic
30
30
  test:
31
31
  <<: *defaults
32
32
  production:
@@ -53,6 +53,9 @@ If you are using rails then:
53
53
 
54
54
  def receive_sms(from_user, to_app, body)
55
55
  end
56
+
57
+ def lifecycle_notification(channel, invoker, reason, application_name, notification_type, access_tokens)
58
+ end
56
59
 
57
60
  end
58
61
  ```
@@ -60,7 +63,8 @@ If you are using rails then:
60
63
  5. The routes exposed by the gem in your rails application are:
61
64
 
62
65
  ```ruby
63
- /creatary/authorize
64
- /creatary/receive_sms # use this one (complement to form absolute path) as SMS URL when registering your application in telcoassetmarketplace.com
65
- /creatary/oauth_callback # use this one (complement to form absolute path) as OAUTH callback URL when registering your application in telcoassetmarketplace.com
66
+ /creatary/authorize # redirect to this one when you want to initiate the OAUTH authorization flow (pass ?subscription_tariff_name='' parameter to the redirect when performing subscription authorization OAUTH flow)
67
+ /creatary/receive_sms # use this one (complement to form absolute path) as SMS URL when registering your application in creatary.com
68
+ /creatary/oauth_callback # use this one (complement to form absolute path) as OAUTH callback URL when registering your application in creatary.com
69
+ /creatary/lifecycle_callback # use this one (complement to form absolute path) as subscriber lifecycle callback URL when registering your application in creatary.com
66
70
  ```
data/creatary-sdk.gemspec CHANGED
@@ -37,8 +37,7 @@ Gem::Specification.new do |s|
37
37
  Creatary:
38
38
  https://creatary.com/
39
39
  Notice that in order to use this gem you will also need to register as a
40
- developer in Creatary:
41
- https://telcoassetmarketplace.com
40
+ developer in Creatary
42
41
 
43
42
  ********************************************************************************
44
43
  eos
data/lib/creatary/api.rb CHANGED
@@ -16,6 +16,7 @@ module Creatary
16
16
  require 'creatary/api/sms'
17
17
  require 'creatary/api/location'
18
18
  require 'creatary/api/charging'
19
+ require 'creatary/api/lifecycle'
19
20
 
20
21
  # Dispatches the request to the Creatary handler configured by
21
22
  # this gem client
@@ -0,0 +1,38 @@
1
+ require 'sinatra'
2
+ require 'oauth'
3
+ require 'json'
4
+ require 'creatary/user'
5
+
6
+ # Lifecycle part of the Creatary REST API
7
+ module Creatary
8
+ class API
9
+ # URL handler for receiving lifecycle notifications
10
+ # After receiving a lifecycle notification, the configured
11
+ # consumer_handler.lifecycle_notification(channel, invoker, reason,
12
+ # applicationName, notificationType, accessTokens)
13
+ # is invoked
14
+ #
15
+ # @private
16
+ post "/*/lifecycle_callback" do
17
+ request.body.rewind # in case someone already read it
18
+
19
+ data = JSON.parse request.body.read
20
+
21
+ channel = data["channel"]
22
+ invoker = data["invoker"]
23
+ reason = data["reason"]
24
+ application_name = data["applicationName"]
25
+ notification_type = data["notificationType"]
26
+ access_tokens = data["accessTokens"]
27
+
28
+ begin
29
+ dispatch_to_handler('lifecycle_notification', channel, invoker, reason, application_name, notification_type, access_tokens)
30
+ response.status = 200
31
+ return ''
32
+ rescue Error => error
33
+ response.status = 500
34
+ return error.message
35
+ end
36
+ end
37
+ end
38
+ end
@@ -17,7 +17,11 @@ module Creatary
17
17
  session[:request_token] = request_token
18
18
 
19
19
  oauth_callback_url = url('/' + Creatary.callback_path + '/oauth_callback')
20
- redirect request_token.authorize_url(:oauth_callback => oauth_callback_url)
20
+ if params[:subscription_tariff_name].nil?
21
+ redirect request_token.authorize_url(:oauth_callback => oauth_callback_url)
22
+ else
23
+ redirect request_token.authorize_url(:oauth_callback => oauth_callback_url, :subscription_tariff_name => params[:subscription_tariff_name])
24
+ end
21
25
  end
22
26
 
23
27
  # OAUTH callback for Creatary
@@ -29,7 +33,11 @@ module Creatary
29
33
  verifier = params[:oauth_verifier]
30
34
  access_token = request_token.get_access_token(:oauth_verifier => verifier)
31
35
  user = User.new(access_token.token, access_token.secret)
32
- redirect url(dispatch_to_handler('authorized', user, session))
36
+ if params[:subscription_tariff_name].nil?
37
+ redirect url(dispatch_to_handler('authorized', user, session))
38
+ else
39
+ redirect url(dispatch_to_handler('authorized', user, session, params[:subscription_tariff_name]))
40
+ end
33
41
  else
34
42
  redirect url(dispatch_to_handler('denied', session))
35
43
  end
@@ -1,4 +1,4 @@
1
1
  module Creatary
2
2
  # The version of the gem
3
- VERSION = '1.3.1'.freeze unless defined?(::Creatary::VERSION)
3
+ VERSION = '1.4.0'.freeze unless defined?(::Creatary::VERSION)
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: creatary-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-25 00:00:00.000000000Z
12
+ date: 2012-03-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &2161303920 !ruby/object:Gem::Requirement
16
+ requirement: &2152965340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.2.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2161303920
24
+ version_requirements: *2152965340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &2161303420 !ruby/object:Gem::Requirement
27
+ requirement: &2152963440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.5'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2161303420
35
+ version_requirements: *2152963440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: oauth
38
- requirement: &2161302960 !ruby/object:Gem::Requirement
38
+ requirement: &2152962460 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.4.3
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2161302960
46
+ version_requirements: *2152962460
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &2161302500 !ruby/object:Gem::Requirement
49
+ requirement: &2152961360 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - =
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.9.2
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2161302500
57
+ version_requirements: *2152961360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rspec
60
- requirement: &2161302040 !ruby/object:Gem::Requirement
60
+ requirement: &2152960480 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - =
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.3.2
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2161302040
68
+ version_requirements: *2152960480
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack-test
71
- requirement: &2161301580 !ruby/object:Gem::Requirement
71
+ requirement: &2152959200 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.6.1
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2161301580
79
+ version_requirements: *2152959200
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: mocha
82
- requirement: &2161301120 !ruby/object:Gem::Requirement
82
+ requirement: &2152958240 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.9.0
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2161301120
90
+ version_requirements: *2152958240
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: webmock
93
- requirement: &2161300660 !ruby/object:Gem::Requirement
93
+ requirement: &2152957620 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.7.0
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2161300660
101
+ version_requirements: *2152957620
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: simplecov
104
- requirement: &2161300200 !ruby/object:Gem::Requirement
104
+ requirement: &2152957040 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: 0.5.0
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *2161300200
112
+ version_requirements: *2152957040
113
113
  description: The Ruby gem for the Creatary REST APIs
114
114
  email:
115
115
  - developers@creatary.com
@@ -126,6 +126,7 @@ files:
126
126
  - lib/creatary-sdk.rb
127
127
  - lib/creatary/api.rb
128
128
  - lib/creatary/api/charging.rb
129
+ - lib/creatary/api/lifecycle.rb
129
130
  - lib/creatary/api/location.rb
130
131
  - lib/creatary/api/oauth.rb
131
132
  - lib/creatary/api/sms.rb
@@ -146,7 +147,7 @@ licenses: []
146
147
  post_install_message: ! "********************************************************************************\n\n
147
148
  \ Visit our community pages for up-to-date information on \n Creatary:\n https://creatary.com/\n
148
149
  \ Notice that in order to use this gem you will also need to register as a \n developer
149
- in Creatary:\n https://telcoassetmarketplace.com\n\n********************************************************************************
150
+ in Creatary\n\n********************************************************************************
150
151
  \ \n"
151
152
  rdoc_options: []
152
153
  require_paths:
@@ -157,6 +158,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
158
  - - ! '>='
158
159
  - !ruby/object:Gem::Version
159
160
  version: '0'
161
+ segments:
162
+ - 0
163
+ hash: -892372572178664446
160
164
  required_rubygems_version: !ruby/object:Gem::Requirement
161
165
  none: false
162
166
  requirements:
@@ -165,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
169
  version: 1.3.6
166
170
  requirements: []
167
171
  rubyforge_project: creatary-sdk
168
- rubygems_version: 1.8.15
172
+ rubygems_version: 1.8.17
169
173
  signing_key:
170
174
  specification_version: 3
171
175
  summary: Creatary Ruby gem