gds_zendesk 3.0.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a447e6d572e8bf6c8dfdbd79c40906c05f896cc1
4
- data.tar.gz: 86e0ee3c122ad0104ec7d578f6b07b2c67742c81
2
+ SHA256:
3
+ metadata.gz: 212f75df35d4fbe686de231d98ea2bf37e38e135e58d80c92e1a650b4f393327
4
+ data.tar.gz: ab77b135f4a7e10107eef99fff1d221409902ca8458d73caedd3b760e553221d
5
5
  SHA512:
6
- metadata.gz: bc2777822bf5fefa9ce46d98c95f8bad9bdc441fa72976c5418acc59768757286e29b1bbbeac88061d4b51e8dc4c5d0c3018247a440feeec137a4f1559a8575c
7
- data.tar.gz: 9d1140b369c2147d9ee51d06506a8818c8ff6d2b7727acb0c248ba8f36002278c14c9753edf76d4edf06bdf90a42e0e419ebd47e57c60ae53ffe4420f34d2124
6
+ metadata.gz: fdaf04d4cdf2fa3fd2b5d7cc48f93130008a4cf134372e97bf622d38872d6d56655dfa7f232f3a52c0474e673b9dbd04c9571a72a2d04c7fbc139afb3284879b
7
+ data.tar.gz: 94112efde5839d160cdac16d10aa50cc60e665d1e33ee5ddf219fca4bf3ec837e2c7d3f36c44b930910e4932a25836816510e839021f7c003cbebf9508a58afe
data/.rubocop.yml ADDED
@@ -0,0 +1,7 @@
1
+ inherit_gem:
2
+ rubocop-govuk:
3
+ - config/default.yml
4
+
5
+ inherit_mode:
6
+ merge:
7
+ - Exclude
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.4.2
1
+ 2.6.6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # 3.3.0
2
+
3
+ * Allow access to Zendesk::Client from GDSZendesk::Client
4
+
5
+ # 3.2.0
6
+
7
+ * Allow use of a token instead of password
8
+
9
+ # 3.1.0
10
+
11
+ * Update `zendesk_api` library to v1.27
12
+
1
13
  # 3.0.0
2
14
 
3
15
  * Update the `webmock` library to version v2.3.2 to be compatible with Ruby
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
data/Jenkinsfile CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env groovy
2
2
 
3
+ library("govuk")
4
+
3
5
  node {
4
- def govuk = load '/var/lib/jenkins/groovy_scripts/govuk_jenkinslib.groovy'
5
6
  govuk.buildProject()
6
7
  }
data/README.md CHANGED
@@ -32,7 +32,7 @@ This generates an initializer at `config/initializers/gds_zendesk.rb`.
32
32
 
33
33
  #### Mandatory settings
34
34
 
35
- This gem needs to be configured with a Zendesk username and password before it can be used.
35
+ This gem needs to be configured with a Zendesk username and password (or token) before it can be used.
36
36
  These are set in `config/initializers/gds_zendesk.rb`
37
37
 
38
38
  #### Enabling development mode
