riaction 0.5.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. data/CHANGELOG.md +5 -0
  2. data/lib/riaction/iactionable/api.rb +4 -43
  3. data/lib/riaction/iactionable/objects/achievement.rb +12 -0
  4. data/lib/riaction/iactionable/objects/awardable.rb +9 -1
  5. data/lib/riaction/iactionable/objects/challenge.rb +11 -0
  6. data/lib/riaction/iactionable/objects/goal.rb +13 -0
  7. data/lib/riaction/iactionable/objects/identifier.rb +8 -0
  8. data/lib/riaction/iactionable/objects/leaderboard.rb +7 -0
  9. data/lib/riaction/iactionable/objects/leaderboard_report.rb +11 -0
  10. data/lib/riaction/iactionable/objects/level.rb +9 -0
  11. data/lib/riaction/iactionable/objects/level_type.rb +7 -0
  12. data/lib/riaction/iactionable/objects/point_type.rb +7 -0
  13. data/lib/riaction/iactionable/objects/profile_achievements.rb +20 -0
  14. data/lib/riaction/iactionable/objects/profile_challenges.rb +20 -0
  15. data/lib/riaction/iactionable/objects/profile_goals.rb +20 -0
  16. data/lib/riaction/iactionable/objects/profile_level.rb +7 -0
  17. data/lib/riaction/iactionable/objects/profile_notifications.rb +29 -0
  18. data/lib/riaction/iactionable/objects/profile_points.rb +12 -0
  19. data/lib/riaction/iactionable/objects/profile_summary.rb +16 -3
  20. data/lib/riaction/iactionable/objects/progress.rb +11 -0
  21. data/lib/riaction/iactionable/objects.rb +4 -0
  22. data/lib/riaction/version.rb +1 -1
  23. data/spec/api_spec.rb +42 -16
  24. data/spec/get_achievements_api_response_spec.rb +46 -0
  25. data/spec/get_challenges_api_response_spec.rb +42 -0
  26. data/spec/get_goals_api_response_spec.rb +46 -0
  27. data/spec/get_leaderboard_api_response_spec.rb +76 -0
  28. data/spec/get_profile_achievements_api_response_spec.rb +99 -0
  29. data/spec/get_profile_api_response_spec.rb +103 -0
  30. data/spec/get_profile_challenges_api_response_spec.rb +85 -0
  31. data/spec/get_profile_goals_api_response_spec.rb +89 -0
  32. data/spec/get_profile_notifications_api_response_spec.rb +75 -0
  33. data/spec/get_profile_points_api_response_spec.rb +67 -0
  34. metadata +40 -16
@@ -0,0 +1,67 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe "API response to get_profile_points" do
4
+ before do
5
+ @sample_response = {
6
+ "Level" => {
7
+ "Current" =>
8
+ {
9
+ "Name" => "Beginner",
10
+ "Number" => 1,
11
+ "RequiredPoints" => 200,
12
+ "LevelType" =>
13
+ {
14
+ "Key" => "player_experience_level",
15
+ "Name" => "Experience Level"
16
+ },
17
+ },
18
+ "Next" =>
19
+ {
20
+ "Name" => "Member",
21
+ "Number" => 2,
22
+ "RequiredPoints" => 300,
23
+ "LevelType" =>
24
+ {
25
+ "Key" => "player_experience_level",
26
+ "Name" => "Experience Level"
27
+ },
28
+ }
29
+ },
30
+ "PointType" => {
31
+ "Key" => "experience_points",
32
+ "Name" => "Experience Points"
33
+ },
34
+ "Points" => 200
35
+ }
36
+ end
37
+
38
+ it "should not raise error on wrapping in an object" do
39
+ lambda { IActionable::Objects::ProfilePoints.new(@sample_response) }.should_not raise_error
40
+ end
41
+
42
+ describe "when wrapped in an object" do
43
+ before do
44
+ @wrapped = IActionable::Objects::ProfilePoints.new(Marshal.load(Marshal.dump(@sample_response)))
45
+ end
46
+
47
+ it "should contain all the correct fields for a profile point summary" do
48
+ @wrapped.points.should == @sample_response["Points"]
49
+ @wrapped.point_type.key.should == @sample_response["PointType"]["Key"]
50
+ @wrapped.point_type.name.should == @sample_response["PointType"]["Name"]
51
+ @wrapped.level.current.name.should == @sample_response["Level"]["Current"]["Name"]
52
+ @wrapped.level.current.number.should == @sample_response["Level"]["Current"]["Number"]
53
+ @wrapped.level.current.required_points.should == @sample_response["Level"]["Current"]["RequiredPoints"]
54
+ @wrapped.level.current.level_type.key.should == @sample_response["Level"]["Current"]["LevelType"]["Key"]
55
+ @wrapped.level.current.level_type.name.should == @sample_response["Level"]["Current"]["LevelType"]["Name"]
56
+ @wrapped.level.next.name.should == @sample_response["Level"]["Next"]["Name"]
57
+ @wrapped.level.next.number.should == @sample_response["Level"]["Next"]["Number"]
58
+ @wrapped.level.next.required_points.should == @sample_response["Level"]["Next"]["RequiredPoints"]
59
+ @wrapped.level.next.level_type.key.should == @sample_response["Level"]["Next"]["LevelType"]["Key"]
60
+ @wrapped.level.next.level_type.name.should == @sample_response["Level"]["Next"]["LevelType"]["Name"]
61
+ end
62
+
63
+ it "should convert to a hash equal to the original" do
64
+ hash_including(@sample_response).should == @wrapped.to_hash
65
+ end
66
+ end
67
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riaction
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 1.0.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-10 00:00:00.000000000Z
12
+ date: 2012-01-13 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &2169076860 !ruby/object:Gem::Requirement
16
+ requirement: &2153127140 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2.6'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2169076860
24
+ version_requirements: *2153127140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &2169076340 !ruby/object:Gem::Requirement
27
+ requirement: &2153126720 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2169076340
35
+ version_requirements: *2153126720
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: faraday
38
- requirement: &2169075820 !ruby/object:Gem::Requirement
38
+ requirement: &2153126260 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2169075820
46
+ version_requirements: *2153126260
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: faraday-stack
49
- requirement: &2169075320 !ruby/object:Gem::Requirement
49
+ requirement: &2153125840 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2169075320
57
+ version_requirements: *2153125840
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: activerecord
60
- requirement: &2169074460 !ruby/object:Gem::Requirement
60
+ requirement: &2153125340 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 3.0.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2169074460
68
+ version_requirements: *2153125340
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: activesupport
71
- requirement: &2169072160 !ruby/object:Gem::Requirement
71
+ requirement: &2153124840 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 3.0.0
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *2169072160
79
+ version_requirements: *2153124840
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: resque
82
- requirement: &2169070740 !ruby/object:Gem::Requirement
82
+ requirement: &2153124460 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *2169070740
90
+ version_requirements: *2153124460
91
91
  description: Wrapper for IActionable's restful API and an "acts-as" style interface
