qismo 0.11.2 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6ad32a3cd6a3333934113d2fa2bf8cc0f53cf07c805f57a4b1f1b53eacebb74
4
- data.tar.gz: a6ecbc183426799bfbf17aba3b8242960d93c740ca5ea071ccb823d9a9bc8d5f
3
+ metadata.gz: 5ec84bd64f8775b2149a00fddaabb886d022c1f3e076b10f368893bd38084e95
4
+ data.tar.gz: 51f0a455799d55c6651e9dee7b10d5c482b1f776623f9d691823112d379704c1
5
5
  SHA512:
6
- metadata.gz: 46f48ede2c4062f54bb3d171942f2f38480aa647ffc9a209116a00e823e3497e78f54b967df491267d40cba487cd926f470110fa9b9d4ab64f585f480c343c94
7
- data.tar.gz: 5814925429d36da9ef3952b46229f1409fa91268fe45bbc7dc4e04f0a5503b5de96415865f7570df36ce5934a401c2a206fc23cddeb002b62b06b28692418fe4
6
+ metadata.gz: 3e4703fd4edd15512588bbff8454a9ac64f24f56bf021209517eace99c63a81e0fe585f7eb3f764db463991218e8d26f1b419d72ece9a4878c897537ba353636
7
+ data.tar.gz: 7372c3a013039fb252b646807495e0589fc416cc752481014c37f727e1ef49aa768d719dc7f2ef0cb986e84a2708edfaab5887f14a20b3eb9f5ddb8c81e2a850
data/Gemfile CHANGED
@@ -4,3 +4,12 @@ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in qismo.gemspec
6
6
  gemspec
7
+
8
+ group :development do
9
+ gem "pry", "~> 0.14.1"
10
+ gem "byebug", "~> 11.1"
11
+ gem "rake", "~> 13.0"
12
+ gem "rspec", "~> 3.0"
13
+ gem "solargraph", "~> 0.47.2"
14
+ gem "standard", ">= 1"
15
+ end
data/lib/qismo/api.rb CHANGED
@@ -16,7 +16,7 @@ module Qismo
16
16
  prev_page: body.meta&.cursor_before,
17
17
  next_page: body.meta&.cursor_after,
18
18
  prev_func: -> { rooms(options.merge(cursor_before: body.meta&.cursor_before)) },
19
- next_func: -> { rooms(options.merge(cursor_after: body.meta&.cursor_after)) },
19
+ next_func: -> { rooms(options.merge(cursor_after: body.meta&.cursor_after)) }
20
20
  )
21
21
  end
22
22
 
@@ -72,8 +72,8 @@ module Qismo
72
72
  def room_additional_info(room_id)
73
73
  CollectionObject.new(
74
74
  get(
75
- "/api/v1/qiscus/room/#{room_id}/user_info",
76
- ).data&.extras&.user_properties,
75
+ "/api/v1/qiscus/room/#{room_id}/user_info"
76
+ ).data&.extras&.user_properties
77
77
  ) || CollectionObject.new
78
78
  end
79
79
 
@@ -90,8 +90,8 @@ module Qismo
90
90
  CollectionObject.new(
91
91
  post(
92
92
  "/api/v1/qiscus/room/#{room_id}/user_info",
93
- user_properties: additional_info,
94
- ).data&.extras&.user_properties,
93
+ user_properties: additional_info
94
+ ).data&.extras&.user_properties
95
95
  ) || CollectionObject.new
96
96
  end
97
97
 
@@ -121,15 +121,15 @@ module Qismo
121
121
  def room_broadcast_history(room_id, options = {})
122
122
  body = get("/api/v2/customer_rooms/#{room_id}/broadcast_history", options)
123
123
 
124
- next_page = body.meta.page < body.meta.total_page ? (body.meta.page + 1) : nil
125
- prev_page = body.meta.page > 1 ? (body.meta.page - 1) : nil
124
+ next_page = (body.meta.page < body.meta.total_page) ? (body.meta.page + 1) : nil
125
+ prev_page = (body.meta.page > 1) ? (body.meta.page - 1) : nil
126
126
 
