reward_station 0.0.7 → 0.0.8

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.
@@ -62,6 +62,10 @@ module RewardStation
62
62
  def return_user user_id
63
63
  request_with_token(:return_user, :body => { 'UserID' => user_id} )[:user_profile]
64
64
  end
65
+
66
+ def return_user_by_user_name user_name
67
+ request_with_token(:return_user_by_user_name , :body => { 'UserName' => user_name} )[:user_profile]
68
+ end
65
69
 
66
70
  def award_points user_id, points, description, program_id = nil, point_reason_code_id = nil
67
71
  request_with_token(:award_points, :body => {
@@ -82,12 +86,15 @@ module RewardStation
82
86
  end
83
87
 
84
88
  def update_user user_id, attrs = {}
85
-
86
89
  organization_id = attrs[:organization_id] || @organization_id
87
- email = attrs[:email] || ""
88
- first_name = attrs[:first_name] || ""
89
- last_name = attrs[:last_name] || ""
90
- user_name = attrs[:user_name] || email
90
+
91
+ raise(ArgumentError, "organization_id should be numeric") if organization_id.to_i.zero?
92
+
93
+ [:email, :first_name, :last_name].each do |f|
94
+ raise(ArgumentError, "#{f} required and should not be empty") if attrs[f].to_s.blank?
95
+ end
96
+
97
+ user_name = attrs[:user_name] || attrs[:email]
91
98
  balance = attrs[:balance] || 0
92
99
 
93
100
  request_with_token(:update_user , :body => {
@@ -95,10 +102,10 @@ module RewardStation
95
102
  'UserID' => user_id,
96
103
  'ClientID' => @client_id,
97
104
  'UserName' => user_name,
98
- 'FirstName' => first_name,
99
- 'LastName' => last_name,
105
+ 'FirstName' => attrs[:first_name],
106
+ 'LastName' => attrs[:last_name],
100
107
  'CountryCode' => 'USA',
101
- 'Email' => email,
108
+ 'Email' => attrs[:email],
102
109
  'IsActive' => true,
103
110
  'PointBalance' => balance,
104
111
  'OrganizationID' => organization_id
@@ -1,3 +1,3 @@
1
1
  module RewardStation
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -95,6 +95,28 @@
95
95
  <s:element minOccurs="0" maxOccurs="1" name="UserProfile" type="tns:User"/>
96
96
  <s:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="s:string"/>
97
97
  </s:sequence>
98
+ </s:complexType>
99
+ <s:element name="ReturnUserByUserName">
100
+ <s:complexType>
101
+ <s:sequence>
102
+ <s:element minOccurs="1" maxOccurs="1" name="UserName" type="s:string"/>
103
+ <s:element minOccurs="0" maxOccurs="1" name="Token" type="s:string"/>
104
+ </s:sequence>
105
+ </s:complexType>
106
+ </s:element>
107
+ <s:element name="ReturnUserByUserNameResponse">
108
+ <s:complexType>
109
+ <s:sequence>
110
+ <s:element minOccurs="0" maxOccurs="1" name="ReturnUserByUserNameResult" type="tns:ReturnUserByUserNameResult"/>
111
+ </s:sequence>
112
+ </s:complexType>
113
+ </s:element>
114
+ <s:complexType name="ReturnUserByUserNameResult">
115
+ <s:sequence>
116
+ <s:element minOccurs="1" maxOccurs="1" name="UserID" type="s:int"/>
117
+ <s:element minOccurs="0" maxOccurs="1" name="UserProfile" type="tns:User"/>
118
+ <s:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="s:string"/>
119
+ </s:sequence>
98
120
  </s:complexType>
99
121
  <s:element name="UpdateUser">
100
122
  <s:complexType>
@@ -286,6 +308,12 @@
286
308
  <wsdl:message name="ReturnUserSoapOut">
287
309
  <wsdl:part name="parameters" element="tns:ReturnUserResponse"/>
288
310
  </wsdl:message>
311
+ <wsdl:message name="ReturnUserByUserNameSoapIn">
312
+ <wsdl:part name="parameters" element="tns:ReturnUserByUserName"/>
313
+ </wsdl:message>
314
+ <wsdl:message name="ReturnUserByUserNameSoapOut">
315
+ <wsdl:part name="parameters" element="tns:ReturnUserByUserNameResponse"/>
316
+ </wsdl:message>
289
317
  <wsdl:message name="UpdateUserSoapIn">
290
318
  <wsdl:part name="parameters" element="tns:UpdateUser"/>
291
319
  </wsdl:message>
@@ -328,6 +356,10 @@
328
356
  <wsdl:operation name="ReturnUser">
329
357
  <wsdl:input message="tns:ReturnUserSoapIn"/>
330
358
  <wsdl:output message="tns:ReturnUserSoapOut"/>
359
+ </wsdl:operation>
360
+ <wsdl:operation name="ReturnUserByUserName">
361
+ <wsdl:input message="tns:ReturnUserByUserNameSoapIn"/>
362
+ <wsdl:output message="tns:ReturnUserByUserNameSoapOut"/>
331
363
  </wsdl:operation>
332
364
  <wsdl:operation name="UpdateUser">
333
365
  <wsdl:input message="tns:UpdateUserSoapIn"/>
@@ -378,6 +410,15 @@
378
410
  <wsdl:output>
379
411
  <soap:body use="literal"/>
380
412
  </wsdl:output>
413
+ </wsdl:operation>
414
+ <wsdl:operation name="ReturnUserByUserName">
415
+ <soap:operation soapAction="http://rswebservices.rewardstation.com/ReturnUserByUserName" style="document"/>
416
+ <wsdl:input>
417
+ <soap:body use="literal"/>
418
+ </wsdl:input>
419
+ <wsdl:output>
420
+ <soap:body use="literal"/>
421
+ </wsdl:output>
381
422
  </wsdl:operation>
382
423
  <wsdl:operation name="UpdateUser">
383
424
  <soap:operation soapAction="http://rswebservices.rewardstation.com/UpdateUser" style="document"/>
@@ -453,6 +494,15 @@
453
494
  <wsdl:output>
454
495
  <soap12:body use="literal"/>
455
496
  </wsdl:output>
497
+ </wsdl:operation>
498
+ <wsdl:operation name="ReturnUserByUserName">
499
+ <soap12:operation soapAction="http://rswebservices.rewardstation.com/ReturnUserByUserName" style="document"/>
500
+ <wsdl:input>
501
+ <soap12:body use="literal"/>
502
+ </wsdl:input>
503
+ <wsdl:output>
504
+ <soap12:body use="literal"/>
505
+ </wsdl:output>
456
506
  </wsdl:operation>
457
507
  <wsdl:operation name="UpdateUser">
458
508
  <soap12:operation soapAction="http://rswebservices.rewardstation.com/UpdateUser" style="document"/>
@@ -242,7 +242,7 @@ describe RewardStation::Client do
242
242
  before { savon.stub(:update_user).and_return(:create_user_missing_info) }
243
243
 
244
244
  it "should raise MissingInformation error" do
245
- lambda { service.create_user :organization_id => '150' }.should raise_error(RewardStation::MissingInformation)
245
+ lambda { service.create_user :organization_id => '150' }.should raise_error(ArgumentError)
246
246
  end
247
247
  end
248
248
  end
@@ -295,6 +295,17 @@ describe RewardStation::Client do
295
295
  :balance => 0)
296
296
  }.should_not raise_error(RewardStation::InvalidToken)
297
297
  end
298
+
299
+ it 'should raise ArgumentError if organization_id missing' do
300
+ lambda{
301
+ service.create_user(:organization_id => "",
302
+ :email => 'john5@company.com',
303
+ :first_name => 'John',
304
+ :last_name => 'Smith',
305
+ :user_name => 'john5@company.com',
306
+ :balance => 0)
307
+ }.should raise_error(ArgumentError)
308
+ end
298
309
  end
299
310
 
300
311
  describe "on create user invalid request" do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reward_station
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease: false
4
+ hash: 15
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 7
10
- version: 0.0.7
9
+ - 8
10
+ version: 0.0.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Stepan Filatov
@@ -16,10 +16,11 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-08-01 00:00:00 +04:00
20
- default_executable:
19
+ date: 2011-09-08 00:00:00 Z
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ type: :runtime
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
24
25
  none: false
25
26
  requirements:
@@ -31,11 +32,11 @@ dependencies:
31
32
  - 9
32
33
  - 6
33
34
  version: 0.9.6
35
+ version_requirements: *id001
34
36
  name: savon
37
+ - !ruby/object:Gem::Dependency
35
38
  prerelease: false
36
39
  type: :runtime
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
40
  requirement: &id002 !ruby/object:Gem::Requirement
40
41
  none: false
41
42
  requirements:
@@ -47,10 +48,8 @@ dependencies:
47
48
  - 3
48
49
  - 3
49
50
  version: 0.3.3
50
- name: ruby-saml-bekk
51
- prerelease: false
52
- type: :runtime
53
51
  version_requirements: *id002
52
+ name: ruby-saml-bekk
54
53
  description: ""
55
54
  email:
56
55
  - filatov.st@gmail.com
@@ -94,7 +93,6 @@ files:
94
93
  - spec/reward_station/service_spec.rb
95
94
  - spec/savon_helper.rb
96
95
  - spec/spec_helper.rb
97
- has_rdoc: true
98
96
  homepage: https://github.com/cloudcastle/reward_station
99
97
  licenses: []
100
98
 
@@ -124,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
122
  requirements: []
125
123
 
126
124
  rubyforge_project: reward_station
127
- rubygems_version: 1.3.7
125
+ rubygems_version: 1.8.6
128
126
  signing_key:
129
127
  specification_version: 3
130
128
  summary: Reward Station is a client library for rewardstation.com