Sha256: cbc4586b4b990f59e6cbd5c28c0c8348b27d643ac4a1e752e82e6272b4dcd426
Contents?: true
Size: 1.49 KB
Versions: 4
Compression:
Stored size: 1.49 KB
Contents
# frozen_string_literal: true class Zendesk2::CreateHelpCenterSubscription include Zendesk2::Request include Zendesk2::HelpCenter::SubscriptionRequest request_method :post request_path { |r| "/#{r.route_prefix}/#{r.plural_content_type}/#{r.content_id}/subscriptions.json" } request_body do |r| { 'subscription' => r.subscription_params } if r.subscription_params.any? end def subscription_params return @subscription_params if @subscription_params body = Cistern::Hash.slice(subscription, *self.class.accepted_attributes(content_type)) body['source_locale'] = body.delete('locale') if body['locale'] @subscription_params = body end def mock identity = cistern.serial_id url = url_for("/help_center/#{plural_content_type}/#{content_id}/subscription.json") content_collection = "help_center_#{plural_content_type}".to_sym find!(content_collection, content_id) if subscription_params.empty? mock_response('Required parameter missing: subscription', status: 400) end record = subscription_params.merge( 'id' => identity, 'url' => url, 'created_at' => timestamp, # @todo create #timestamp helper 'updated_at' => timestamp, 'content_id' => content_id, 'content_type' => content_type, ) record['locale'] = record.delete('source_locale') if record['source_locale'] cistern.data[:help_center_subscriptions][identity] = record mock_response('subscription' => record) end end
Version data entries
4 entries across 4 versions & 1 rubygems