arql 0.3.1 → 0.3.5

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: 7814d23bef8d728235b779a5d8ddcd76565d7240fd37b7d6d9b62e37ed851d2f
4
- data.tar.gz: cd9f77c2a41055bd20c18ec38ae3f461b580c3bfb983b4f73bf23df9fc027408
3
+ metadata.gz: 754f0123178d350470df65a3b627f3ae3890a3de7668d8422429d661e1d271cf
4
+ data.tar.gz: 5d8241b6d7ba7fca92cd3a645138276fc2c3b0c8fb7658ba514f16794f63e26a
5
5
  SHA512:
6
- metadata.gz: ef4eb1f78e9419f02155a0f27d6903adcd553ed071eec9f589a86dd69b0d2ca0a8a858865d23d85ec50284ec7dfa7eac0b2290ba9162dbe56f732545e3d81179
7
- data.tar.gz: 69ed39eca6d84f869190b7ee8e49aa5080dcfe13c0a46341a5552a01e41bdf03a8d31099257639fa28ce2dd6d81088d060fec402c79a7c1e6f442b94eda38249
6
+ metadata.gz: 85e3b47d182b593b9a34055141192073844d257d96fbd2319e83eb3b0444c3f747fcc460819a1f8d7b51110487f00afa27c61f8ef280d49724390123c8d759f1
7
+ data.tar.gz: a5c8898c8384a7ed8685fe0ce758f797cbb530c627e116ad58610b854496d388063dfb0278a5c53586bd17a38740925d39ff9cc9942bda200436da597abaf644
data/.solargraph.yml ADDED
@@ -0,0 +1,10 @@
1
+ require:
2
+ - actioncable
3
+ - actionmailer
4
+ - actionpack
5
+ - actionview
6
+ - activejob
7
+ - activemodel
8
+ - activerecord
9
+ - activestorage
10
+ - activesupport
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- arql (0.3.1)
4
+ arql (0.3.5)
5
5
  activerecord (>= 6.0.3, < 6.2.0)
6
6
  activesupport (~> 6.0.3)
7
7
  caxlsx (~> 3.0.2)
@@ -10,7 +10,7 @@ PATH
10
10
  net-ssh-gateway (~> 2.0.0)
11
11
  pry (~> 0.13.1)
12
12
  pry-byebug (~> 3.9.0)
13
- pry-doc (~> 1.2.0)
13
+ pry-doc (>= 1.0.0)
14
14
  rainbow (~> 3.0.0)
15
15
  roo (~> 2.8.3)
16
16
  sqlite3 (~> 1.4)
@@ -20,12 +20,12 @@ PATH
20
20
  GEM
21
21
  remote: https://rubygems.org/
22
22
  specs:
23
- activemodel (6.0.4.1)
24
- activesupport (= 6.0.4.1)
25
- activerecord (6.0.4.1)
26
- activemodel (= 6.0.4.1)
27
- activesupport (= 6.0.4.1)
28
- activesupport (6.0.4.1)
23
+ activemodel (6.0.4.4)
24
+ activesupport (= 6.0.4.4)
25
+ activerecord (6.0.4.4)
26
+ activemodel (= 6.0.4.4)
27
+ activesupport (= 6.0.4.4)
28
+ activesupport (6.0.4.4)
29
29
  concurrent-ruby (~> 1.0, >= 1.0.2)
30
30
  i18n (>= 0.7, < 2)
31
31
  minitest (~> 5.1)
@@ -40,22 +40,20 @@ GEM
40
40
  coderay (1.1.3)
41
41
  composite_primary_keys (12.0.10)
42
42
  activerecord (~> 6.0.0)
43
- concurrent-ruby (1.1.9)
43
+ concurrent-ruby (1.1.10)
44
44
  htmlentities (4.3.4)
45
- i18n (1.8.10)
45
+ i18n (1.8.11)
46
46
  concurrent-ruby (~> 1.0)
47
47
  method_source (1.0.0)
48
48
  mimemagic (0.4.3)
49
49
  nokogiri (~> 1)
50
50
  rake
51
- mini_portile2 (2.6.1)
52
- minitest (5.14.4)
51
+ minitest (5.15.0)
53
52
  mysql2 (0.5.3)
54
53
  net-ssh (6.1.0)
55
54
  net-ssh-gateway (2.0.0)
56
55
  net-ssh (>= 4.0.0)
57
- nokogiri (1.12.5)
58
- mini_portile2 (~> 2.6.1)
56
+ nokogiri (1.13.0-x86_64-darwin)
59
57
  racc (~> 1.4)
60
58
  pry (0.13.1)
61
59
  coderay (~> 1.1)
@@ -63,7 +61,7 @@ GEM
63
61
  pry-byebug (3.9.0)
64
62
  byebug (~> 11.0)
65
63
  pry (~> 0.13.0)
66
- pry-doc (1.2.0)
64
+ pry-doc (1.3.0)
67
65
  pry (~> 0.11)
68
66
  yard (~> 0.9.11)
69
67
  racc (1.6.0)
@@ -81,8 +79,10 @@ GEM
81
79
  tzinfo (1.2.9)
82
80
  thread_safe (~> 0.1)
83
81
  unicode-display_width (1.8.0)
84
- yard (0.9.26)
85
- zeitwerk (2.5.1)
82
+ webrick (1.7.0)
83
+ yard (0.9.27)
84
+ webrick (~> 1.7.0)
85
+ zeitwerk (2.5.3)
86
86
 
87
87
  PLATFORMS
88
88
  ruby
data/arql.gemspec CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_dependency 'net-ssh-gateway', '~> 2.0.0'
35
35
  spec.add_dependency 'pry', '~> 0.13.1'
