mxhero-api 0.1.18 → 0.1.19
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 +8 -8
- data/VERSION +1 -1
- data/lib/groups.rb +21 -8
- data/mxhero-api.gemspec +3 -3
- data/test/test_groups.rb +8 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OGRmM2JmNjliZTQyOWQ1ZTE5OTU4ZWQzOTEzNTY4ZDc5Yzg0ODJlZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZGQ0YzY5YzZjNDUxZGYxYWQwMGZiYmM4OTZkOTU5Y2QyMTE5NWJmMQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
Y2ZhYWM4ZTExNDlkMmUyMzJlZjMxMmJmNzk1MjRjOGVkYzNkYmJiODMzNjVk
|
10
|
+
ODY1YWY3YmZlODI0MWI0Mzg0Y2ZiYmIyNjZmZWY1YmU3ZDdmMjc5YWQ4ZTZl
|
11
|
+
OTAyOTIzMTA4MzJkMGUyMWNjZWZjZjYzM2NjZWZhZDdiOTBmZTE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTc4YmIwOWIwYmU1ZDRjYmU5ODNkMTFhMmYwY2Q3ODIzMGI3ZDUxN2U1ZGQ1
|
14
|
+
OGE4YzBlZTUyMjVlMjc4MzRkNDRjYWZjMWYxYzE3MzE5NjEwYWIyMzVhMTI2
|
15
|
+
NGE4Y2RjNWQ5MGRjMDU0ODRlMTkwZTQ5MTA5YTY1YTU4YWU4NmM=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.19
|
data/lib/groups.rb
CHANGED
@@ -60,10 +60,13 @@ module MxHero::API
|
|
60
60
|
|
61
61
|
# Retrieve all the groups
|
62
62
|
#
|
63
|
+
# @params pagination info. Ex.: page: 2, per_page: 10 or simple page: 2
|
64
|
+
#
|
63
65
|
# @return [PaginatedElement] that contains an array of Group elements
|
64
66
|
# Basically its an Array with instances of [MxHero::API::Group] with the methods total_elements, total_pages and actual_page
|
65
|
-
|
66
|
-
|
67
|
+
#
|
68
|
+
def all(pagination = { page: nil, per_page: nil })
|
69
|
+
response = call(:get, groups_url(pagination))
|
67
70
|
paginate_wrap(response) do |hash|
|
68
71
|
hash[:elements].map { |e| Group.new(e) }
|
69
72
|
end
|
@@ -94,10 +97,12 @@ module MxHero::API
|
|
94
97
|
# Retrieve all the accounts for one group
|
95
98
|
#
|
96
99
|
# @param group_name [String]
|
100
|
+
# @param options [Hash] pagination options (page and/or per_page)
|
97
101
|
#
|
98
102
|
# @return [MxHero::API::PaginatedElements] the list of accounts [MxHero::API::Account]
|
99
|
-
|
100
|
-
|
103
|
+
#
|
104
|
+
def accounts(group_name, options = { per_page: nil, page: nil })
|
105
|
+
response = call(:get, group_accounts_url(group_name, options))
|
101
106
|
paginate_wrap response do |hash|
|
102
107
|
hash[:elements].map { |e| Account.new(e) }
|
103
108
|
end
|
@@ -153,16 +158,24 @@ module MxHero::API
|
|
153
158
|
hash[:elements].map { |e| Group.new(e) }
|
154
159
|
end
|
155
160
|
|
156
|
-
def groups_url
|
157
|
-
domain_by_id_url(domain) + 'groups'
|
161
|
+
def groups_url(pagination = {})
|
162
|
+
domain_by_id_url(domain) + 'groups' + pagination_query(pagination)
|
163
|
+
end
|
164
|
+
|
165
|
+
def pagination_query(params = { page: nil, per_page: nil })
|
166
|
+
return '' unless params[:page] || params[:per_page]
|
167
|
+
'?' + [].tap do |section|
|
168
|
+
section << "limit=#{params[:per_page]}" if params[:per_page]
|
169
|
+
section << "offset=#{params[:page]}" if params[:page]
|
170
|
+
end.join('&')
|
158
171
|
end
|
159
172
|
|
160
173
|
def group_url(group_name)
|
161
174
|
groups_url + "/#{group_name}"
|
162
175
|
end
|
163
176
|
|
164
|
-
def group_accounts_url(group_name)
|
165
|
-
group_url(group_name) + "/accounts"
|
177
|
+
def group_accounts_url(group_name, pagination = {})
|
178
|
+
group_url(group_name) + "/accounts" + pagination_query(pagination)
|
166
179
|
end
|
167
180
|
|
168
181
|
def group_add_accounts_url(group_name, account_name)
|
data/mxhero-api.gemspec
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: mxhero-api 0.1.
|
2
|
+
# stub: mxhero-api 0.1.19 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "mxhero-api"
|
6
|
-
s.version = "0.1.
|
6
|
+
s.version = "0.1.19"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.authors = ["Maximiliano Dello Russo", "Juan Pablo Royo", "mxHero"]
|
10
|
-
s.date = "2013-11-
|
10
|
+
s.date = "2013-11-27"
|
11
11
|
s.description = "A gem to provide easy access to the API of MxHero platform (http://www.mxhero.com/)"
|
12
12
|
s.email = ["maxidr@mxhero.com", "juanpablo.royo@gmail.com", "mxhero@mxhero.com"]
|
13
13
|
s.files = [".gitignore", ".rvmrc", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "VERSION", "lib/communication.rb", "lib/directories.rb", "lib/dto.rb", "lib/groups.rb", "lib/mxhero-api.rb", "lib/urls.rb", "mxhero-api.gemspec", "test/fixtures/api/account_properties.yml", "test/fixtures/api/account_properties_not_found.yml", "test/fixtures/api/accounts.yml", "test/fixtures/api/accounts_filtered.yml", "test/fixtures/api/accounts_from_domain.yml", "test/fixtures/api/accounts_from_domain_paginated.yml", "test/fixtures/api/accounts_without_group.yml", "test/fixtures/api/add_an_inexistent_account_to_group.yml", "test/fixtures/api/add_and_remove_account.yml", "test/fixtures/api/all_groups.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_rule_for_domain.yml", "test/fixtures/api/delete_directory.yml", "test/fixtures/api/delete_group.yml", "test/fixtures/api/delete_rule.yml", "test/fixtures/api/domain_by_id.yml", "test/fixtures/api/domain_by_id_not_found.yml", "test/fixtures/api/domain_rule.yml", "test/fixtures/api/domains.yml", "test/fixtures/api/fetch_directory.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/remove_account_from_group_twice.yml", "test/fixtures/api/remove_inexistente_account_from_group.yml", "test/fixtures/api/rules_for_domain.yml", "test/fixtures/api/rules_for_domain_by_component.yml", "test/fixtures/api/save_group.yml", "test/fixtures/api/test_domain.yml", "test/fixtures/api/update_account_properties.yml", "test/fixtures/api/update_accounts_group_scope.yml", "test/fixtures/api/update_accounts_properties_scope.yml", "test/fixtures/api/update_directory.yml", "test/fixtures/api/update_rule.yml", "test/helper.rb", "test/test_directories.rb", "test/test_dto.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb"]
|
data/test/test_groups.rb
CHANGED
@@ -99,6 +99,14 @@ class GroupsTest < MiniTest::Unit::TestCase
|
|
99
99
|
assert_equal 'domain.account.not.found', response.content[:developerMessage]
|
100
100
|
end
|
101
101
|
end
|
102
|
+
|
103
|
+
|
104
|
+
def test_pagination
|
105
|
+
assert @groups.send(:pagination_query).empty?
|
106
|
+
assert_equal '?offset=10', @groups.send(:pagination_query, page: 10)
|
107
|
+
assert_equal '?limit=10', @groups.send(:pagination_query, per_page: 10)
|
108
|
+
assert_equal '?limit=10&offset=2', @groups.send(:pagination_query, per_page: 10, page: 2)
|
109
|
+
end
|
102
110
|
|
103
111
|
end
|
104
112
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mxhero-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maximiliano Dello Russo
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-11-
|
13
|
+
date: 2013-11-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: vcr
|