127
127
  CollectionObject.new(
128
128
  body.data.broadcast_logs,
129
129
  next_page: next_page,
130
130
  prev_page: prev_page,
131
131
  next_func: -> { room_broadcast_history(options.merge(page: next_page)) },
132
- prev_func: -> { room_broadcast_history(options.merge(page: prev_page)) },
132
+ prev_func: -> { room_broadcast_history(options.merge(page: prev_page)) }
133
133
  )
134
134
  end
135
135
 
@@ -206,7 +206,7 @@ module Qismo
206
206
  prev_page: body.meta&.cursor_before,
207
207
  next_page: body.meta&.cursor_after,
208
208
  prev_func: -> { other_agents(options.merge(cursor_before: body.meta&.cursor_before)) },
209
- next_func: -> { other_agents(options.merge(cursor_after: body.meta&.cursor_after)) },
209
+ next_func: -> { other_agents(options.merge(cursor_after: body.meta&.cursor_after)) }
210
210
  )
211
211
  end
212
212
 
@@ -223,7 +223,7 @@ module Qismo
223
223
  prev_page: body.meta&.cursor_before,
224
224
  next_page: body.meta&.cursor_after,
225
225
  prev_func: -> { available_agents(options.merge(cursor_before: body.meta&.cursor_before)) },
226
- next_func: -> { available_agents(options.merge(cursor_after: body.meta&.cursor_after)) },
226
+ next_func: -> { available_agents(options.merge(cursor_after: body.meta&.cursor_after)) }
227
227
  )
228
228
  end
229
229
 
@@ -253,10 +253,11 @@ module Qismo
253
253
  # Set auth webhook
254
254
  #
255
255
  # @param url [String]
256
+ # @param enabled [TrueClass, FalseClass]
256
257
  # @param options [Hash]
257
258
  # @return [Qismo::SingleObject]
258
- def set_auth_webhook(url, options = {})
259
- post("/api/v2/app/config/auth_webhook", options.merge(url: url)).data.configs
259
+ def set_auth_webhook(url, enabled = true, options = {})
260
+ post("/api/v2/app/config/auth_webhook", options.merge(url: url, enabled: enabled)).data.configs
260
261
  end
261
262
 
262
263
  # Get resolve webhook config
@@ -288,15 +289,15 @@ module Qismo
288
289
  body = get("/api/v2/admin/agents", options)
289
290
 
290
291
  total_page = (body.meta.total_count.to_f / body.meta.per_page.to_f).ceil
291
- next_page = options[:page] < total_page ? (options[:page] + 1) : nil
292
- prev_page = options[:page] > 1 ? (options[:page] - 1) : nil
292
+ next_page = (options[:page] < total_page) ? (options[:page] + 1) : nil
293
+ prev_page = (options[:page] > 1) ? (options[:page] - 1) : nil
293
294
 
294
295
  CollectionObject.new(
295
296
  body.data.agents,
296
297
  next_page: next_page,
297
298
  prev_page: prev_page,
298
299
  next_func: -> { agents(options.merge(page: next_page)) },
299
- prev_func: -> { agents(options.merge(page: prev_page)) },
300
+ prev_func: -> { agents(options.merge(page: prev_page)) }
300
301
  )
301
302
  end
302
303
 
@@ -306,7 +307,7 @@ module Qismo
306
307
  # @param ids [Array<Integer>]
307
308
  # @return [Qismo::CollectionObject]
308
309
  def agents_by_ids(ids)
309
- CollectionObject.new(get("/api/v1/admin/agents/get_by_ids", { "ids[]": ids }).data) || CollectionObject.new
310
+ CollectionObject.new(get("/api/v1/admin/agents/get_by_ids", {"ids[]": ids}).data) || CollectionObject.new
310
311
  end
311
312
 
312
313
  # List agents by divisions