36
36
  spec.add_dependency 'pry-byebug', '~> 3.9.0'
37
- spec.add_dependency 'pry-doc', '~> 1.2.0'
37
+ spec.add_dependency 'pry-doc', '>= 1.0.0'
38
38
  spec.add_dependency 'rainbow', '~> 3.0.0'
39
39
  spec.add_dependency 'terminal-table', '~> 1.8.0'
40
40
  spec.add_dependency 'table_print', '~> 1.5.6'
data/lib/arql/app.rb CHANGED
@@ -68,6 +68,8 @@ module Arql
68
68
  end
69
69
 
70
70
  def config
71
+ @config ||= YAML.load(IO.read(File.expand_path(@options.config_file)), aliases: true).with_indifferent_access
72
+ rescue ArgumentError
71
73
  @config ||= YAML.load(IO.read(File.expand_path(@options.config_file))).with_indifferent_access
72
74
  end
73
75
 
@@ -0,0 +1,33 @@
1
+ module Arql::Commands
2
+ module Sandbox
3
+ class << self
4
+ attr_accessor :enabled
5
+
6
+ @sandbox_callback = proc do
7
+ begin_transaction(joinable: false)
8
+ end
9
+
10
+ def enter
11
+ ActiveRecord::ConnectionAdapters::AbstractAdapter.set_callback(:checkout, :after, &@sandbox_callback)
12
+ ActiveRecord::Base.connection.begin_transaction(joinable: false)
13
+ @enabled = true
14
+ end
15
+
16
+ def quit
17
+ ActiveRecord::ConnectionAdapters::AbstractAdapter.skip_callback(:checkout, :after, &@sandbox_callback)
18
+ @enabled = false
19
+
20
+ puts "begin_transaction callbacks removed."
21
+ puts "You still have open %d transactions open, don't forget commit or rollback them." % ActiveRecord::Base.connection.open_transactions if ActiveRecord::Base.connection.open_transactions > 0
22
+ end
23
+ end
24
+
25
+ Pry.commands.block_command 'sandbox-enter' do
26
+ Sandbox.enter
27
+ end
28
+
29
+ Pry.commands.block_command 'sandbox-quit' do
30
+ Sandbox.quit
31
+ end
32
+ end
33
+ end
data/lib/arql/commands.rb CHANGED
@@ -4,6 +4,7 @@ require 'arql/commands/table'
4
4
  require 'arql/commands/reconnect'
5
5
  require 'arql/commands/redefine'
6
6
  require 'arql/commands/show_sql'
7
+ require 'arql/commands/sandbox'
7
8
 
8
9
  module Arql::Commands
9
10
  end
data/lib/arql/multi_io.rb CHANGED
@@ -5,7 +5,14 @@ module Arql
5
5
  end
6
6
 
7
7
  def write(*args)
8
- @targets.each {|t| t.write(*args)}
8
+ @targets.each do |t|
9
+ if t.isatty
10
+ t.write(*args)
11
+ else
12
+ t.write(*(args.map { |str| str.gsub(/\e\[(\d+)m/, '')}))
13
+ end
14
+ t.flush
15
+ end
9
16
  end
10
17
 
11
18
  def close
data/lib/arql/repl.rb CHANGED
@@ -35,7 +35,12 @@ module Arql
35
35
  "(#{obj}:#{nest_level})"
36
36
  end
37
37
  end
38
- "%s#{Rainbow('@').green}%s#{nest_level_prompt} [%d] %s " % [Rainbow('ARQL').red, Rainbow(App.prompt).yellow, pry_instance.input_ring.count, Rainbow('❯').green]
38
+ if Arql::Commands::Sandbox.enabled
39
+ sandbox_indicator = ' [%s] ' % Rainbow('sandbox').green.bright
40
+ else
41
+ sandbox_indicator = ''
42
+ end
43
+ "%s#{Rainbow('@').green}%s%s#{nest_level_prompt} [%d] %s " % [Rainbow('ARQL').red, Rainbow(App.prompt).yellow, sandbox_indicator, pry_instance.input_ring.count, Rainbow('❯').green]
39
44
  end]
40
45
  end
41
46
  end
data/lib/arql/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Arql
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liu Xiang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-27 00:00:00.000000000 Z
11
+ date: 2022-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2
@@ -132,16 +132,16 @@ dependencies:
132
132
  name: pry-doc
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ">="
136
136
  - !ruby/object:Gem::Version
137
- version: 1.2.0
137
+ version: 1.0.0
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 1.2.0
144
+ version: 1.0.0
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: rainbow
147
147
  requirement: !ruby/object:Gem::Requirement
@@ -222,6 +222,7 @@ extensions: []
222
222
  extra_rdoc_files: []
223
223
  files:
224
224
  - ".gitignore"
225
+ - ".solargraph.yml"
225
226
  - CODE_OF_CONDUCT.md
226
227
  - Gemfile
227
228
  - Gemfile.lock
@@ -241,6 +242,7 @@ files:
241
242
  - lib/arql/commands/models.rb
242
243
  - lib/arql/commands/reconnect.rb
243
244
  - lib/arql/commands/redefine.rb
245
+ - lib/arql/commands/sandbox.rb
244
246
  - lib/arql/commands/show_sql.rb
245
247
  - lib/arql/commands/table.rb
246
248
  - lib/arql/concerns.rb
@@ -281,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
283
  - !ruby/object:Gem::Version
282
284
  version: '0'
283
285
  requirements: []
284
- rubygems_version: 3.2.3
286
+ rubygems_version: 3.3.3
285
287
  signing_key:
286
288
  specification_version: 4
287
289
  summary: Rails ActiveRecord + Pry is the best SQL query editor