restpack-group-client 0.0.2 → 0.0.3

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.
@@ -0,0 +1,13 @@
1
+ require_relative 'restpack_client'
2
+
3
+ module RestPack
4
+ module Group
5
+ module Client
6
+ class Api < RestPackClientApi
7
+ def group_api
8
+ @group_api ||= GroupApi.new(@options)
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,26 @@
1
+ class RestPack::Group::Client::GroupApi < RestPackClientApi
2
+ def index(params)
3
+ #TODO: GJ: require channel_id
4
+ response = get('/api/v1/groups.json', params)
5
+
6
+ hydrate response
7
+ end
8
+
9
+ private
10
+
11
+ def hydrate(response)
12
+ memberships = []
13
+ invitations = []
14
+ groups = []
15
+
16
+ memberships = response[:memberships].map { |m| Membership.new(m) } if response[:memberships]
17
+ invitations = response[:invitations].map { |i| Invitation.new(i) } if response[:invitations]
18
+ groups = response[:groups].map {|g| Group.new(g, memberships, invitations) } if response[:groups]
19
+
20
+ {
21
+ groups: groups,
22
+ memberships: memberships,
23
+ invitations: invitations
24
+ }
25
+ end
26
+ end
@@ -1,7 +1,7 @@
1
1
  module RestPack
2
2
  module Group
3
3
  module Client
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
6
6
  end
7
7
  end
@@ -1,4 +1,9 @@
1
1
  require 'restpack-group-client/version'
2
+
3
+ require 'restpack-group-client/models/group'
4
+ require 'restpack-group-client/models/membership'
5
+ require 'restpack-group-client/models/invitation'
6
+
2
7
  require 'restpack-group-client/client'
3
8
  require 'rest_client'
4
9
  require 'yajl/json_gem'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restpack-group-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -88,7 +88,8 @@ files:
88
88
  - README.md
89
89
  - Rakefile
90
90
  - lib/restpack-group-client.rb
91
- - lib/restpack-group-client/client.rb
91
+ - lib/restpack-group-client/api.rb
92
+ - lib/restpack-group-client/apis/group_api.rb
92
93
  - lib/restpack-group-client/models/group.rb
93
94
  - lib/restpack-group-client/models/invitation.rb
94
95
  - lib/restpack-group-client/models/membership.rb
@@ -1,38 +0,0 @@
1
- require 'uri'
2
- require_relative 'restpack_client'
3
- require_relative 'models/group'
4
- require_relative 'models/membership'
5
- require_relative 'models/invitation'
6
-
7
- module RestPack
8
- module Group
9
- module Client
10
- class Api < RestPackClientApi
11
- def groups
12
- @group_client ||= GroupClient.new(@options)
13
- end
14
- end
15
-
16
- class GroupClient < RestPackClientApi
17
- def index(params)
18
- #TODO: GJ: require channel_id
19
- response = get('/api/v1/groups.json', params)
20
-
21
- memberships = []
22
- invitations = []
23
- groups = []
24
-
25
- memberships = response[:memberships].map { |m| Membership.new(m) } if response[:memberships]
26
- invitations = response[:invitations].map { |i| Invitation.new(i) } if response[:invitations]
27
- groups = response[:groups].map {|g| Group.new(g, memberships, invitations) } if response[:groups]
28
-
29
- {
30
- groups: groups,
31
- memberships: memberships,
32
- invitations: invitations
33
- }
34
- end
35
- end
36
- end
37
- end
38
- end