Class: ForestAdminDatasourceZendesk::Collections::Organization
- Inherits:
-
BaseCollection
- Object
- ForestAdminDatasourceToolkit::Collection
- BaseCollection
- ForestAdminDatasourceZendesk::Collections::Organization
- Includes:
- Searchable
- Defined in:
- lib/forest_admin_datasource_zendesk/collections/organization.rb
Constant Summary collapse
- OneToManySchema =
ForestAdminDatasourceToolkit::Schema::Relations::OneToManySchema
- ZENDESK_SORTABLE =
{ 'created_at' => 'created_at', 'updated_at' => 'updated_at', 'name' => 'name' }.freeze
Constants inherited from BaseCollection
BaseCollection::ColumnSchema, BaseCollection::DATE_OPS, BaseCollection::Leaf, BaseCollection::NUMBER_OPS, BaseCollection::Operators, BaseCollection::STRING_OPS
Instance Attribute Summary collapse
-
#custom_fields ⇒ Object
readonly
Returns the value of attribute custom_fields.
Instance Method Summary collapse
- #create(_caller, data) ⇒ Object
- #delete(caller, filter) ⇒ Object
-
#initialize(datasource, custom_fields: []) ⇒ Organization
constructor
A new instance of Organization.
- #update(caller, filter, patch) ⇒ Object
Methods included from Searchable
Methods inherited from BaseCollection
Constructor Details
#initialize(datasource, custom_fields: []) ⇒ Organization
Returns a new instance of Organization.
16 17 18 19 20 21 22 23 |
# File 'lib/forest_admin_datasource_zendesk/collections/organization.rb', line 16 def initialize(datasource, custom_fields: []) super(datasource, 'ZendeskOrganization') define_schema define_relations @custom_fields = add_custom_fields(custom_fields) enable_search enable_count end |
Instance Attribute Details
#custom_fields ⇒ Object (readonly)
Returns the value of attribute custom_fields.
6 7 8 |
# File 'lib/forest_admin_datasource_zendesk/collections/organization.rb', line 6 def custom_fields @custom_fields end |
Instance Method Details
#create(_caller, data) ⇒ Object
25 26 27 28 29 |
# File 'lib/forest_admin_datasource_zendesk/collections/organization.rb', line 25 def create(_caller, data) payload = build_payload(data) created = datasource.client.create_organization(payload) serialize(created) end |
#delete(caller, filter) ⇒ Object
37 38 39 |
# File 'lib/forest_admin_datasource_zendesk/collections/organization.rb', line 37 def delete(caller, filter) ids_for(caller, filter).each { |id| datasource.client.delete_organization(id) } end |
#update(caller, filter, patch) ⇒ Object
31 32 33 34 35 |
# File 'lib/forest_admin_datasource_zendesk/collections/organization.rb', line 31 def update(caller, filter, patch) ids = ids_for(caller, filter) payload = build_payload(patch) ids.each { |id| datasource.client.update_organization(id, payload) } end |