sk_sdk 0.1.0 → 0.1.1
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.
- data/VERSION +1 -1
- data/lib/sk_sdk/README.rdoc +2 -0
- data/lib/sk_sdk/base.rb +9 -2
- data/lib/sk_sdk/oauth.rb +9 -2
- data/lib/sk_sdk/sync.rb +1 -3
- data/sk_sdk.gemspec +2 -2
- data/spec/sk_sdk/base_spec.rb +20 -0
- data/spec/sk_sdk/oauth_spec.rb +6 -0
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/sk_sdk/README.rdoc
CHANGED
data/lib/sk_sdk/base.rb
CHANGED
@@ -39,8 +39,8 @@ class SK::SDK::Base < ActiveResource::Base
|
|
39
39
|
# :user<String>:: if using httpBasic auth set to sk user login email
|
40
40
|
# :password<String>:: if using httpBasic sk user password
|
41
41
|
def self.set_connection(opts)
|
42
|
-
self.site
|
43
|
-
self.format
|
42
|
+
self.site = site_api_url(opts[:site])
|
43
|
+
self.format = :json # f*** xml
|
44
44
|
if opts[:token] #oAuth access token in header
|
45
45
|
self.headers['Authorization'] = "Bearer #{opts[:token]}"
|
46
46
|
else
|
@@ -60,4 +60,11 @@ class SK::SDK::Base < ActiveResource::Base
|
|
60
60
|
@headers ||= {}
|
61
61
|
end
|
62
62
|
end
|
63
|
+
|
64
|
+
private
|
65
|
+
|
66
|
+
def self.site_api_url(site)
|
67
|
+
site = site.gsub(/\/$/, '')
|
68
|
+
site =~ /\/api$/ ? site : "#{site}/api"
|
69
|
+
end
|
63
70
|
end
|
data/lib/sk_sdk/oauth.rb
CHANGED
@@ -19,8 +19,8 @@ module SK::SDK
|
|
19
19
|
# secret<String>:: oAuth app secret from SalesKing app registration
|
20
20
|
# scope<String>:: permission your app requests
|
21
21
|
# redirect_url<String>:: redirect url inside your app for auth dialog
|
22
|
-
# sk_url<String>:: SalesKing base url, * is replaced with users subdomain,
|
23
|
-
#
|
22
|
+
# sk_url<String>:: SalesKing base url, * is replaced with users subdomain,
|
23
|
+
# no trailing slash, optional defaults to https://*.salesking.eu
|
24
24
|
# sub_domain<String>:: optinal, will probably be set later after a users
|
25
25
|
# provided his subdomain
|
26
26
|
def initialize(opts)
|
@@ -74,6 +74,13 @@ module SK::SDK
|
|
74
74
|
ActiveSupport::JSON.decode(c.body_str)
|
75
75
|
end
|
76
76
|
|
77
|
+
# The API url ist the salesking url of the current company + /api
|
78
|
+
# === Returns
|
79
|
+
# <String>:: base api url my-sub.salesking.eu/api
|
80
|
+
def sk_api_url
|
81
|
+
"#{sk_url}/api"
|
82
|
+
end
|
83
|
+
|
77
84
|
# Each company has it's own subdomain so the url must be dynamic.
|
78
85
|
# This is achieved by replacing the * with the subdomain in the instance
|
79
86
|
# === Returns
|
data/lib/sk_sdk/sync.rb
CHANGED
data/sk_sdk.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sk_sdk}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Georg Leciejewski"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-12-21}
|
13
13
|
s.description = %q{Connect your business world with SalesKing. This gem gives ruby developers a jump-start for building SalesKing Business Apps. It provides classes to handle oAuth, make RESTfull API requests and parses JSON Schema }
|
14
14
|
s.email = %q{gl@salesking.eu}
|
15
15
|
s.extra_rdoc_files = [
|
data/spec/sk_sdk/base_spec.rb
CHANGED
@@ -16,6 +16,26 @@ describe SK::SDK::Base, "make new class" do
|
|
16
16
|
c.first_name.should == 'herbert' # implicit getter
|
17
17
|
end
|
18
18
|
|
19
|
+
it "should set api url" do
|
20
|
+
opts = {:site => 'https://my.salesking.eu', :token=>'123'}
|
21
|
+
result = 'https://my.salesking.eu/api'
|
22
|
+
|
23
|
+
SK::SDK::Base.set_connection(opts)
|
24
|
+
SK::SDK::Base.site.to_s.should == result
|
25
|
+
|
26
|
+
opts[:site] = 'https://my.salesking.eu/'
|
27
|
+
SK::SDK::Base.set_connection(opts)
|
28
|
+
SK::SDK::Base.site.to_s.should == result
|
29
|
+
|
30
|
+
opts[:site] ='https://my.salesking.eu/api'
|
31
|
+
SK::SDK::Base.set_connection(opts)
|
32
|
+
SK::SDK::Base.site.to_s.should == result
|
33
|
+
|
34
|
+
opts[:site] = 'https://my.salesking.eu/api/'
|
35
|
+
SK::SDK::Base.set_connection(opts)
|
36
|
+
SK::SDK::Base.site.to_s.should == result
|
37
|
+
end
|
38
|
+
|
19
39
|
it "should have properties as attributes" do
|
20
40
|
c = Client.new :some_field => ''
|
21
41
|
c.attributes.should == {"some_field"=>""}
|
data/spec/sk_sdk/oauth_spec.rb
CHANGED
@@ -16,6 +16,12 @@ describe SK::SDK::Oauth, "in general" do
|
|
16
16
|
a.sub_domain = 'alki'
|
17
17
|
a.sk_url.should == "http://alki.horsts-lokal.local"
|
18
18
|
end
|
19
|
+
|
20
|
+
it "should get salesking api url" do
|
21
|
+
a = SK::SDK::Oauth.new(@set)
|
22
|
+
a.sub_domain = 'alki'
|
23
|
+
a.sk_api_url.should == "http://alki.horsts-lokal.local/api"
|
24
|
+
end
|
19
25
|
|
20
26
|
it "should get auth_dialog url" do
|
21
27
|
a = SK::SDK::Oauth.new(@set)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sk_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Georg Leciejewski
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-12-21 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|