Class: RubyAsterisk::ARI::Resources::Collection
- Inherits:
-
Object
- Object
- RubyAsterisk::ARI::Resources::Collection
- Defined in:
- lib/ruby-asterisk/ari/resources/collection.rb
Overview
Provides a typed collection interface for fetching ARI resources. Enables the Active Record-style pattern: client.channels.get(id).
Instance Method Summary collapse
- #get(id) ⇒ Object
-
#initialize(resource_class, base_path, client) ⇒ Collection
constructor
A new instance of Collection.
- #list(params = {}) ⇒ Object
Constructor Details
#initialize(resource_class, base_path, client) ⇒ Collection
Returns a new instance of Collection.
9 10 11 12 13 |
# File 'lib/ruby-asterisk/ari/resources/collection.rb', line 9 def initialize(resource_class, base_path, client) @resource_class = resource_class @base_path = base_path @client = client end |
Instance Method Details
#get(id) ⇒ Object
15 16 17 18 |
# File 'lib/ruby-asterisk/ari/resources/collection.rb', line 15 def get(id) data = @client.get("#{@base_path}/#{id}") @resource_class.new(data, @client) end |
#list(params = {}) ⇒ Object
20 21 22 23 |
# File 'lib/ruby-asterisk/ari/resources/collection.rb', line 20 def list(params = {}) data = @client.get(@base_path, params) (data || []).map { |item| @resource_class.new(item, @client) } end |