credly 0.0.5 → 0.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02a1884cbf0b7c374ff0f9c9b584e5e25076fb24
4
- data.tar.gz: eeff40331e7d02e365cb57738a0340741593ae1a
3
+ metadata.gz: 6615a3f910beb529ce7b0f9841d6abd4ff4dbba1
4
+ data.tar.gz: 1d0b6704a295443da2bb974015c582f3aea07008
5
5
  SHA512:
6
- metadata.gz: 3770e0eff95ae434f01ba8171cfc7db87956e1ea5c48a652164a8ac8bce8017815033a7095ee6c859d3a9ce2af8df56bf298de83a79b48ac82bd821aa1f8e0c3
7
- data.tar.gz: ccf41c50135f06a3785397095a01f6af672f0ea79c3c0fb02c7591eac11b672f71db4b5cd2930144bb98d736bdd1f4ab20007cea8e59f07b3d6cd652f1c8180f
6
+ metadata.gz: a125903ef925d81004ebbb8d1c479761aa29d28436097b518019906e5e9d513bfff9d833e60b3807a1e6ae83724793c1ecc0249e66c781f4a2b41a43ad0d5859
7
+ data.tar.gz: 5f4447e1e247a46d27eebe80364af4f0a4ba98eeb6ab36c036c4b18d5fcdab2240067ceceba5ea32a49a8cac88a07a77c19c93ebb1767df636ae20e9b3d7b033
@@ -0,0 +1,20 @@
1
+ module Credly
2
+ class Api
3
+ class BadgeBuilder < Base
4
+ def initialize(options = {})
5
+ super
6
+ @client = @client.dup
7
+ @client.connection = @client.new_connection(:base_url => 'https://staging.credly.com')
8
+ end
9
+
10
+ def token
11
+ post("badge-builder/code", { 'access_token' => @client.access_token })
12
+ end
13
+
14
+ def versioned_path(path)
15
+ path
16
+ end
17
+
18
+ end
19
+ end
20
+ end
@@ -23,35 +23,44 @@ module Credly
23
23
  def before_request(*args)
24
24
  end
25
25
 
26
+ def versioned_path(path)
27
+ [@client.options[:version], path].join('/')
28
+ end
29
+
26
30
  def build_object
27
31
  MultiJson.load(@response)
28
32
  end
29
33
 
30
34
  def get(*args)
35
+ args[0] = versioned_path(args[0])
31
36
  before_request(*args)
32
37
  @response = @client.get(*args)
33
38
  after_request(*args)
34
39
  end
35
40
 
36
41
  def post(*args)
42
+ args[0] = versioned_path(args[0])
37
43
  before_request(*args)
38
44
  @response = @client.post(*args)
39
45
  after_request(*args)
40
46
  end
41
47
 
42
48
  def put(*args)
49
+ args[0] = versioned_path(args[0])
43
50
  before_request(*args)
44
51
  @response = @client.put(*args)
45
52
  after_request(*args)
46
53
  end
47
54
 
48
55
  def delete(*args)
56
+ args[0] = versioned_path(args[0])
49
57
  before_request(*args)
50
58
  @response = @client.delet(*args)
51
59
  after_request(*args)
52
60
  end
53
61
 
54
62
  def patch(*args)
63
+ args[0] = versioned_path(args[0])
55
64
  before_request(*args)
56
65
  @response = @client.patch(*args)
57
66
  after_request(*args)
@@ -31,19 +31,19 @@ module Credly
31
31
  end
32
32
 
33
33
  def get(path, params = {}, headers = {})
34
- super(versioned_path(path), {:access_token => access_token}.merge(params), headers)
34
+ super(path, {:access_token => access_token}.merge(params), headers)
35
35
  end
36
36
 
37
37
  def post(path, params = {}, headers = {})
38
- super(versioned_path(path), {:access_token => access_token}.merge(params), headers)
38
+ super(path, {:access_token => access_token}.merge(params), headers)
39
39
  end
40
40
 
41
41
  def put(path, params = {}, headers = {})
