meducation_sdk 1.3.0 → 1.4.0
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.
- 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:
|