meducation_sdk 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -2
- data/lib/meducation_sdk.rb +4 -0
- data/lib/meducation_sdk/mocker.rb +36 -20
- data/lib/meducation_sdk/resources/badges/badge.rb +24 -0
- data/lib/meducation_sdk/resources/badges/befriender_badge.rb +10 -0
- data/lib/meducation_sdk/resources/badges/photogenic_badge.rb +11 -0
- data/lib/meducation_sdk/version.rb +1 -1
- data/test/resources/badges/badge_test.rb +32 -0
- data/test/resources/badges/befriender_badge_test.rb +9 -0
- data/test/resources/badges/photogenic_badge_test.rb +9 -0
- data/test/test_helper.rb +1 -2
- metadata +12 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f442a6ffb9e012769939e7d104663f838717b93f
|
4
|
+
data.tar.gz: 07ada0c9615621704ae1fa8672363d26b3d2864a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c7983c563fadbe04f3931d0bca5639031a85c15fe3da7299345e889ed16c04b0a7fa5de588fdee03cacf44ed7ef290bc98d498ff5109050c513c6718d881c6b
|
7
|
+
data.tar.gz: bbe3cdd9103d05ebd253a258f91810d766a6ee0e53409b766dd0a687e2adb41d64acf8b7cceac2b77bb68904fbb2512b98be034121595d82c550b6a0ac37a431
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,13 @@
|
|
1
|
+
# 1.4.0 / 2014-02-12
|
2
|
+
* [FEATURE] Allow for submodules in mocks
|
3
|
+
* [FEATURE] Add befriender badges
|
4
|
+
* [FEATURE] Add photogenic badges
|
5
|
+
|
1
6
|
# 1.3.0 / 2014-02-12
|
2
|
-
* [
|
7
|
+
* [FEATURE] Use Loquor 1.2
|
3
8
|
|
4
9
|
# 1.2.6 / 2014-02-12
|
5
|
-
* [
|
10
|
+
* [FEATURE] Add boards and board items
|
6
11
|
|
7
12
|
# 1.2.5 / 2014-02-11
|
8
13
|
* [BUGFIX] Fix problem with mocking new user email data
|
data/lib/meducation_sdk.rb
CHANGED
@@ -5,7 +5,11 @@ require "meducation_sdk/version"
|
|
5
5
|
require "meducation_sdk/configuration"
|
6
6
|
require "meducation_sdk/mocker"
|
7
7
|
|
8
|
+
require "meducation_sdk/resources/badges/badge"
|
9
|
+
|
8
10
|
RESOURCES = %w{
|
11
|
+
badges/befriender_badge
|
12
|
+
badges/photogenic_badge
|
9
13
|
board
|
10
14
|
board_item
|
11
15
|
collection
|
@@ -17,40 +17,56 @@ module MeducationSDK
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def mock!
|
20
|
-
return if
|
20
|
+
return if mock_module.const_defined?(original_class_name)
|
21
21
|
|
22
|
-
resource = "
|
23
|
-
mock = "
|
22
|
+
resource = "#{mock_module_name}::#{resource_class_name}".constantize
|
23
|
+
mock = "#{mock_module_name}::#{mock_class_name}".constantize
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
mock_module.const_set(original_class_name, resource)
|
26
|
+
mock_module.send(:remove_const, resource_class_name)
|
27
|
+
mock_module.const_set(resource_class_name, mock)
|
28
|
+
mock_module.send(:remove_const, mock_class_name)
|
29
29
|
end
|
30
30
|
|
31
31
|
def unmock!
|
32
|
-
return unless
|
32
|
+
return unless mock_module.const_defined?(original_class_name)
|
33
33
|
|
34
|
-
original = "
|
35
|
-
resource = "
|
34
|
+
original = "#{mock_module_name}::#{original_class_name}".constantize
|
35
|
+
resource = "#{mock_module_name}::#{resource_class_name}".constantize
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
mock_module.const_set(mock_class_name, resource)
|
38
|
+
mock_module.send(:remove_const, resource_class_name)
|
39
|
+
mock_module.const_set(resource_class_name, original)
|
40
|
+
mock_module.send(:remove_const, original_class_name)
|
41
41
|
end
|
42
42
|
|
43
43
|
private
|
44
|
-
def
|
45
|
-
@resource_name.camelize
|
44
|
+
def resource_class_name
|
45
|
+
@resource_class_name ||= @resource_name.camelize.split("::").last
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
49
|
-
"#{@resource_name}_mock".camelize
|
48
|
+
def mock_class_name
|
49
|
+
@mock_class_name ||= "#{@resource_name}_mock".camelize.split("::").last
|
50
50
|
end
|
51
51
|
|
52
|
-
def
|
53
|
-
"#{@resource_name}_original".camelize
|
52
|
+
def original_class_name
|
53
|
+
@original_class_name ||= "#{@resource_name}_original".camelize.split("::").last
|
54
|
+
end
|
55
|
+
|
56
|
+
def mock_module
|
57
|
+
@mock_module ||= mock_module_name.constantize
|
58
|
+
end
|
59
|
+
|
60
|
+
def mock_module_name
|
61
|
+
@mock_module_name ||= begin
|
62
|
+
parts = @resource_name.camelize.split("::")
|
63
|
+
if parts.size == 1
|
64
|
+
"MeducationSDK"
|
65
|
+
else
|
66
|
+
parts.pop
|
67
|
+
"MeducationSDK::#{parts.join("::")}"
|
68
|
+
end
|
69
|
+
end
|
54
70
|
end
|
55
71
|
end
|
56
72
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module MeducationSDK
|
2
|
+
module Badges
|
3
|
+
class Badge < Loquor::Resource
|
4
|
+
|
5
|
+
def self.issue_or_update_progress(user_id)
|
6
|
+
Loquor.put("#{self.path}/issue_or_update_progress", {user_id: user_id})
|
7
|
+
end
|
8
|
+
|
9
|
+
def user
|
10
|
+
@user ||= User.find(user_id)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class BadgeMock < Badge
|
15
|
+
extend Loquor::ResourceMock
|
16
|
+
|
17
|
+
self.attributes = {
|
18
|
+
id: 1,
|
19
|
+
user_id: 1
|
20
|
+
}
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
+
require File.expand_path('../../../resource_test', __FILE__)
|
3
|
+
|
4
|
+
module MeducationSDK
|
5
|
+
class Badges::BadgeTest < ResourceTest
|
6
|
+
|
7
|
+
def self.test_badge(klass)
|
8
|
+
define_method :klass do klass end
|
9
|
+
|
10
|
+
class_eval do
|
11
|
+
def test_issue_or_update_progress_calls_loquor
|
12
|
+
user_id = 12
|
13
|
+
url = "#{klass.path}/issue_or_update_progress"
|
14
|
+
Loquor.expects(:put).with(url, user_id: user_id)
|
15
|
+
klass.issue_or_update_progress(user_id)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_user_calls_sdk
|
19
|
+
badge = klass.new(user_id: 3)
|
20
|
+
MeducationSDK::User.expects(:find).with(3)
|
21
|
+
badge.user
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_ruby_gets_called
|
25
|
+
return unless ENV["INTEGRATION"]
|
26
|
+
klass.issue_or_update_progress(2)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
+
require File.expand_path('../../../resource_test', __FILE__)
|
3
|
+
|
4
|
+
module MeducationSDK
|
5
|
+
class Badges::BefrienderBadgeTest < Badges::BadgeTest
|
6
|
+
test_resource(Badges::BefrienderBadge, '/badges/befriender_badges')
|
7
|
+
test_badge(Badges::BefrienderBadge)
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
+
require File.expand_path('../../../resource_test', __FILE__)
|
3
|
+
|
4
|
+
module MeducationSDK
|
5
|
+
class Badges::PhotogenicBadgeTest < Badges::BadgeTest
|
6
|
+
test_resource(Badges::PhotogenicBadge, '/badges/photogenic_badges')
|
7
|
+
test_badge(Badges::PhotogenicBadge)
|
8
|
+
end
|
9
|
+
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meducation_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -112,6 +112,9 @@ files:
|
|
112
112
|
- lib/meducation_sdk.rb
|
113
113
|
- lib/meducation_sdk/configuration.rb
|
114
114
|
- lib/meducation_sdk/mocker.rb
|
115
|
+
- lib/meducation_sdk/resources/badges/badge.rb
|
116
|
+
- lib/meducation_sdk/resources/badges/befriender_badge.rb
|
117
|
+
- lib/meducation_sdk/resources/badges/photogenic_badge.rb
|
115
118
|
- lib/meducation_sdk/resources/board.rb
|
116
119
|
- lib/meducation_sdk/resources/board_item.rb
|
117
120
|
- lib/meducation_sdk/resources/collection.rb
|
@@ -148,6 +151,9 @@ files:
|
|
148
151
|
- test/configuration_test.rb
|
149
152
|
- test/mocker_test.rb
|
150
153
|
- test/resource_test.rb
|
154
|
+
- test/resources/badges/badge_test.rb
|
155
|
+
- test/resources/badges/befriender_badge_test.rb
|
156
|
+
- test/resources/badges/photogenic_badge_test.rb
|
151
157
|
- test/resources/board_items_test.rb
|
152
158
|
- test/resources/board_test.rb
|
153
159
|
- test/resources/collection_section_test.rb
|
@@ -199,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
199
205
|
version: '0'
|
200
206
|
requirements: []
|
201
207
|
rubyforge_project:
|
202
|
-
rubygems_version: 2.1
|
208
|
+
rubygems_version: 2.2.1
|
203
209
|
signing_key:
|
204
210
|
specification_version: 4
|
205
211
|
summary: The SDK for Meducation
|
@@ -208,6 +214,9 @@ test_files:
|
|
208
214
|
- test/configuration_test.rb
|
209
215
|
- test/mocker_test.rb
|
210
216
|
- test/resource_test.rb
|
217
|
+
- test/resources/badges/badge_test.rb
|
218
|
+
- test/resources/badges/befriender_badge_test.rb
|
219
|
+
- test/resources/badges/photogenic_badge_test.rb
|
211
220
|
- test/resources/board_items_test.rb
|
212
221
|
- test/resources/board_test.rb
|
213
222
|
- test/resources/collection_section_test.rb
|
@@ -239,4 +248,3 @@ test_files:
|
|
239
248
|
- test/resources/user_test.rb
|
240
249
|
- test/resources/vote_test.rb
|
241
250
|
- test/test_helper.rb
|
242
|
-
has_rdoc:
|