@@ -316,17 +317,17 @@ module Qismo
316
317
  # @param options [Hash]
317
318
  # @return [Qismo::CollectionObject]
318
319
  def agents_by_divisions(division_ids, options = {})
319
- body = get("/api/v2/admin/agents/by_division", options.merge({ "division_ids[]": division_ids }))
320
+ body = get("/api/v2/admin/agents/by_division", options.merge({"division_ids[]": division_ids}))
320
321
 
321
- next_page = body.meta.page < body.meta.total_page ? (body.meta.page + 1) : nil
322
- prev_page = body.meta.page > 1 ? (body.meta.page - 1) : nil
322
+ next_page = (body.meta.page < body.meta.total_page) ? (body.meta.page + 1) : nil
323
+ prev_page = (body.meta.page > 1) ? (body.meta.page - 1) : nil
323
324
 
324
325
  CollectionObject.new(
325
326
  body.data,
326
327
  next_page: next_page,
327
328
  prev_page: prev_page,
328
329
  next_func: -> { agents_by_divisions(options.merge(page: next_page)) },
329
- prev_func: -> { agents_by_divisions(options.merge(page: prev_page)) },
330
+ prev_func: -> { agents_by_divisions(options.merge(page: prev_page)) }
330
331
  )
331
332
  end
332
333
 
@@ -360,15 +361,15 @@ module Qismo
360
361
  body = get("/api/v3/admin/hsm", options)
361
362
 
362
363
  meta = body.meta
363
- next_page = meta.page < meta.total_page ? (meta.page + 1) : nil
364
- prev_page = meta.page > 1 ? (meta.page - 1) : nil
364
+ next_page = (meta.page < meta.total_page) ? (meta.page + 1) : nil
365
+ prev_page = (meta.page > 1) ? (meta.page - 1) : nil
365
366
 
366
367
  CollectionObject.new(
367
368
  body.data.hsm_templates,
368
369
  next_page: next_page,
369
370
  prev_page: prev_page,
370
371
  next_func: -> { wa_broadcast_templates(options.merge(page: next_page)) },
371
- prev_func: -> { wa_broadcast_templates(options.merge(page: prev_page)) },
372
+ prev_func: -> { wa_broadcast_templates(options.merge(page: prev_page)) }
372
373
  )
373
374
  end
374
375
 
@@ -415,15 +416,15 @@ module Qismo
415
416
  def wa_broadcast_jobs(options = {})
416
417
  body = get("/api/v2/admin/broadcast_jobs", options)
417
418
 
418
- prev_page = body.meta.page > 1 ? (body.meta.meta - 1) : nil
419
- next_page = body.meta.page < body.meta.total_page ? (body.meta.page + 1) : nil
419
+ prev_page = (body.meta.page > 1) ? (body.meta.meta - 1) : nil
420
+ next_page = (body.meta.page < body.meta.total_page) ? (body.meta.page + 1) : nil
420
421
 
421
422
  CollectionObject.new(
422
423
  body.data.broadcast_jobs,
423
424
  next_page: next_page,
424
425
  prev_page: prev_page,
425
426
  next_func: -> { wa_broadcast_jobs(options.merge(page: next_page)) },
426
- prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) },
427
+ prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) }
427
428
  )
428
429
  end
429
430
 
@@ -445,15 +446,15 @@ module Qismo
445
446
  def wa_broadcast_logs(broadcast_job_id, options = {})
446
447
  body = get("/api/v2/admin/broadcast_logs/#{broadcast_job_id}", options)
447
448
 
448
- prev_page = body.meta.page > 1 ? (body.meta.meta - 1) : nil
449
- next_page = body.meta.page < body.meta.total_page ? (body.meta.page + 1) : nil
449
+ prev_page = (body.meta.page > 1) ? (body.meta.meta - 1) : nil
450
+ next_page = (body.meta.page < body.meta.total_page) ? (body.meta.page + 1) : nil
450
451
 
