qismo 0.11.3 → 0.12.1

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
2
  SHA256:
3
- metadata.gz: c44bc17e88bfb4ef598a081ce7f34d7cbfbdfcfd0aaaf10cc8c0a9b1578214e0
4
- data.tar.gz: fd64a064ac0445c67849176ea4f25b1816752c23b3bbb46f99bfc270ba93dee9
3
+ metadata.gz: cb55e3c23efa55080a8c65449b619f5d1016d9f3ef72b0692413654687e98e38
4
+ data.tar.gz: 610b16a6507bd54a017602146ce5866111e0bb89a0c36f491ec1898057ffb51d
5
5
  SHA512:
6
- metadata.gz: 0ef2a041c385d0923b33ec54cd76dbb9f36e2fd68c8d643cadc1532736a3c9576c31393ac69e9e67c101d431ddeac6dd180939af6d6eea47cc0458f1efd9552b
7
- data.tar.gz: dcc8360d7eba0be58033dbe181df4b11fb525bb16099d5b32310f63150acf447a1ff456fd343def01aef578b2d38286f301da0fb521fa42553d3e062617c0b6b
6
+ metadata.gz: 522f77e9e507001a0e6f07834c0e048c88716a93f810a8cdff7dafb38bb31d8faa50d4d2165878468fdbe3ab13bbc7916a63509293e798da99bd4c73582115ae
7
+ data.tar.gz: 76e9cead4064ad7f28c3b04144976356c1f46d62f11ec71029820d1043c9e728f71980c389e52be4d215cdd36916652de43544bc56f23ca62ce6362d36866e48
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
 
@@ -289,15 +289,15 @@ module Qismo
289
289
  body = get("/api/v2/admin/agents", options)
290
290
 
291
291
  total_page = (body.meta.total_count.to_f / body.meta.per_page.to_f).ceil
292
- next_page = options[:page] < total_page ? (options[:page] + 1) : nil
293
- 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
294
294
 
295
295
  CollectionObject.new(
296
296
  body.data.agents,
297
297
  next_page: next_page,
298
298
  prev_page: prev_page,
299
299
  next_func: -> { agents(options.merge(page: next_page)) },
300
- prev_func: -> { agents(options.merge(page: prev_page)) },
300
+ prev_func: -> { agents(options.merge(page: prev_page)) }
301
301
  )
302
302
  end
303
303
 
@@ -307,7 +307,7 @@ module Qismo
307
307
  # @param ids [Array<Integer>]
308
308
  # @return [Qismo::CollectionObject]
309
309
  def agents_by_ids(ids)
310
- 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
311
311
  end
312
312
 
313
313
  # List agents by divisions
@@ -317,17 +317,17 @@ module Qismo
317
317
  # @param options [Hash]
318
318
  # @return [Qismo::CollectionObject]
319
319
  def agents_by_divisions(division_ids, options = {})
320
- 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}))
321
321
 
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
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
324
324
 
325
325
  CollectionObject.new(
326
326
  body.data,
327
327
  next_page: next_page,
328
328
  prev_page: prev_page,
329
329
  next_func: -> { agents_by_divisions(options.merge(page: next_page)) },
330
- prev_func: -> { agents_by_divisions(options.merge(page: prev_page)) },
330
+ prev_func: -> { agents_by_divisions(options.merge(page: prev_page)) }
331
331
  )
332
332
  end
333
333
 
@@ -361,15 +361,15 @@ module Qismo
361
361
  body = get("/api/v3/admin/hsm", options)
362
362
 
363
363
  meta = body.meta
364
- next_page = meta.page < meta.total_page ? (meta.page + 1) : nil
365
- 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
366
366
 
367
367
  CollectionObject.new(
368
368
  body.data.hsm_templates,
369
369
  next_page: next_page,
370
370
  prev_page: prev_page,
371
371
  next_func: -> { wa_broadcast_templates(options.merge(page: next_page)) },
372
- prev_func: -> { wa_broadcast_templates(options.merge(page: prev_page)) },
372
+ prev_func: -> { wa_broadcast_templates(options.merge(page: prev_page)) }
373
373
  )
374
374
  end
375
375
 
@@ -416,15 +416,15 @@ module Qismo
416
416
  def wa_broadcast_jobs(options = {})
417
417
  body = get("/api/v2/admin/broadcast_jobs", options)
418
418
 
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
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
421
421
 
422
422
  CollectionObject.new(
423
423
  body.data.broadcast_jobs,
424
424
  next_page: next_page,
425
425
  prev_page: prev_page,
426
426
  next_func: -> { wa_broadcast_jobs(options.merge(page: next_page)) },
427
- prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) },
427
+ prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) }
428
428
  )
429
429
  end
430
430
 
@@ -446,15 +446,15 @@ module Qismo
446
446
  def wa_broadcast_logs(broadcast_job_id, options = {})
447
447
  body = get("/api/v2/admin/broadcast_logs/#{broadcast_job_id}", options)
448
448
 
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
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
451
451
 
452
452
  CollectionObject.new(
453
453
  body.data.broadcast_logs,
454
454
  next_page: next_page,
455
455
  prev_page: prev_page,
456
456
  next_func: -> { wa_broadcast_logs(options.merge(page: next_page)) },
457
- prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) },
457
+ prev_func: -> { wa_broadcast_jobs(options.merge(page: prev_page)) }
458
458
  )
459
459
  end
460
460
 
@@ -556,7 +556,7 @@ module Qismo
556
556
  options = options.merge(
557
557
  identifier_key: identifier_key,
558
558
  name: name,
559
- webhook_url: webhook_url,
559
+ webhook_url: webhook_url
560
560
  )
561
561
 
562
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.3"
5
+ VERSION = "0.12.1"
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.3
4
+ version: 0.12.1
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.3)
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