92
92
  for models to behave as profiles and drive game events.
93
93
  email:
@@ -123,7 +123,11 @@ files:
123
123
  - lib/riaction/iactionable/objects/level.rb
124
124
  - lib/riaction/iactionable/objects/level_type.rb
125
125
  - lib/riaction/iactionable/objects/point_type.rb
126
+ - lib/riaction/iactionable/objects/profile_achievements.rb
127
+ - lib/riaction/iactionable/objects/profile_challenges.rb
128
+ - lib/riaction/iactionable/objects/profile_goals.rb
126
129
  - lib/riaction/iactionable/objects/profile_level.rb
130
+ - lib/riaction/iactionable/objects/profile_notifications.rb
127
131
  - lib/riaction/iactionable/objects/profile_points.rb
128
132
  - lib/riaction/iactionable/objects/profile_summary.rb
129
133
  - lib/riaction/iactionable/objects/progress.rb
@@ -137,6 +141,16 @@ files:
137
141
  - riaction.gemspec
138
142
  - spec/api_spec.rb
139
143
  - spec/connection_spec.rb
144
+ - spec/get_achievements_api_response_spec.rb
145
+ - spec/get_challenges_api_response_spec.rb
146
+ - spec/get_goals_api_response_spec.rb
147
+ - spec/get_leaderboard_api_response_spec.rb
148
+ - spec/get_profile_achievements_api_response_spec.rb
149
+ - spec/get_profile_api_response_spec.rb
150
+ - spec/get_profile_challenges_api_response_spec.rb
151
+ - spec/get_profile_goals_api_response_spec.rb
152
+ - spec/get_profile_notifications_api_response_spec.rb
153
+ - spec/get_profile_points_api_response_spec.rb
140
154
  - spec/riaction_spec.rb
141
155
  - spec/settings_spec.rb
142
156
  - spec/spec_helper.rb
@@ -169,6 +183,16 @@ summary: Wrapper for IActionable's restful API and an "acts-as" style interface
169
183
  test_files:
170
184
  - spec/api_spec.rb
171
185
  - spec/connection_spec.rb
186
+ - spec/get_achievements_api_response_spec.rb
187
+ - spec/get_challenges_api_response_spec.rb
188
+ - spec/get_goals_api_response_spec.rb
189
+ - spec/get_leaderboard_api_response_spec.rb
190
+ - spec/get_profile_achievements_api_response_spec.rb
191
+ - spec/get_profile_api_response_spec.rb
192
+ - spec/get_profile_challenges_api_response_spec.rb
193
+ - spec/get_profile_goals_api_response_spec.rb
194
+ - spec/get_profile_notifications_api_response_spec.rb
195
+ - spec/get_profile_points_api_response_spec.rb
172
196
  - spec/riaction_spec.rb
173
197
  - spec/settings_spec.rb
174
198
  - spec/spec_helper.rb