451
452
  CollectionObject.new(
452
453
  body.data.broadcast_logs,
453
454
  next_page: next_page,
454
455
  prev_page: prev_page,
455
456
  next_func: -> { wa_broadcast_logs(options.merge(page: next_page)) },
456
- prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) },
457
+ prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) }
457
458
  )
458
459
  end
459
460
 
@@ -555,7 +556,7 @@ module Qismo
555
556
  options = options.merge(
556
557
  identifier_key: identifier_key,
557
558
  name: name,
558
- webhook_url: webhook_url,
559
+ webhook_url: webhook_url
559
560
  )
560
561
 
561
562
  options[:is_active] = true unless options[:is_active].nil?
data/lib/qismo/client.rb CHANGED
@@ -21,7 +21,7 @@ module Qismo
21
21
  logger: nil,
22
22
  instrumentation: nil,
23
23
  timeout: nil,
24
- proxy: nil,
24
+ proxy: nil
25
25
  }
26
26
 
27
27
  attr_accessor(*DEFAULT_OPTIONS.keys)
@@ -83,7 +83,7 @@ module Qismo
83
83
  res = connection.request(method, @url + path, {
84
84
  headers: headers,
85
85
  params: params,
86
- json: json,
86
+ json: json
87
87
  })
88
88
 
89
89
  if res.status.success?
@@ -106,7 +106,7 @@ module Qismo
106
106
  402 => PaymentRequiredError,
107
107
  403 => ForbiddenError,
108
108
  404 => NotFoundError,
109
- 429 => TooManyRequestError,
109
+ 429 => TooManyRequestError
110
110
  }
111
111
 
112
112
  error_klass = error_klass_map[res.code] || HTTPRequestError
@@ -143,7 +143,7 @@ module Qismo
143
143
  http.headers({
144
144
  "Qiscus-App-Id": @app_id,
145
145
  "Qiscus-Secret-Key": @secret_key,
146
- "User-Agent": user_agent.to_json,
146
+ "User-Agent": user_agent.to_json
147
147
  })
148
148
  end
149
149
 
@@ -156,7 +156,7 @@ module Qismo
156
156
  lang: "ruby",
157
157
  lang_version: RUBY_VERSION,
158
158
  platform: RUBY_PLATFORM,
159
- engine: defined?(RUBY_ENGINE) ? RUBY_ENGINE : "",
159
+ engine: defined?(RUBY_ENGINE) ? RUBY_ENGINE : ""
160
160
  }
161
161
  end
162
162
  end
data/lib/qismo/error.rb CHANGED
@@ -10,9 +10,6 @@ module Qismo
10
10
  # Http timeout error
11
11
  #
12
12
  class HTTPTimeoutError < Error
13
- def initialize(message)
14
- super(message)
15
- end
16
13
  end
17
14
 
18
15
  # Http request error
data/lib/qismo/model.rb CHANGED
@@ -62,7 +62,7 @@ module Qismo
62
62
  # @param next_page [String, Integer]
63
63
  # @param prev_func [Proc, NilClass]
64
64
  # @param next_func [Proc, NilClass]
65
- def initialize(data = [], prev_page: nil, next_page: nil, prev_func: -> { nil }, next_func: -> { nil })
65
+ def initialize(data = [], prev_page: nil, next_page: nil, prev_func: -> {}, next_func: -> {})
66
66
  super(data)
67
67
 
68
68
  @prev_page = prev_page
data/lib/qismo/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Qismo
4
4
  # @return [String]
5
- VERSION = "0.11.2"
5
+ VERSION = "0.12.0"
6
6
  end
data/lib/qismo.rb CHANGED
@@ -20,21 +20,13 @@ module Qismo
20
20
  client
21
21
  end
22
22
 
23
- # Initiate Qismo ruby client
24
- #
25
- # @param options [Hash]
26
- # @return [Qismo::Client]
27
- def new(options = {})
28
- @client = Client.new(options)
29
- end
23
+ private
30
24
 
