Sha256: 486f2a84ff2027808f88f55182ba174986abe1a7ceb0e1a22395001e238e4c6f

Contents?: true

Size: 494 Bytes

Versions: 6

Compression:

Stored size: 494 Bytes

Contents

# frozen_string_literal: true
class Zendesk2::UpdateTopic
  include Zendesk2::Request

  request_method :put
  request_path { |r| "/topics/#{r.topic_id}.json" }
  request_body { |r| { 'topic' => r.topic_params } }

  def topic_id
    params.fetch('topic').fetch('id').to_i
  end

  def topic_params
    Cistern::Hash.slice(params.fetch('topic'), *Zendesk2::CreateTopic.accepted_attributes)
  end

  def mock
    mock_response('topic' => find!(:topics, topic_id).merge!(topic_params))
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
zendesk2-1.15.0 lib/zendesk2/update_topic.rb
zendesk2-1.13.1 lib/zendesk2/update_topic.rb
zendesk2-1.13.0 lib/zendesk2/update_topic.rb
zendesk2-1.12.0 lib/zendesk2/update_topic.rb
zendesk2-1.11.0 lib/zendesk2/update_topic.rb
zendesk2-1.10.0 lib/zendesk2/update_topic.rb