fresh_service_api_v2_client 1.0.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 +7 -0
- data/lib/fresh_service/client/v2/group/create.rb +21 -0
- data/lib/fresh_service/client/v2/group/view.rb +21 -0
- data/lib/fresh_service/client/v2/service_request/create.rb +28 -0
- data/lib/fresh_service/client/v2/service_request/update.rb +21 -0
- data/lib/fresh_service/client/v2/ticket/create.rb +24 -0
- data/lib/fresh_service/client/v2/ticket/update.rb +21 -0
- data/lib/fresh_service/client/v2/ticket/view.rb +21 -0
- data/lib/fresh_service/client.rb +40 -0
- data/lib/fresh_service/configurable.rb +53 -0
- data/lib/fresh_service/connection.rb +76 -0
- data/lib/fresh_service/default.rb +58 -0
- data/lib/fresh_service/error.rb +7 -0
- data/lib/fresh_service/version.rb +19 -0
- data/lib/fresh_service.rb +22 -0
- metadata +211 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f907ae6b108ec816a765681f148d5277149919255136d52202afcd6db7db4fac
|
4
|
+
data.tar.gz: a756eb8fba3108d0f10f7b6cdec66ba86d43f2045fc275b6411a4c3028b10a0e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 62dcabeb3230e320d7ef464056a21542174c45a55cbcac191145b088818c19386357b8b1a85c61916cec256f88609fc7e865cc460bc6b19dffa9da883a08dfa6
|
7
|
+
data.tar.gz: b305b01bd36e318701e07dd06d64ee0d04a7d5de0a1cf07f6da2acc175f91879d87a6948bfed7f2a27aa5b64c920ee0c42ae560e36d54c899fa64204ea8934af
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
class Client
|
5
|
+
module V2
|
6
|
+
module Group
|
7
|
+
module Create
|
8
|
+
# Create a group
|
9
|
+
#
|
10
|
+
# @param = [name, description, unassigned_for, agent_ids, members, approval_required]
|
11
|
+
#
|
12
|
+
# @return Faraday Response
|
13
|
+
# @see https://api.freshservice.com/#create_a_group
|
14
|
+
def create_group(options = {})
|
15
|
+
post "/groups", options
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
class Client
|
5
|
+
module V2
|
6
|
+
module Group
|
7
|
+
module View
|
8
|
+
# View a Group
|
9
|
+
#
|
10
|
+
# @param = [group_id]
|
11
|
+
#
|
12
|
+
# @return Faraday Response
|
13
|
+
# @see https://api.freshservice.com/#view_a_group
|
14
|
+
def view_group(group_id, options = {})
|
15
|
+
get "/groups/#{group_id}", options
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
class Client
|
5
|
+
module V2
|
6
|
+
module ServiceRequest
|
7
|
+
module Create
|
8
|
+
# Create a ServiceRequest
|
9
|
+
#
|
10
|
+
# @param for service request
|
11
|
+
# | Attribute | Type | Description |
|
12
|
+
# | display_id | number | Service Item ID inside service catalog |
|
13
|
+
# | quantity | number | Quantity needed by the requested |
|
14
|
+
# | requested_for | email | Email id of the requester on whose behalf the service request is created |
|
15
|
+
# | email | email | Email id of the requester |
|
16
|
+
# | child_items | - | Provide the display id as service_item_id for each child item. |
|
17
|
+
# | custom_fields | - | Values of custom fields present in the service item form |
|
18
|
+
#
|
19
|
+
# @return Faraday Response
|
20
|
+
# @see https://api.freshservice.com/#create_service_request
|
21
|
+
def create_service_request(display_id, options = {})
|
22
|
+
post "/service_catalog/items/#{display_id}/place_request", options
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
class Client
|
5
|
+
module V2
|
6
|
+
module ServiceRequest
|
7
|
+
module Update
|
8
|
+
# Update a ServiceRequest
|
9
|
+
#
|
10
|
+
# @param ServiceRequest update refer create service request
|
11
|
+
#
|
12
|
+
# @return Faraday Response
|
13
|
+
# @see https://api.freshservice.com/#update_req_items_of_sr
|
14
|
+
def update_service_request(ticket_id, item_id, options = {})
|
15
|
+
put "/tickets/#{ticket_id}/requested_items/#{item_id}", options
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
class Client
|
5
|
+
module V2
|
6
|
+
module Ticket
|
7
|
+
module Create
|
8
|
+
# Create a ticket
|
9
|
+
#
|
10
|
+
# @param = [name, requester_id, email, phone, subject, type, status, priority, description,
|
11
|
+
# responder_id, attachments, cc_emails, custom_fields, due_by, email_config_id,
|
12
|
+
# fr_due_by, group_id, source, tags, department_id, category, sub_category,
|
13
|
+
# item_category, associate_ci, assets, urgency, impact, problem]
|
14
|
+
#
|
15
|
+
# @return Faraday Response
|
16
|
+
# @see https://api.freshservice.com/#create_ticket
|
17
|
+
def create_ticket(options = {})
|
18
|
+
post "/tickets", options
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
class Client
|
5
|
+
module V2
|
6
|
+
module Ticket
|
7
|
+
module Update
|
8
|
+
# Update a ticket
|
9
|
+
#
|
10
|
+
# @param Refer create ticket
|
11
|
+
#
|
12
|
+
# @return Faraday Response
|
13
|
+
# @see https://api.freshservice.com/#update_ticket_priority
|
14
|
+
def update_ticket(ticket_id, options = {})
|
15
|
+
put "/tickets/#{ticket_id}", options
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
class Client
|
5
|
+
module V2
|
6
|
+
module Ticket
|
7
|
+
module View
|
8
|
+
# View a ticket
|
9
|
+
#
|
10
|
+
# @param = [ticket_id]
|
11
|
+
#
|
12
|
+
# @return Faraday Response
|
13
|
+
# @see https://api.freshservice.com/#view_a_ticket
|
14
|
+
def view_ticket(ticket_id, options = {})
|
15
|
+
get "/tickets/#{ticket_id}", options
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fresh_service/default"
|
4
|
+
require "fresh_service/connection"
|
5
|
+
require "fresh_service/configurable"
|
6
|
+
require "fresh_service/client/v2/ticket/create"
|
7
|
+
require "fresh_service/client/v2/ticket/update"
|
8
|
+
require "fresh_service/client/v2/ticket/view"
|
9
|
+
require "fresh_service/client/v2/group/create"
|
10
|
+
require "fresh_service/client/v2/group/view"
|
11
|
+
require "fresh_service/client/v2/service_request/create"
|
12
|
+
require "fresh_service/client/v2/service_request/update"
|
13
|
+
require "fresh_service/error"
|
14
|
+
|
15
|
+
module FreshService
|
16
|
+
# Client for the FreshService API
|
17
|
+
#
|
18
|
+
# @see https://api.freshservice.com/
|
19
|
+
class Client
|
20
|
+
include FreshService::Default
|
21
|
+
include FreshService::Connection
|
22
|
+
include FreshService::Configurable
|
23
|
+
include FreshService::Client::V2::Ticket::Create
|
24
|
+
include FreshService::Client::V2::Ticket::Update
|
25
|
+
include FreshService::Client::V2::Ticket::View
|
26
|
+
include FreshService::Client::V2::Group::Create
|
27
|
+
include FreshService::Client::V2::Group::View
|
28
|
+
include FreshService::Client::V2::ServiceRequest::Create
|
29
|
+
include FreshService::Client::V2::ServiceRequest::Update
|
30
|
+
|
31
|
+
def initialize(options = {})
|
32
|
+
# Use options passed in, but fall back to module defaults
|
33
|
+
FreshService::Configurable.keys.each do |key|
|
34
|
+
value = options.key?(key) ? options[key] : FreshService.instance_variable_get(:"@#{key}")
|
35
|
+
value = value.presence || FreshService::Default.send(:"#{key}")
|
36
|
+
instance_variable_set(:"@#{key}", value)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
# Configuration options for {Client}, defaulting to values
|
5
|
+
# in {Default}
|
6
|
+
module Configurable
|
7
|
+
attr_accessor :organisation, :env, :api_key, :content_type,
|
8
|
+
:api_endpoint, :user_agent
|
9
|
+
|
10
|
+
class << self
|
11
|
+
# List of configurable keys for {FreshService::Client}
|
12
|
+
# @return [Array] of option keys
|
13
|
+
def keys
|
14
|
+
@keys ||= %i[
|
15
|
+
organisation
|
16
|
+
env
|
17
|
+
api_key
|
18
|
+
content_type
|
19
|
+
api_endpoint
|
20
|
+
user_agent
|
21
|
+
]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# Set configuration options using a block
|
26
|
+
def configure
|
27
|
+
yield self
|
28
|
+
end
|
29
|
+
|
30
|
+
# Reset configuration options to default values
|
31
|
+
def reset!
|
32
|
+
FreshService::Configurable.keys.each do |key|
|
33
|
+
instance_variable_set(:"@#{key}", FreshService::Default.options[key])
|
34
|
+
end
|
35
|
+
self
|
36
|
+
end
|
37
|
+
alias setup reset!
|
38
|
+
|
39
|
+
# Compares client options to a Hash of requested options
|
40
|
+
#
|
41
|
+
# @param opts [Hash] Options to compare with current client options
|
42
|
+
# @return [Boolean]
|
43
|
+
def same_options?(opts)
|
44
|
+
opts.hash == options.hash
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def options
|
50
|
+
Hash[FreshService::Configurable.keys.map { |key| [key, instance_variable_get(:"@#{key}")] }]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require "addressable/uri"
|
5
|
+
require "faraday"
|
6
|
+
|
7
|
+
# Network layer for API clients.
|
8
|
+
module FreshService
|
9
|
+
module Connection
|
10
|
+
# 408 -> Request Timeout
|
11
|
+
# 502 -> Bad Gateway
|
12
|
+
# 503 -> Service Unavailable
|
13
|
+
# 504 -> Gateway Timeout
|
14
|
+
RETRY_HTTP_CODES = [408, 502, 503, 504].freeze
|
15
|
+
|
16
|
+
# Make a HTTP GET request
|
17
|
+
#
|
18
|
+
# @param url [String] The path, relative to {#api_endpoint}
|
19
|
+
# @param options [Hash] Query and header params for request
|
20
|
+
# @return response body object
|
21
|
+
def get(url, body = {})
|
22
|
+
request :get, url, body
|
23
|
+
end
|
24
|
+
|
25
|
+
# Make a HTTP POST request
|
26
|
+
#
|
27
|
+
# @param url [String] The path, relative to {#api_endpoint}
|
28
|
+
# @param body [Hash] Body for request
|
29
|
+
# @return response body object
|
30
|
+
def post(url, body = {})
|
31
|
+
request :post, url, body
|
32
|
+
end
|
33
|
+
|
34
|
+
# Make a HTTP PUT request
|
35
|
+
#
|
36
|
+
# @param url [String] The path, relative to {#api_endpoint}
|
37
|
+
# @param body [Hash] Body for request
|
38
|
+
# @return response body object
|
39
|
+
def put(url, body = {})
|
40
|
+
request :put, url, body
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def request(method, path, body = {})
|
46
|
+
agent = setup_connection(path)
|
47
|
+
response = agent.send(method) { |req| req.body = body.to_json }
|
48
|
+
response_body = JSON.parse(response.body)
|
49
|
+
|
50
|
+
if response_body["code"] == "access_denied"
|
51
|
+
raise Error::AuthenticationFailed
|
52
|
+
else
|
53
|
+
response_body
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def setup_connection(path)
|
58
|
+
url = Addressable::URI.parse(api_endpoint + path).normalize.to_s
|
59
|
+
@agent = Faraday.new(url) do |req|
|
60
|
+
req.request :basic_auth, api_key, ""
|
61
|
+
req.headers["User-Agent"] = user_agent
|
62
|
+
req.headers["Content-Type"] = content_type
|
63
|
+
req.adapter Faraday.default_adapter
|
64
|
+
req.request :retry, retry_options
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def retry_options
|
69
|
+
{
|
70
|
+
max: 3, interval: 0.05,
|
71
|
+
interval_randomness: 0.5, backoff_factor: 2,
|
72
|
+
retry_statuses: RETRY_HTTP_CODES
|
73
|
+
}
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fresh_service/version"
|
4
|
+
|
5
|
+
module FreshService
|
6
|
+
# Default configuration options for {Client}
|
7
|
+
module Default
|
8
|
+
class << self
|
9
|
+
# Configuration options
|
10
|
+
# @return [Hash]
|
11
|
+
def options
|
12
|
+
Hash[FreshService::Configurable.keys.map { |key| [key, send(key)] }]
|
13
|
+
end
|
14
|
+
|
15
|
+
# Default FreshService api_key from ENV
|
16
|
+
# @return [String]
|
17
|
+
def api_key
|
18
|
+
ENV["FRESH_SERVICE_API_KEY"]
|
19
|
+
end
|
20
|
+
|
21
|
+
# Default ENV
|
22
|
+
# @return [String]
|
23
|
+
def env
|
24
|
+
Rails.env
|
25
|
+
rescue StandardError
|
26
|
+
"development"
|
27
|
+
end
|
28
|
+
|
29
|
+
# Default BASE PACKAGE_URL
|
30
|
+
# @return [String]
|
31
|
+
def api_version_url
|
32
|
+
"api/v2"
|
33
|
+
end
|
34
|
+
|
35
|
+
# Default user_agent
|
36
|
+
# @return [String]
|
37
|
+
def user_agent
|
38
|
+
"fresh-service-#{FreshService::VERSION}"
|
39
|
+
end
|
40
|
+
|
41
|
+
# Default api_endpoint FreshService URL for company
|
42
|
+
# @return [String]
|
43
|
+
def api_endpoint
|
44
|
+
"https://#{organisation}.freshservice.com/#{api_version_url}"
|
45
|
+
end
|
46
|
+
|
47
|
+
# Default HTTP content_type
|
48
|
+
# @return [String]
|
49
|
+
def content_type
|
50
|
+
"application/json"
|
51
|
+
end
|
52
|
+
|
53
|
+
def organisation
|
54
|
+
ENV["FRESH_SERVICE_ORG"]
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FreshService
|
4
|
+
# Current major release.
|
5
|
+
# @return [Integer]
|
6
|
+
MAJOR = 1
|
7
|
+
|
8
|
+
# Current minor release.
|
9
|
+
# @return [Integer]
|
10
|
+
MINOR = 0
|
11
|
+
|
12
|
+
# Current patch level.
|
13
|
+
# @return [Integer]
|
14
|
+
PATCH = 0
|
15
|
+
|
16
|
+
# Full release version.
|
17
|
+
# @return [String]
|
18
|
+
VERSION = [MAJOR, MINOR, PATCH].join(".").freeze
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fresh_service/client"
|
4
|
+
require "fresh_service/default"
|
5
|
+
|
6
|
+
# Ruby toolkit for the FreshService API
|
7
|
+
module FreshService
|
8
|
+
class << self
|
9
|
+
include FreshService::Configurable
|
10
|
+
|
11
|
+
# API client based on configured options {Configurable}
|
12
|
+
#
|
13
|
+
# @return [FreshService::Client] API wrapper
|
14
|
+
def client
|
15
|
+
return @client if defined?(@client) && @client.same_options?(options)
|
16
|
+
|
17
|
+
@client = FreshService::Client.new(options)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
FreshService.setup
|
metadata
ADDED
@@ -0,0 +1,211 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fresh_service_api_v2_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Vikas Prasad
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-08-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: addressable
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.2.10
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.2.10
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: simplecov
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: webmock
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.14.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.14.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activesupport
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 4.2.7
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 4.2.7
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: faraday
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.17.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.17.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: faraday_middleware
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.11.0.1
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.11.0.1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: byebug
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 11.1.3
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 11.1.3
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rake
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '13.0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '13.0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rspec
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '3.10'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '3.10'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop-rails
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
description: Simple wrapper for the FreshService API
|
168
|
+
email:
|
169
|
+
- vikas95prasad@gmail.com
|
170
|
+
executables: []
|
171
|
+
extensions: []
|
172
|
+
extra_rdoc_files: []
|
173
|
+
files:
|
174
|
+
- lib/fresh_service.rb
|
175
|
+
- lib/fresh_service/client.rb
|
176
|
+
- lib/fresh_service/client/v2/group/create.rb
|
177
|
+
- lib/fresh_service/client/v2/group/view.rb
|
178
|
+
- lib/fresh_service/client/v2/service_request/create.rb
|
179
|
+
- lib/fresh_service/client/v2/service_request/update.rb
|
180
|
+
- lib/fresh_service/client/v2/ticket/create.rb
|
181
|
+
- lib/fresh_service/client/v2/ticket/update.rb
|
182
|
+
- lib/fresh_service/client/v2/ticket/view.rb
|
183
|
+
- lib/fresh_service/configurable.rb
|
184
|
+
- lib/fresh_service/connection.rb
|
185
|
+
- lib/fresh_service/default.rb
|
186
|
+
- lib/fresh_service/error.rb
|
187
|
+
- lib/fresh_service/version.rb
|
188
|
+
homepage: https://rubygems.org/gems/fresh_service_api_v2_client
|
189
|
+
licenses:
|
190
|
+
- MIT
|
191
|
+
metadata: {}
|
192
|
+
post_install_message:
|
193
|
+
rdoc_options: []
|
194
|
+
require_paths:
|
195
|
+
- lib
|
196
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 2.6.0
|
201
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
|
+
requirements:
|
203
|
+
- - ">="
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: 1.3.5
|
206
|
+
requirements: []
|
207
|
+
rubygems_version: 3.1.6
|
208
|
+
signing_key:
|
209
|
+
specification_version: 4
|
210
|
+
summary: Ruby toolkit for working with the Fresh Service API v2
|
211
|
+
test_files: []
|