31
25
  # @return [Qismo::Client]
32
26
  def client
33
27
  @client ||= Client.new
34
28
  end
35
29
 
36
- private
37
-
38
30
  def method_missing(method, *args, &block)
39
31
  return super unless client.respond_to?(method)
40
32
 
data/qismo.gemspec ADDED
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(::File.join(::File.dirname(__FILE__), "lib"))
4
+
5
+ require_relative "lib/qismo/version"
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "qismo"
9
+ spec.version = Qismo::VERSION
10
+ spec.required_ruby_version = ">= 2.6.0"
11
+ spec.author = "Qiscus Integration"
12
+ spec.email = ["developer@qiscus.net"]
13
+ spec.description = "Ruby wrapper for Qiscus Omnichannel public API"
14
+ spec.summary = spec.description
15
+ spec.homepage = "https://bitbucket.org/qiscus/qismo-rb"
16
+ spec.license = "MIT"
17
+
18
+ spec.metadata = {
19
+ "source_code_uri" => "https://bitbucket.org/qiscus/qismo-rb",
20
+ "documentation_uri" => "https://www.rubydoc.info/gems/qismo",
21
+ "homepage_uri" => spec.homepage
22
+ }
23
+
24
+ ignored = Regexp.union(
25
+ /\A\.editorconfig/,
26
+ /\A\.byebug_history/,
27
+ /\A\.solargraph/,
28
+ /\A\.ruby-version/,
29
+ /\A\.rspec/,
30
+ /\A\.git/,
31
+ /\A\.rubocop/,
32
+ /\A\.travis.yml/,
33
+ /\A\.vscode/,
34
+ /\Atest/,
35
+ /\Aspec/,
36
+ /\Aexamples/,
37
+ /\Abin/,
38
+ /\Afeatures/
39
+ )
40
+
41
+ spec.files = `git ls-files`.split("\n").reject { |f| ignored.match(f) }
42
+ spec.require_paths = ["lib"]
43
+
44
+ spec.add_runtime_dependency("activesupport")
45
+ spec.add_runtime_dependency("http")
46
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qismo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.2
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Qiscus Integration
@@ -38,76 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: byebug
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: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop-shopify
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: ruby-lsp
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
41
  description: Ruby wrapper for Qiscus Omnichannel public API
112
42
  email:
113
43
  - developer@qiscus.net
@@ -115,11 +45,7 @@ executables: []
115
45
  extensions: []
116
46
  extra_rdoc_files: []
117
47
  files:
118
- - ".rspec"
119
- - ".rubocop.yml"
120
- - ".ruby-version"
121
48
  - Gemfile
122
- - Gemfile.lock
123
49
  - README.md
124
50
  - Rakefile
125
51
  - lib/qismo.rb
@@ -129,14 +55,14 @@ files:
129
55
  - lib/qismo/model.rb
130
56
  - lib/qismo/util.rb
131
57
  - lib/qismo/version.rb
58
+ - qismo.gemspec
132
59
  homepage: https://bitbucket.org/qiscus/qismo-rb
133
60
  licenses:
134
61
  - MIT
135
62
  metadata:
136
- allowed_push_host: https://rubygems.org
137
63
  source_code_uri: https://bitbucket.org/qiscus/qismo-rb
138
- homepage_uri: https://bitbucket.org/qiscus/qismo-rb
139
64
  documentation_uri: https://www.rubydoc.info/gems/qismo
65
+ homepage_uri: https://bitbucket.org/qiscus/qismo-rb
140
66
  post_install_message:
141
67
  rdoc_options: []
