module Adafruit::IO::Client::Permissions
Constants
- VALID_TYPES
Public Instance Methods
create_permission(*args)
click to toggle source
# File lib/adafruit/io/client/permissions.rb, line 28 def create_permission(*args) username, arguments = extract_username(args) assert_argument_size(arguments, 2) assert_resource_type(arguments[0]) permission_attrs = arguments.pop post api_url(username, pluralize_type(arguments[0]), arguments[1], 'acl'), permission_attrs end
delete_permission(*args)
click to toggle source
# File lib/adafruit/io/client/permissions.rb, line 38 def delete_permission(*args) username, arguments = extract_username(args) assert_argument_size(arguments, 3) assert_resource_type(arguments[0]) delete api_url(username, pluralize_type(arguments[0]), arguments[1], 'acl', arguments[2]) end
permission(*args)
click to toggle source
# File lib/adafruit/io/client/permissions.rb, line 19 def permission(*args) username, arguments = extract_username(args) assert_argument_size(arguments, 3) assert_resource_type(arguments[0]) get api_url(username, pluralize_type(arguments[0]), arguments[1], 'acl', arguments[2]) end
permissions(*args)
click to toggle source
Get all permissions for a resource.
client.permissions(TYPE, KEY)
# File lib/adafruit/io/client/permissions.rb, line 10 def permissions(*args) username, arguments = extract_username(args) assert_argument_size(arguments, 2) assert_resource_type(arguments[0]) get api_url(username, pluralize_type(arguments[0]), arguments[1], 'acl') end
Private Instance Methods
assert_argument_size(arguments, size)
click to toggle source
# File lib/adafruit/io/client/permissions.rb, line 55 def assert_argument_size(arguments, size) if size === 3 if arguments.size < 3 raise Adafruit::IO::Arguments::ArgumentError.new('permission requires resource type (string), key (string), and permission id (integer) values. valid types are feeds, groups, or dashboards') end elsif size == 2 if arguments.size < size raise Adafruit::IO::Arguments::ArgumentError.new('permissions requires resource type (string) and resource key (string) values. valid types are feed, group, or dashboard') end end end
assert_resource_type(resource_type)
click to toggle source
# File lib/adafruit/io/client/permissions.rb, line 49 def assert_resource_type(resource_type) if !VALID_TYPES.include?(resource_type) raise Adafruit::IO::Arguments::ArgumentError.new('permission resource type must be one of: feed, group, or dashboard') end end
pluralize_type(resource_type)
click to toggle source
# File lib/adafruit/io/client/permissions.rb, line 67 def pluralize_type(resource_type) "#{resource_type}s" end