42
- super(versioned_path(path), {:access_token => access_token}.merge(params), headers)
42
+ super(path, {:access_token => access_token}.merge(params), headers)
43
43
  end
44
44
 
45
45
  def delete(path, params = {}, headers = {})
46
- super(versioned_path(path), {:access_token => access_token}.merge(params), headers)
46
+ super(path, {:access_token => access_token}.merge(params), headers)
47
47
  end
48
48
 
49
49
  def base_url
@@ -66,7 +66,9 @@ module Credly
66
66
  Api::Me.new(:client => self, :id => id)
67
67
  end
68
68
 
69
- private
69
+ def badge_builder(id = nil)
70
+ Api::BadgeBuilder.new(:client => self, :id => id)
71
+ end
70
72
 
71
73
  def versioned_path(path)
72
74
  [options[:version], path].join('/')
@@ -4,7 +4,7 @@ require 'multi_json'
4
4
  module Credly
5
5
  module Connection
6
6
 
7
- def new_connection
7
+ def new_connection(options = {})
8
8
  default_options = {
9
9
  :headers => {
10
10
  :accept => 'application/json',
@@ -13,14 +13,18 @@ module Credly
13
13
  }
14
14
  }
15
15
 
16
- Faraday.new(self.base_url, default_options) do |builder|
16
+ Faraday.new(options[:base_url] || self.base_url, default_options) do |builder|
17
17
  builder.use Credly::Response::FollowRedirects
18
18
  builder.request :multipart
19
19
  builder.request :url_encoded
20
+
20
21
  # builder.use Faraday::Request::Multipart
21
22
  # builder.use Faraday::Request::UrlEncoded
22
23
 
23
24
  builder.response :logger, ::Logger.new(STDOUT) if self.options[:debugging]
25
+
26
+ # builder.response :logger, ::Logger.new(STDOUT), :bodies => { :request => true, :response => false }
27
+
24
28
  builder.adapter Faraday.default_adapter
25
29
  end
26
30
  end
@@ -29,6 +33,10 @@ module Credly
29
33
  @connection ||= new_connection
30
34
  end
31
35
 
36
+ def connection=(con)
37
+ @connection = con
38
+ end
39
+
32
40
  def get(path, params = {}, headers = {})
33
41
  request(:get, path, params, headers)
34
42
  end
@@ -1,3 +1,3 @@
1
1
  module Credly
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../lib/credly'
2
+ require 'awesome_print'
2
3
 
3
4
  ENV['testing'] = 'true'
4
5
 
@@ -15,9 +16,9 @@ end
15
16
 
16
17
  def expect_api_call(type, url, *args)
17
18
  if ENV['HIT_SERVER']
18
- Credly::Client.any_instance.should_receive(type).with(url, *args).and_call_original
19
+ Credly::Client.any_instance.should_receive(type).with(Credly.version + '/' + url, *args).and_call_original
19
20
  else
20
- Credly::Client.any_instance.should_receive(type).with(url, *args).and_return({ test: "Set ENV['HIT_SERVER'] if you wish to hit the real server and get a real response. This is just being mocked at the moment"}.to_json)
21
+ Credly::Client.any_instance.should_receive(type).with(Credly.version + '/' + url, *args).and_return({ test: "Set ENV['HIT_SERVER'] if you wish to hit the real server and get a real response. This is just being mocked at the moment"}.to_json)
21
22
  end
22
23
 
23
24
  end
@@ -90,4 +90,11 @@ describe 'API' do
90
90
  end
91
91
  end
92
92
 
93
+ describe "badge_builder" do
94
+ it "should description" do
95
+ pending
96
+ client.badge_builder.token
97
+ end
98
+ end
99
+
93
100
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: credly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gonzalo Rodríguez-Baltanás Díaz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-18 00:00:00.000000000 Z
11
+ date: 2013-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -263,6 +263,7 @@ files:
263
263
  - Rakefile
264
264
  - credly.gemspec
265
265
  - lib/credly.rb
266
+ - lib/credly/api/badge_builder.rb
266
267
  - lib/credly/api/badges.rb
267
268
  - lib/credly/api/base.rb
268
269
  - lib/credly/api/categories.rb