@@ -53,3 +53,11 @@ GDSZendesk::Client.new(config_options)
53
53
  ```
54
54
 
55
55
  to create a new client.
56
+
57
+ ## Running tests locally
58
+
59
+ To run the tests, use the follow:
60
+
61
+ ```
62
+ bundle exec rake default
63
+ ```
data/Rakefile CHANGED
@@ -1,7 +1,13 @@
1
1
  require "rake"
2
+ require "rubocop/rake_task"
2
3
  require "bundler/gem_tasks"
3
- require 'rspec/core/rake_task'
4
+ require "rspec/core/rake_task"
4
5
 
6
+ RuboCop::RakeTask.new
5
7
  RSpec::Core::RakeTask.new(:spec)
6
8
 
7
- task :default => :spec
9
+ desc "Linting for Ruby"
10
+ task lint: %i[rubocop] do
11
+ end
12
+
13
+ task default: %i[lint spec]
data/gds_zendesk.gemspec CHANGED
@@ -1,26 +1,26 @@
1
- # -*- encoding: utf-8 -*-
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path("lib", __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'gds_zendesk/version'
3
+ require "gds_zendesk/version"
5
4
 
6
5
  Gem::Specification.new do |gem|
7
6
  gem.name = "gds_zendesk"
8
7
  gem.version = GDSZendesk::VERSION
9
- gem.authors = ["Jake Benilov"]
10
- gem.email = ["benilov@gmail.com"]
11
- gem.description = %q{Client and models for communicating with Zendesk}
12
- gem.summary = %q{Client and models for communicating with Zendesk}
8
+ gem.authors = ["GOV.UK Dev"]
9
+ gem.email = ["govuk-dev@digital.cabinet-office.gov.uk"]
10
+ gem.description = "Client and models for communicating with Zendesk"
11
+ gem.summary = "Client and models for communicating with Zendesk"
13
12
  gem.homepage = "https://github.com/alphagov/gds_zendesk"
14
13
 
15
- gem.files = `git ls-files`.split($/)
16
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
+ gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
15
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
17
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
17
+ gem.require_paths = %w[lib]
19
18
 
20
- gem.add_dependency 'null_logger', '0.0.1'
21
- gem.add_dependency 'zendesk_api', '1.14.4'
19
+ gem.add_dependency "null_logger", "~> 0"
20
+ gem.add_dependency "zendesk_api", "~> 1.27"
22
21
 
23
- gem.add_development_dependency 'rake', '10.0.3'
24
- gem.add_development_dependency 'rspec', '3.1.0'
25
- gem.add_development_dependency "webmock", '~> 2.3.0'
22
+ gem.add_development_dependency "rake", "~> 10"
23
+ gem.add_development_dependency "rspec", "~> 3"
24
+ gem.add_development_dependency "rubocop-govuk", "~> 3"
25
+ gem.add_development_dependency "webmock", "~> 2"
26
26
  end
@@ -1,8 +1,8 @@
1
- require 'forwardable'
2
- require 'null_logger'
3
- require 'zendesk_api'
1
+ require "forwardable"
2
+ require "null_logger"
3
+ require "zendesk_api"
4
4
 
5
- require 'gds_zendesk/users'
5
+ require "gds_zendesk/users"
6
6
 
7
7
  module GDSZendesk
8
8
  class Client
@@ -10,6 +10,7 @@ module GDSZendesk
10
10
  def_delegators :@zendesk_client, :ticket
11
11
 
12
12
  attr_accessor :config_options
13
+ attr_reader :zendesk_client
13
14
 
14
15
  def initialize(config_options)
15
16
  @config_options = defaults.merge(config_options)
@@ -23,28 +24,35 @@ module GDSZendesk
23
24
  def build
24
25
  check_that_username_and_password_are_provided
25
26
 
26
- ZendeskAPI::Client.new { |config|
27
+ ZendeskAPI::Client.new do |config|
27
28
  config.url = url
28
29
  config.username = username
29
- config.password = password
30
+ config.token = token if token
31
+ config.password = password if password
30
32
  config.logger = logger
31
- }
33
+ end
32
34
  end
33
35
 
34
- protected
36
+ protected
37
+
35
38
  def logger
36
39
  @config_options[:logger] || @config_options["logger"]
37
40
  end
38
41
 
39
42
  def check_that_username_and_password_are_provided
40
43
  raise ArgumentError, "Zendesk username not provided" if username.nil?
41
- raise ArgumentError, "Zendesk password not provided" if password.nil?
44
+ raise ArgumentError, "Zendesk password or token not provided" if password.nil? && token.nil?
45
+ raise ArgumentError, "Provide only one of token or password" unless password.nil? || token.nil?
42
46
  end
43
47
 
44
48
  def username
45
49
  @config_options[:username] || @config_options["username"]
46
50
  end
47
51
 
52
+ def token
53
+ @config_options[:token] || @config_options["token"]
54
+ end
55
+
48
56
  def password
49
57
  @config_options[:password] || @config_options["password"]
50
58
  end
@@ -55,9 +63,9 @@ module GDSZendesk
55
63
 
56
64
  def defaults
57
65
  {
58
- logger: NullLogger.instance,
59
- url: "https://govuk.zendesk.com/api/v2/"
66
+ logger: NullLogger.instance,
67
+ url: "https://govuk.zendesk.com/api/v2/",
60
68
  }
61
69
  end
62
70
  end
63
- end
71
+ end
@@ -1,5 +1,5 @@
1
- require 'null_logger'
2
- require 'zendesk_api/error'
1
+ require "null_logger"
2
+ require "zendesk_api/error"
3
3
 
4
4
  module GDSZendesk
5
5
  class DummyClient
@@ -23,13 +23,14 @@ module GDSZendesk
23
23
  @options = options
24
24
  if should_raise_error?
25
25
  @logger.info("Simulating Zendesk ticket creation failure: #{options.inspect}")
26
- raise ZendeskAPI::Error::RecordInvalid.new(body: {"details" => "sample error message from Zendesk"})
26
+ raise ZendeskAPI::Error::RecordInvalid.new(body: { "details" => "sample error message from Zendesk" })
27
27
  else
28
28
  @logger.info("Zendesk ticket created: #{options.inspect}")
29
29
  end
30
30
  end
31
31
 
32
- protected
32
+ protected
33
+
33
34
  def should_raise_error?
34
35
  description =~ /break_zendesk/ or comment =~ /break_zendesk/
35
36
  end
@@ -48,11 +49,11 @@ module GDSZendesk
48
49
  @logger = logger
49
50
  end
50
51
 
51
- def search(attributes)
52
+ def search(_attributes)
52
53
  []
53
54
  end
54
55
 
55
- def suspended?(user_email)
56
+ def suspended?(_user_email)
56
57
  false
57
58
  end
58
59
 
@@ -1,55 +1,55 @@
1
- require 'json'
1
+ require "json"
2
2
 
3
3
  module GDSZendesk
4
4
  module TestHelpers
5
5
  def zendesk_has_no_user_with_email(email)
6
- stub_request(:get, "#{zendesk_endpoint}/users/search?query=#{email}").
7
- with(basic_auth: basic_auth_credentials).
8
- to_return(body: {users: [], previous_page: nil, next_page: nil, count: 0}.to_json,
9
- headers: {'Content-Type' => 'application/json'})
6
+ stub_request(:get, "#{zendesk_endpoint}/users/search?query=#{email}")
7
+ .with(basic_auth: basic_auth_credentials)
8
+ .to_return(body: { users: [], previous_page: nil, next_page: nil, count: 0 }.to_json,
9
+ headers: { "Content-Type" => "application/json" })
10
10
  end
11
11
 
12
12
  def zendesk_has_user(user_details)
13
- stub_request(:get, "#{zendesk_endpoint}/users/search?query=#{user_details[:email]}").
14
- with(basic_auth: basic_auth_credentials).
15
- to_return(body: {users: [user_details], previous_page: nil, next_page: nil, count: 1}.to_json,
16
- headers: {'Content-Type' => 'application/json'})
13
+ stub_request(:get, "#{zendesk_endpoint}/users/search?query=#{user_details[:email]}")
14
+ .with(basic_auth: basic_auth_credentials)
15
+ .to_return(body: { users: [user_details], previous_page: nil, next_page: nil, count: 1 }.to_json,
16
+ headers: { "Content-Type" => "application/json" })
17
17
  end
18
18
 
19
19
  def stub_zendesk_user_creation(user_properties = nil)
20
20
  stub = stub_request(:post, "#{zendesk_endpoint}/users")
21
- stub.with(body: {user: user_properties}) unless user_properties.nil?
21
+ stub.with(body: { user: user_properties }) unless user_properties.nil?
22
22
  stub.with(basic_auth: basic_auth_credentials)
23
- stub.to_return(status: 201, body: { user: { id: 12345, name: "abc" }}.to_json,
24
- headers: {'Content-Type' => 'application/json'})
23
+ stub.to_return(status: 201, body: { user: { id: 12_345, name: "abc" } }.to_json,
24
+ headers: { "Content-Type" => "application/json" })
25
25
  end
26
26
 
27
27
  def stub_zendesk_ticket_creation(ticket_properties = nil)
28
28
  stub = stub_request(:post, "#{zendesk_endpoint}/tickets")
29
- stub.with(body: {ticket: ticket_properties}) unless ticket_properties.nil?
29
+ stub.with(body: { ticket: ticket_properties }) unless ticket_properties.nil?
30
30
  stub.with(basic_auth: basic_auth_credentials)
31
- stub.to_return(status: 201, body: { ticket: { id: 12345 }}.to_json,
32
- headers: {'Content-Type' => 'application/json'})
31
+ stub.to_return(status: 201, body: { ticket: { id: 12_345 } }.to_json,
32
+ headers: { "Content-Type" => "application/json" })
33
33
  end
34
34
 
35
35
  def stub_zendesk_ticket_creation_with_body(body)
36
- stub_request(:post, "#{zendesk_endpoint}/tickets").
37
- with(body: body).
38
- with(basic_auth: basic_auth_credentials).
39
- to_return(status: 201, body: { ticket: { id: 12345 }}.to_json,
40
- headers: {'Content-Type' => 'application/json'})
36
+ stub_request(:post, "#{zendesk_endpoint}/tickets")
37
+ .with(body: body)
38
+ .with(basic_auth: basic_auth_credentials)
39
+ .to_return(status: 201, body: { ticket: { id: 12_345 } }.to_json,
40
+ headers: { "Content-Type" => "application/json" })
41
41
  end
42
42
 
43
43
  def stub_zendesk_user_update(user_id, user_properties)
44
- stub_request(:put, "#{zendesk_endpoint}/users/#{user_id}").
45
- with(body: {user: user_properties}).
46
- with(basic_auth: basic_auth_credentials).
47
- to_return(status: 201, body: { user: { id: 12345, name: "abc" }}.to_json,
48
- headers: {'Content-Type' => 'application/json'})
44
+ stub_request(:put, "#{zendesk_endpoint}/users/#{user_id}")
45
+ .with(body: { user: user_properties })
46
+ .with(basic_auth: basic_auth_credentials)
47
+ .to_return(status: 201, body: { user: { id: 12_345, name: "abc" } }.to_json,
48
+ headers: { "Content-Type" => "application/json" })
49
49
  end
50
50
 
51
51
  def basic_auth_credentials
52
- [valid_zendesk_credentials['username'], valid_zendesk_credentials['password']]
52
+ [valid_zendesk_credentials["username"], valid_zendesk_credentials["password"]]
53
53
  end
54
54
 
55
55
  def zendesk_is_unavailable
@@ -78,12 +78,12 @@ module GDSZendesk
78
78
 
79
79
  def assert_created_ticket_has(ticket_options)
80
80
  assert_requested :post, %r{/api/v2/tickets},
81
- body: { ticket: hash_including(ticket_options) }, times: 1
81
+ body: { ticket: hash_including(ticket_options) }, times: 1
82
82
  end
83
83
 
84
84
  def assert_created_ticket_has_requester(requester_options)
85
85
  assert_requested :post, %r{/api/v2/tickets},
86
- body: { ticket: hash_including(requester: hash_including(requester_options)) }, times: 1
86
+ body: { ticket: hash_including(requester: hash_including(requester_options)) }, times: 1
87
87
  end
88
88
  end
89
89
  end
@@ -24,7 +24,8 @@ module GDSZendesk
24
24
  end
25
25
  end
26
26
 
27
- protected
27
+ protected
28
+
28
29
  def find_by_email(email)
29
30
  @client.users.search(query: email).to_a
30
31
  end
@@ -46,4 +47,4 @@ module GDSZendesk
46
47
  existing_user_in_zendesk
47
48
  end
48
49
  end
49
- end
50
+ end
@@ -1,3 +1,3 @@
1
1
  module GDSZendesk
2
- VERSION = "3.0.0"
2
+ VERSION = "3.3.0".freeze
3
3
  end
@@ -1,19 +1,19 @@
1
- INITIALIZER = <<END
2
- require 'yaml'
3
- require 'gds_zendesk/client'
4
- require 'gds_zendesk/dummy_client'
5
-
6
- GDS_ZENDESK_CLIENT = if Rails.env.development? || Rails.env.test?
7
- GDSZendesk::DummyClient.new(logger: Rails.logger)
8
- else
9
- config_yaml_file = File.join(Rails.root, 'config', 'zendesk.yml')
10
- config = YAML.load_file(config_yaml_file)[Rails.env]
11
- GDSZendesk::Client.new(username: config['username'], password: config['password'], logger: Rails.logger)
12
- end
13
- END
1
+ INITIALIZER = <<~RUBY.freeze
2
+ require 'yaml'
3
+ require 'gds_zendesk/client'
4
+ require 'gds_zendesk/dummy_client'
5
+
6
+ GDS_ZENDESK_CLIENT = if Rails.env.development? || Rails.env.test?
7
+ GDSZendesk::DummyClient.new(logger: Rails.logger)
8
+ else
9
+ config_yaml_file = File.join(Rails.root, 'config', 'zendesk.yml')
10
+ config = YAML.load_file(config_yaml_file)[Rails.env]
11
+ GDSZendesk::Client.new(username: config['username'], password: config['password'], token: config['token'], logger: Rails.logger)
12
+ end
13
+ RUBY
14
14
 
15
15
  # This module name is slightly differently capitalised to the main library module
16
- # The reason for this is that the module name is used by Rails within the
16
+ # The reason for this is that the module name is used by Rails within the
17
17
  # generator CLI tools, and the tools get confused if the module is called GDSZendesk
18
18
  module GdsZendesk
19
19
  class InstallGenerator < Rails::Generators::Base
@@ -1,7 +1,7 @@
1
- require 'spec_helper'
2
- require 'gds_zendesk/test_helpers'
3
- require 'gds_zendesk/client'
4
- require 'null_logger'
1
+ require "spec_helper"
2
+ require "gds_zendesk/test_helpers"
3
+ require "gds_zendesk/client"
4
+ require "null_logger"
5
5
 
6
6
  module GDSZendesk
7
7
  describe Client do
@@ -17,12 +17,27 @@ module GDSZendesk
17
17
 
18
18
  it "should raise an error if no username is provided" do
19
19
  expect { Client.new(password: "abc") }.to raise_error(ArgumentError,
20
- /username not provided/)
20
+ /username not provided/)
21
21
  end
22
22
 
23
- it "should raise an error if no password is provided" do
23
+ it "should raise an error if no password or token is provided" do
24
24
  expect { Client.new(username: "abc") }.to raise_error(ArgumentError,
25
- /password not provided/)
25
+ /password or token not provided/)
26
+ end
27
+
28
+ it "should raise an error if token and password are provided" do
29
+ expect { Client.new(username: "abc", token: "def", password: "ghi") }.to raise_error(ArgumentError,
30
+ /Provide only one of token or password/)
31
+ end
32
+
33
+ it "should not raise an error if token is provided without password" do
34
+ expect { Client.new(username: "abc", token: "def") }.not_to raise_error(ArgumentError,
35
+ /password or token not provided/)
36
+ end
37
+
38
+ it "should not raise an error if password is provided without token" do
39
+ expect { Client.new(username: "abc", password: "def") }.not_to raise_error(ArgumentError,
40
+ /password or token not provided/)
26
41
  end
27
42
 
28
43
  it "should use a null logger if no logger has been provided" do
@@ -39,6 +54,14 @@ module GDSZendesk
39
54
  expect(client.config_options[:url]).to eq "https://govuk.zendesk.com/api/v2/"
40
55
  end
41
56
 
57
+ it "should use the token if provided" do
58
+ expect(Client.new(username: "test_user", token: "test_token").config_options[:token]).to eq "test_token"
59
+ end
60
+
61
+ it "should use the password if provided" do
62
+ expect(Client.new(username: "test_user", password: "test_password").config_options[:password]).to eq "test_password"
63
+ end
64
+
42
65
  it "should use the configured url if provided" do
43
66
  expect(Client.new(username: "test_user", password: "test_pass", url: "https://example.com").config_options[:url]).to eq "https://example.com"
44
67
  end
@@ -1,4 +1,4 @@
1
- require 'gds_zendesk/dummy_client'
1
+ require "gds_zendesk/dummy_client"
2
2
 
3
3
  module GDSZendesk
4
4
  describe DummyClient do
@@ -1,8 +1,8 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
- require 'gds_zendesk/client'
4
- require 'gds_zendesk/users'
5
- require 'gds_zendesk/test_helpers'
3
+ require "gds_zendesk/client"
4
+ require "gds_zendesk/users"
5
+ require "gds_zendesk/test_helpers"
6
6
 
7
7
  module GDSZendesk
8
8
  describe Users do
@@ -46,10 +46,10 @@ module GDSZendesk
46
46
  name: "Abc",
47
47
  email: "test@test.com",
48
48
  phone: "12345",
49
- details: "Job title: Developer"
49
+ details: "Job title: Developer",
50
50
  )
51
51
  user_being_requested = double("requested user",
52
- name: "Abc", email: "test@test.com", phone: "12345", job: "Developer")
52
+ name: "Abc", email: "test@test.com", phone: "12345", job: "Developer")
53
53
 
54
54
  users.create_or_update_user(user_being_requested)
55
55
  expect(stub_post).to have_been_requested
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,3 @@
1
- require 'webmock/rspec'
1
+ require "webmock/rspec"
2
2
 
3
- WebMock.disable_net_connect!(:allow_localhost => true)
3
+ WebMock.disable_net_connect!(allow_localhost: true)
metadata CHANGED
@@ -1,93 +1,108 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds_zendesk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
- - Jake Benilov
7
+ - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-04 00:00:00.000000000 Z
11
+ date: 2022-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: null_logger
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.1
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.1
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: zendesk_api
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.14.4
33
+ version: '1.27'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.14.4
40
+ version: '1.27'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 10.0.3
47
+ version: '10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 10.0.3
54
+ version: '10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '='
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 3.1.0
61
+ version: '3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '='
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop-govuk
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: 3.1.0
82
+ version: '3'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: webmock
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: 2.3.0
89
+ version: '2'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: 2.3.0
96
+ version: '2'
83
97
  description: Client and models for communicating with Zendesk
84
98
  email:
85
- - benilov@gmail.com
99
+ - govuk-dev@digital.cabinet-office.gov.uk
86
100
  executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
104
  - ".gitignore"
105
+ - ".rubocop.yml"
91
106
  - ".ruby-version"
92
107
  - CHANGELOG.md
93
108
  - Gemfile
@@ -125,8 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
140
  - !ruby/object:Gem::Version
126
141
  version: '0'
127
142
  requirements: []
128
- rubyforge_project:
129
- rubygems_version: 2.6.13
143
+ rubygems_version: 3.0.3
130
144
  signing_key:
131
145
  specification_version: 4
132
146
  summary: Client and models for communicating with Zendesk