cliskip2 0.0.1 → 0.0.2
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/README.md +22 -2
- data/lib/cliskip2/client.rb +45 -3
- data/lib/cliskip2/community.rb +9 -0
- data/lib/cliskip2/community_participation.rb +9 -0
- data/lib/cliskip2/version.rb +1 -1
- metadata +20 -18
data/README.md
CHANGED
@@ -22,7 +22,7 @@ A Ruby wrapper for the SKIP2 REST APIs
|
|
22
22
|
|
23
23
|
### create new user
|
24
24
|
client = Cliskip2::Client.new
|
25
|
-
client.
|
25
|
+
client.create_user :user => {:name => 'hoge', :email => 'hoge@hoge.com'}
|
26
26
|
|
27
27
|
### get the user by email
|
28
28
|
client = Cliskip2::Client.new
|
@@ -30,4 +30,24 @@ A Ruby wrapper for the SKIP2 REST APIs
|
|
30
30
|
|
31
31
|
### update the user by email
|
32
32
|
client = Cliskip2::Client.new
|
33
|
-
client.
|
33
|
+
client.update_user :user => {:name => 'foobar', :email => 'hoge@hoge.com'}
|
34
|
+
|
35
|
+
### search communities by the community-name
|
36
|
+
client = Cliskip2::Client.new
|
37
|
+
client.search_communities({:search => {:name => 'I love ruby'} })
|
38
|
+
|
39
|
+
### get a community member
|
40
|
+
client = Cliskip2::Client.new
|
41
|
+
client.get_community_member(community, {:email => 'hoge@hoge.com'})
|
42
|
+
|
43
|
+
### join new member to the community
|
44
|
+
client = Cliskip2::Client.new
|
45
|
+
community = client.search_communities({:search => {:name => 'I love ruby'} }).first
|
46
|
+
user = client.get_user :email => 'hoge@hoge.com'
|
47
|
+
client.join_community(community, user)
|
48
|
+
|
49
|
+
### leave the member from the community
|
50
|
+
client = Cliskip2::Client.new
|
51
|
+
community = client.search_communities({:search => {:name => 'I love ruby'} }).first
|
52
|
+
member = client.get_community_member(community, {:email => 'hoge@hoge.com'})
|
53
|
+
client.leave_community(community, member)
|
data/lib/cliskip2/client.rb
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
require 'cliskip2/connection'
|
3
3
|
require 'cliskip2/request'
|
4
4
|
require 'cliskip2/user'
|
5
|
+
require 'cliskip2/community'
|
6
|
+
require 'cliskip2/community_participation'
|
5
7
|
require 'cliskip2/config'
|
6
8
|
|
7
9
|
module Cliskip2
|
@@ -27,9 +29,13 @@ module Cliskip2
|
|
27
29
|
@current_user ||= Cliskip2::User.new(user_attr['user'])
|
28
30
|
end
|
29
31
|
|
32
|
+
# ========================================
|
33
|
+
# User APIs
|
34
|
+
# ========================================
|
35
|
+
|
30
36
|
# Create new user by params
|
31
37
|
# @return [Cliskip2::User]
|
32
|
-
def
|
38
|
+
def create_user params
|
33
39
|
user_attr = post("/admin/tenants/#{current_user.tenant_id}/users.json", params)
|
34
40
|
Cliskip2::User.new(user_attr['user'])
|
35
41
|
end
|
@@ -37,16 +43,52 @@ module Cliskip2
|
|
37
43
|
# Get the user by params
|
38
44
|
# @return [Cliskip2::User]
|
39
45
|
def get_user params
|
40
|
-
user_attr = get("/
|
46
|
+
user_attr = get("/tenants/#{current_user.tenant_id}/users/show_by_params.json", params)
|
41
47
|
Cliskip2::User.new(user_attr['user'])
|
48
|
+
rescue Faraday::Error::ResourceNotFound => e
|
49
|
+
nil
|
42
50
|
end
|
43
51
|
|
44
52
|
# Update the user by params
|
45
53
|
# @return [Cliskip2::User]
|
46
|
-
def
|
54
|
+
def update_user params
|
47
55
|
user = get_user :email => params[:user][:email]
|
48
56
|
user_attr = put("/admin/tenants/#{current_user.tenant_id}/users/#{user.id}.json", params)
|
49
57
|
Cliskip2::User.new(user_attr['user'])
|
50
58
|
end
|
59
|
+
|
60
|
+
# ========================================
|
61
|
+
# Community APIs
|
62
|
+
# ========================================
|
63
|
+
|
64
|
+
# Search communities by some conditions
|
65
|
+
# @return [Array<Cliskip2::Community>]
|
66
|
+
def search_communities params
|
67
|
+
community_attrs = get("/tenants/#{current_user.tenant_id}/communities.json", params)
|
68
|
+
community_attrs.map {|community_attr| Cliskip2::Community.new(community_attr['community']) }
|
69
|
+
end
|
70
|
+
|
71
|
+
# Get the community-member by params
|
72
|
+
# @return [Cliskip2::CommunityParticipation]
|
73
|
+
def get_community_member community, params
|
74
|
+
community_participation_attr = get("/tenants/#{current_user.tenant_id}/communities/#{community.id}/community_participations/show_by_params.json", params)
|
75
|
+
Cliskip2::CommunityParticipation.new(community_participation_attr['community_participation'])
|
76
|
+
rescue Faraday::Error::ResourceNotFound => e
|
77
|
+
nil
|
78
|
+
end
|
79
|
+
|
80
|
+
# Join the community by the target-community and params
|
81
|
+
# @return [Cliskip2::CommunityParticipation]
|
82
|
+
def join_community community, user
|
83
|
+
community_participation_attr = post("/tenants/#{current_user.tenant_id}/communities/#{community.id}/community_participations.json", {:community_participation => {:user_id => user.id}})
|
84
|
+
Cliskip2::CommunityParticipation.new(community_participation_attr['community_participation'])
|
85
|
+
end
|
86
|
+
|
87
|
+
# Leave from the community by the target-community and params
|
88
|
+
# @return [Cliskip2::CommunityParticipation]
|
89
|
+
def leave_community community, community_participation
|
90
|
+
community_participation_attr = delete("/tenants/#{current_user.tenant_id}/communities/#{community.id}/community_participations/#{community_participation.id}.json")
|
91
|
+
Cliskip2::CommunityParticipation.new(community_participation_attr['community_participation'])
|
92
|
+
end
|
51
93
|
end
|
52
94
|
end
|
data/lib/cliskip2/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cliskip2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Naoki Maeda
|
@@ -15,10 +15,12 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-06-
|
18
|
+
date: 2012-06-18 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
name: faraday_middleware
|
23
|
+
prerelease: false
|
22
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
23
25
|
none: false
|
24
26
|
requirements:
|
@@ -31,10 +33,10 @@ dependencies:
|
|
31
33
|
- 7
|
32
34
|
version: 0.8.7
|
33
35
|
type: :runtime
|
34
|
-
name: faraday_middleware
|
35
|
-
prerelease: false
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
+
name: simple_oauth
|
39
|
+
prerelease: false
|
38
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
41
|
none: false
|
40
42
|
requirements:
|
@@ -47,10 +49,10 @@ dependencies:
|
|
47
49
|
- 8
|
48
50
|
version: 0.1.8
|
49
51
|
type: :runtime
|
50
|
-
name: simple_oauth
|
51
|
-
prerelease: false
|
52
52
|
version_requirements: *id002
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
+
name: json
|
55
|
+
prerelease: false
|
54
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
57
|
none: false
|
56
58
|
requirements:
|
@@ -63,10 +65,10 @@ dependencies:
|
|
63
65
|
- 3
|
64
66
|
version: 1.7.3
|
65
67
|
type: :runtime
|
66
|
-
name: json
|
67
|
-
prerelease: false
|
68
68
|
version_requirements: *id003
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
+
name: oauth
|
71
|
+
prerelease: false
|
70
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
71
73
|
none: false
|
72
74
|
requirements:
|
@@ -78,10 +80,10 @@ dependencies:
|
|
78
80
|
- 4
|
79
81
|
version: "0.4"
|
80
82
|
type: :runtime
|
81
|
-
name: oauth
|
82
|
-
prerelease: false
|
83
83
|
version_requirements: *id004
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
+
name: rake
|
86
|
+
prerelease: false
|
85
87
|
requirement: &id005 !ruby/object:Gem::Requirement
|
86
88
|
none: false
|
87
89
|
requirements:
|
@@ -92,10 +94,10 @@ dependencies:
|
|
92
94
|
- 0
|
93
95
|
version: "0"
|
94
96
|
type: :development
|
95
|
-
name: rake
|
96
|
-
prerelease: false
|
97
97
|
version_requirements: *id005
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
+
name: rake-compiler
|
100
|
+
prerelease: false
|
99
101
|
requirement: &id006 !ruby/object:Gem::Requirement
|
100
102
|
none: false
|
101
103
|
requirements:
|
@@ -106,10 +108,10 @@ dependencies:
|
|
106
108
|
- 0
|
107
109
|
version: "0"
|
108
110
|
type: :development
|
109
|
-
name: rake-compiler
|
110
|
-
prerelease: false
|
111
111
|
version_requirements: *id006
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
|
+
name: rspec
|
114
|
+
prerelease: false
|
113
115
|
requirement: &id007 !ruby/object:Gem::Requirement
|
114
116
|
none: false
|
115
117
|
requirements:
|
@@ -120,8 +122,6 @@ dependencies:
|
|
120
122
|
- 2
|
121
123
|
version: "2"
|
122
124
|
type: :development
|
123
|
-
name: rspec
|
124
|
-
prerelease: false
|
125
125
|
version_requirements: *id007
|
126
126
|
description: A Ruby wrapper for the SKIP2 REST APIs
|
127
127
|
email:
|
@@ -142,6 +142,8 @@ files:
|
|
142
142
|
- lib/cliskip2.rb
|
143
143
|
- lib/cliskip2/base.rb
|
144
144
|
- lib/cliskip2/client.rb
|
145
|
+
- lib/cliskip2/community.rb
|
146
|
+
- lib/cliskip2/community_participation.rb
|
145
147
|
- lib/cliskip2/config.rb
|
146
148
|
- lib/cliskip2/connection.rb
|
147
149
|
- lib/cliskip2/request.rb
|