Class: TheCity::UserRoleList
- Includes:
- Enumerable
- Defined in:
- lib/api/user_role_list.rb
Instance Attribute Summary
Attributes inherited from ApiList
#current_page, #per_page, #total_entries, #total_pages
Instance Method Summary collapse
-
#[](index) ⇒ UserRole
Get the specified user role.
-
#all_roles ⇒ Object
(also: #roles)
All the roles in the list.
-
#each(&block) ⇒ Object
This method is needed for Enumerable.
-
#empty? ⇒ Boolean
Checks if the list is empty.
-
#initialize(options = {}) ⇒ UserRoleList
constructor
Constructor.
Methods inherited from ApiList
load, #next_page, #next_page!, #next_page?
Constructor Details
#initialize(options = {}) ⇒ UserRoleList
Constructor.
Options:
:user_id - The ID of the user to load the roles for. (required)
:page - The page number to get.
:reader - The Reader to use to load the data.
Examples:
UserRoleList.new({:user_id => 12345})
UserRoleList.new({:user_id => 12345, :page => 2})
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/api/user_role_list.rb', line 22 def initialize( = {}) @options = @options[:page] ||= 1 @options[:reader] = TheCity::UserRoleListReader.new(@options) if @options[:reader].nil? @json_data = @options[:reader].load_feed @user_id = [:user_id] || nil @total_entries = @json_data['total_entries'] @total_pages = @json_data['total_pages'] @per_page = @json_data['per_page'] @current_page = @json_data['current_page'] end |
Instance Method Details
#[](index) ⇒ UserRole
Get the specified user role.
51 52 53 |
# File 'lib/api/user_role_list.rb', line 51 def [](index) UserRole.new( @json_data['roles'][index].merge({:user_id => @user_id}) ) if @json_data['roles'][index] end |
#all_roles ⇒ Object Also known as: roles
All the roles in the list.
39 40 41 42 |
# File 'lib/api/user_role_list.rb', line 39 def all_roles return [] if @json_data['roles'].nil? @json_data['roles'].collect { |role| role['title'] } end |
#each(&block) ⇒ Object
This method is needed for Enumerable.
57 58 59 |
# File 'lib/api/user_role_list.rb', line 57 def each &block @json_data['roles'].each{ |role| yield( UserRole.new(role.merge({:user_id => @user_id})) )} end |
#empty? ⇒ Boolean
Checks if the list is empty.
67 68 69 |
# File 'lib/api/user_role_list.rb', line 67 def empty? @json_data['roles'].empty? end |