142
68
  require_paths:
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,8 +0,0 @@
1
- inherit_gem:
2
- rubocop-shopify: rubocop.yml
3
-
4
- AllCops:
5
- TargetRubyVersion: 2.6
6
- Exclude:
7
- - "bin/**/*"
8
- - "examples/*"
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.7.5
data/Gemfile.lock DELETED
@@ -1,107 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- qismo (0.11.2)
5
- activesupport
6
- http
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activesupport (7.0.4)
12
- concurrent-ruby (~> 1.0, >= 1.0.2)
13
- i18n (>= 1.6, < 2)
14
- minitest (>= 5.1)
15
- tzinfo (~> 2.0)
16
- addressable (2.8.1)
17
- public_suffix (>= 2.0.2, < 6.0)
18
- ast (2.4.2)
19
- byebug (11.1.3)
20
- concurrent-ruby (1.1.10)
21
- diff-lcs (1.5.0)
22
- domain_name (0.5.20190701)
23
- unf (>= 0.0.5, < 1.0.0)
24
- ffi (1.15.5)
25
- ffi-compiler (1.0.1)
26
- ffi (>= 1.0.0)
27
- rake
28
- http (5.1.0)
29
- addressable (~> 2.8)
30
- http-cookie (~> 1.0)
31
- http-form_data (~> 2.2)
32
- llhttp-ffi (~> 0.4.0)
33
- http-cookie (1.0.5)
34
- domain_name (~> 0.5)
35
- http-form_data (2.3.0)
36
- i18n (1.12.0)
37
- concurrent-ruby (~> 1.0)
38
- json (2.6.2)
39
- language_server-protocol (3.17.0.1)
40
- llhttp-ffi (0.4.0)
41
- ffi-compiler (~> 1.0)
42
- rake (~> 13.0)
43
- minitest (5.16.3)
44
- parallel (1.22.1)
45
- parser (3.1.2.1)
46
- ast (~> 2.4.1)
47
- prettier_print (1.1.0)
48
- public_suffix (5.0.1)
49
- rainbow (3.1.1)
50
- rake (13.0.6)
51
- regexp_parser (2.6.0)
52
- rexml (3.2.5)
53
- rspec (3.11.0)
54
- rspec-core (~> 3.11.0)
55
- rspec-expectations (~> 3.11.0)
56
- rspec-mocks (~> 3.11.0)
57
- rspec-core (3.11.0)
58
- rspec-support (~> 3.11.0)
59
- rspec-expectations (3.11.0)
60
- diff-lcs (>= 1.2.0, < 2.0)
61
- rspec-support (~> 3.11.0)
62
- rspec-mocks (3.11.1)
63
- diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.11.0)
65
- rspec-support (3.11.0)
66
- rubocop (1.36.0)
67
- json (~> 2.3)
68
- parallel (~> 1.10)
69
- parser (>= 3.1.2.1)
70
- rainbow (>= 2.2.2, < 4.0)
71
- regexp_parser (>= 1.8, < 3.0)
72
- rexml (>= 3.2.5, < 4.0)
73
- rubocop-ast (>= 1.20.1, < 2.0)
74
- ruby-progressbar (~> 1.7)
75
- unicode-display_width (>= 1.4.0, < 3.0)
76
- rubocop-ast (1.21.0)
77
- parser (>= 3.1.1.0)
78
- rubocop-shopify (2.10.1)
79
- rubocop (~> 1.35)
80
- ruby-lsp (0.3.6)
81
- language_server-protocol (~> 3.17.0)
82
- sorbet-runtime
83
- syntax_tree (>= 4.0.2, < 5.0.0)
84
- ruby-progressbar (1.11.0)
85
- sorbet-runtime (0.5.10564)
86
- syntax_tree (4.3.0)
87
- prettier_print (>= 1.0.2)
88
- tzinfo (2.0.5)
89
- concurrent-ruby (~> 1.0)
90
- unf (0.1.4)
91
- unf_ext
92
- unf_ext (0.0.8.2)
93
- unicode-display_width (2.3.0)
94
-
95
- PLATFORMS
96
- x86_64-linux
97
-
98
- DEPENDENCIES
99
- byebug
100
- qismo!
101
- rake
102
- rspec (~> 3.0)
103
- rubocop-shopify
104
- ruby-lsp
105
-
106
- BUNDLED WITH
107
- 2.3.12