ecircle 0.1.4 → 0.1.5
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/Gemfile.lock +2 -2
- data/lib/ecircle/api.rb +59 -74
- data/lib/ecircle/version.rb +1 -1
- metadata +84 -92
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ecircle (0.1.
|
4
|
+
ecircle (0.1.5)
|
5
5
|
activesupport
|
6
6
|
i18n
|
7
7
|
rake
|
@@ -28,7 +28,7 @@ GEM
|
|
28
28
|
metaclass (0.0.1)
|
29
29
|
mocha (0.10.0)
|
30
30
|
metaclass (~> 0.0.1)
|
31
|
-
multi_json (1.0.
|
31
|
+
multi_json (1.0.4)
|
32
32
|
nokogiri (1.5.0)
|
33
33
|
nori (1.0.2)
|
34
34
|
rack (1.3.5)
|
data/lib/ecircle/api.rb
CHANGED
@@ -18,8 +18,8 @@ module Ecircle
|
|
18
18
|
# @private
|
19
19
|
def client
|
20
20
|
@client ||= Savon::Client.new do
|
21
|
-
wsdl.document
|
22
|
-
wsdl.endpoint
|
21
|
+
wsdl.document = Ecircle.configuration.wsdl
|
22
|
+
wsdl.endpoint = Ecircle.configuration.endpoint
|
23
23
|
wsdl.namespace = Ecircle.configuration.namespace
|
24
24
|
end
|
25
25
|
end
|
@@ -32,19 +32,16 @@ module Ecircle
|
|
32
32
|
# @param [Boolean] send_message send a message by ecircle
|
33
33
|
# @return [WrappedResponse]
|
34
34
|
def create_member user_id, group_id, invite = false, send_message = false
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
35
|
+
body = {
|
36
|
+
:userId => user_id,
|
37
|
+
:groupId => group_id,
|
38
|
+
:invite => invite.to_s,
|
39
|
+
:sendMessage => send_message.to_s
|
40
|
+
}
|
41
|
+
|
42
|
+
request(:createMember, body) do |response|
|
43
|
+
{ :ecircle_id => response.body[:create_member_response][:create_member_return].to_s }
|
43
44
|
end
|
44
|
-
WrappedResponse.new :success => true,
|
45
|
-
:ecircle_id => response.body[:create_member_response][:create_member_return].to_s
|
46
|
-
rescue Savon::SOAP::Fault => e
|
47
|
-
WrappedResponse.new(e)
|
48
45
|
end
|
49
46
|
|
50
47
|
# Create or update group
|
@@ -54,16 +51,13 @@ module Ecircle
|
|
54
51
|
# @return [WrappedResponse]
|
55
52
|
# Important note: `email` must be unique across all groups AND must be a subdomain of the system you registered at ecircle.
|
56
53
|
def create_or_update_group group_attributes
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
54
|
+
body = {
|
55
|
+
:groupXml => Helper.build_group_xml(group_attributes)
|
56
|
+
}
|
57
|
+
|
58
|
+
request(:createOrUpdateGroup, body) do |response|
|
59
|
+
{ :ecircle_id => response[:create_or_update_group_response][:create_or_update_group_return].to_i }
|
62
60
|
end
|
63
|
-
WrappedResponse.new :success => true,
|
64
|
-
:ecircle_id => response[:create_or_update_group_response][:create_or_update_group_return].to_i
|
65
|
-
rescue Savon::SOAP::Fault => e
|
66
|
-
WrappedResponse.new(e)
|
67
61
|
end
|
68
62
|
|
69
63
|
# Create or update user by email
|
@@ -72,17 +66,14 @@ module Ecircle
|
|
72
66
|
# @param [Hash] user_xml, in it's most simple form a { :email => 'test@test.com' } is sufficient
|
73
67
|
# @return [Integer] the user id
|
74
68
|
def create_or_update_user_by_email user_attributes
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
69
|
+
body = {
|
70
|
+
:userXml => Helper.build_user_xml(user_attributes),
|
71
|
+
:sendMessage => 0
|
72
|
+
}
|
73
|
+
|
74
|
+
request(:createOrUpdateUserByEmail, body) do |response|
|
75
|
+
{ :ecircle_id => response.body[:create_or_update_user_by_email_response][:create_or_update_user_by_email_return].to_i }
|
81
76
|
end
|
82
|
-
WrappedResponse.new :success => true,
|
83
|
-
:ecircle_id => response.body[:create_or_update_user_by_email_response][:create_or_update_user_by_email_return].to_i
|
84
|
-
rescue Savon::SOAP::Fault => e
|
85
|
-
WrappedResponse.new(e)
|
86
77
|
end
|
87
78
|
|
88
79
|
# Delete a member.
|
@@ -90,15 +81,7 @@ module Ecircle
|
|
90
81
|
# @param [Integer] group_id ecircle group id
|
91
82
|
# @return [WrappedResponse]
|
92
83
|
def delete_group group_id
|
93
|
-
|
94
|
-
soap.body = {
|
95
|
-
:session => obtain_auth_token,
|
96
|
-
:memberId => group_id
|
97
|
-
}
|
98
|
-
end
|
99
|
-
WrappedResponse.new(:success => true)
|
100
|
-
rescue Savon::SOAP::Fault => e
|
101
|
-
WrappedResponse.new(e)
|
84
|
+
request(:deleteGroup, :memberId => group_id)
|
102
85
|
end
|
103
86
|
|
104
87
|
# Delete a member.
|
@@ -106,15 +89,25 @@ module Ecircle
|
|
106
89
|
# @param [Integer] member_id ecircle member id
|
107
90
|
# @return [WrappedResponse]
|
108
91
|
def delete_member member_id
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
92
|
+
request(:deleteMember, :memberId => member_id)
|
93
|
+
end
|
94
|
+
|
95
|
+
# Send a parametrized single message to user - you need an existing ecircle template ID for this.
|
96
|
+
#
|
97
|
+
# @param [Integer] user_id ecircle user_id
|
98
|
+
# @param [Integer] message_id the ecircle template ID
|
99
|
+
# @param [Array] the names of the variables you want to interpolate in the template
|
100
|
+
# @param [Array] the values of the variables you want to interpolate in the template
|
101
|
+
# @return [WrappedResponse]
|
102
|
+
def send_parametrized_single_message_to_user user_id, message_id, names = [], values = []
|
103
|
+
body = {
|
104
|
+
:singleMessageId => message_id,
|
105
|
+
:userId => user_id,
|
106
|
+
:names => names,
|
107
|
+
:values => values
|
108
|
+
}
|
109
|
+
|
110
|
+
request(:sendParametrizedSingleMessageToUser, body)
|
118
111
|
end
|
119
112
|
|
120
113
|
# Logon. You don't need to call this explicitly but it's useful for debugging.
|
@@ -145,32 +138,10 @@ module Ecircle
|
|
145
138
|
def logout
|
146
139
|
client.request :logout do
|
147
140
|
soap.body = {
|
148
|
-
:session
|
149
|
-
}
|
150
|
-
end
|
151
|
-
WrappedResponse.new(:success => true)
|
152
|
-
end
|
153
|
-
|
154
|
-
# Send a parametrized single message to user - you need an existing ecircle template ID for this.
|
155
|
-
#
|
156
|
-
# @param [Integer] user_id ecircle user_id
|
157
|
-
# @param [Integer] message_id the ecircle template ID
|
158
|
-
# @param [Array] the names of the variables you want to interpolate in the template
|
159
|
-
# @param [Array] the values of the variables you want to interpolate in the template
|
160
|
-
# @return [WrappedResponse]
|
161
|
-
def send_parametrized_single_message_to_user user_id, message_id, names = [], values = []
|
162
|
-
client.request :sendParametrizedSingleMessageToUser do
|
163
|
-
soap.body = {
|
164
|
-
:session => obtain_auth_token,
|
165
|
-
:singleMessageId => message_id,
|
166
|
-
:userId => user_id,
|
167
|
-
:names => names,
|
168
|
-
:values => values
|
141
|
+
:session => auth_token,
|
169
142
|
}
|
170
143
|
end
|
171
144
|
WrappedResponse.new(:success => true)
|
172
|
-
rescue Savon::SOAP::Fault => e
|
173
|
-
WrappedResponse.new(e)
|
174
145
|
end
|
175
146
|
|
176
147
|
def obtain_auth_token
|
@@ -182,5 +153,19 @@ module Ecircle
|
|
182
153
|
def auth_token_valid?
|
183
154
|
@auth_token_last_used_at && Time.now - @auth_token_last_used_at < AUTH_TOKEN_TIMEOUT
|
184
155
|
end
|
156
|
+
|
157
|
+
private
|
158
|
+
|
159
|
+
def request function_name, body
|
160
|
+
body[:session] = obtain_auth_token
|
161
|
+
begin
|
162
|
+
response = client.request(function_name) { soap.body = body }
|
163
|
+
response_hash = block_given? ? yield(response) : {}
|
164
|
+
response_hash[:success] = true
|
165
|
+
WrappedResponse.new(response_hash)
|
166
|
+
rescue Savon::SOAP::Fault => e
|
167
|
+
WrappedResponse.new(e)
|
168
|
+
end
|
169
|
+
end
|
185
170
|
end
|
186
171
|
end
|
data/lib/ecircle/version.rb
CHANGED
metadata
CHANGED
@@ -1,126 +1,122 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecircle
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.5
|
4
5
|
prerelease:
|
5
|
-
version: 0.1.4
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
8
|
-
-
|
7
|
+
authors:
|
8
|
+
- Timo Rößner
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-11-29 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: activesupport
|
17
|
-
requirement: &
|
16
|
+
requirement: &76855100 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *76855100
|
25
|
+
- !ruby/object:Gem::Dependency
|
27
26
|
name: i18n
|
28
|
-
requirement: &
|
27
|
+
requirement: &76854560 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *76854560
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
name: rake
|
39
|
-
requirement: &
|
38
|
+
requirement: &76853770 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version:
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
45
44
|
type: :runtime
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *76853770
|
47
|
+
- !ruby/object:Gem::Dependency
|
49
48
|
name: savon
|
50
|
-
requirement: &
|
49
|
+
requirement: &76853010 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
55
54
|
version: 0.9.7
|
56
55
|
type: :runtime
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: *76853010
|
58
|
+
- !ruby/object:Gem::Dependency
|
60
59
|
name: random_data
|
61
|
-
requirement: &
|
60
|
+
requirement: &76851190 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
|
-
requirements:
|
64
|
-
- -
|
65
|
-
- !ruby/object:Gem::Version
|
62
|
+
requirements:
|
63
|
+
- - =
|
64
|
+
- !ruby/object:Gem::Version
|
66
65
|
version: 1.5.2
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
- !ruby/object:Gem::Dependency
|
68
|
+
version_requirements: *76851190
|
69
|
+
- !ruby/object:Gem::Dependency
|
71
70
|
name: rspec
|
72
|
-
requirement: &
|
71
|
+
requirement: &76850300 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
73
|
+
requirements:
|
74
|
+
- - =
|
75
|
+
- !ruby/object:Gem::Version
|
77
76
|
version: 2.6.0
|
78
77
|
type: :development
|
79
78
|
prerelease: false
|
80
|
-
version_requirements: *
|
81
|
-
- !ruby/object:Gem::Dependency
|
79
|
+
version_requirements: *76850300
|
80
|
+
- !ruby/object:Gem::Dependency
|
82
81
|
name: savon_spec
|
83
|
-
requirement: &
|
82
|
+
requirement: &76849380 !ruby/object:Gem::Requirement
|
84
83
|
none: false
|
85
|
-
requirements:
|
84
|
+
requirements:
|
86
85
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
86
|
+
- !ruby/object:Gem::Version
|
88
87
|
version: 0.1.6
|
89
88
|
type: :development
|
90
89
|
prerelease: false
|
91
|
-
version_requirements: *
|
92
|
-
- !ruby/object:Gem::Dependency
|
90
|
+
version_requirements: *76849380
|
91
|
+
- !ruby/object:Gem::Dependency
|
93
92
|
name: yard
|
94
|
-
requirement: &
|
93
|
+
requirement: &76848980 !ruby/object:Gem::Requirement
|
95
94
|
none: false
|
96
|
-
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version:
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
100
99
|
type: :development
|
101
100
|
prerelease: false
|
102
|
-
version_requirements: *
|
103
|
-
- !ruby/object:Gem::Dependency
|
101
|
+
version_requirements: *76848980
|
102
|
+
- !ruby/object:Gem::Dependency
|
104
103
|
name: ruby-debug19
|
105
|
-
requirement: &
|
104
|
+
requirement: &76825740 !ruby/object:Gem::Requirement
|
106
105
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version:
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
111
110
|
type: :development
|
112
111
|
prerelease: false
|
113
|
-
version_requirements: *
|
112
|
+
version_requirements: *76825740
|
114
113
|
description: The ecircle gem aims to be a full-fledged client for all ecircle services.
|
115
|
-
email:
|
114
|
+
email:
|
116
115
|
- timo.roessner@googlemail.com
|
117
116
|
executables: []
|
118
|
-
|
119
117
|
extensions: []
|
120
|
-
|
121
118
|
extra_rdoc_files: []
|
122
|
-
|
123
|
-
files:
|
119
|
+
files:
|
124
120
|
- .gitignore
|
125
121
|
- .rspec
|
126
122
|
- .rvmrc
|
@@ -144,39 +140,35 @@ files:
|
|
144
140
|
- spec/fixtures/logon/success.xml
|
145
141
|
- spec/job_package_spec.rb
|
146
142
|
- spec/spec_helper.rb
|
147
|
-
homepage:
|
143
|
+
homepage: ''
|
148
144
|
licenses: []
|
149
|
-
|
150
145
|
post_install_message:
|
151
146
|
rdoc_options: []
|
152
|
-
|
153
|
-
require_paths:
|
147
|
+
require_paths:
|
154
148
|
- lib
|
155
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
156
150
|
none: false
|
157
|
-
requirements:
|
158
|
-
- -
|
159
|
-
- !ruby/object:Gem::Version
|
160
|
-
|
161
|
-
segments:
|
151
|
+
requirements:
|
152
|
+
- - ! '>='
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
segments:
|
162
156
|
- 0
|
163
|
-
|
164
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
+
hash: 992601939
|
158
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
159
|
none: false
|
166
|
-
requirements:
|
167
|
-
- -
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
|
170
|
-
segments:
|
160
|
+
requirements:
|
161
|
+
- - ! '>='
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
segments:
|
171
165
|
- 0
|
172
|
-
|
166
|
+
hash: 992601939
|
173
167
|
requirements: []
|
174
|
-
|
175
168
|
rubyforge_project: ecircle
|
176
|
-
rubygems_version: 1.8.
|
169
|
+
rubygems_version: 1.8.10
|
177
170
|
signing_key:
|
178
171
|
specification_version: 3
|
179
172
|
summary: Ecircle gem
|
180
173
|
test_files: []
|
181
|
-
|
182
174
|
has_rdoc:
|