yarr 0.1.0 → 0.1.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
- SHA1:
3
- metadata.gz: a1fbe1057acf20ff93f44d25a3446037e61711a1
4
- data.tar.gz: 94df233db5edc837225655f6b58ddab898481eff
2
+ SHA256:
3
+ metadata.gz: d7c48c4af430d533eacf10f1b3ef57d012dc9b2ff513a0cda945e2c0acb04610
4
+ data.tar.gz: 89297f1e6e36a63383cae5ddd4ad8834f55d1276ba9e969c194e36a7cecefa57
5
5
  SHA512:
6
- metadata.gz: 5bd890d6e70a2156800d72f053197dd14f71c8e8001da4e5adfedae0c702b9ef39585e30792dbd28282389e32e0f73b25807904701e15c11e99be7ebe2ef7956
7
- data.tar.gz: 79e57d3f4dd10f9131ee9e96f394f68d5e894a0e2df5f1eb64c7d57e790c503bbe69e4e5ae37390498a53970a1d78015220f02bf6b6ffe45800e8c4aeb4885e9
6
+ metadata.gz: a0888b274020d9a076424638cdd44963e019e52677f4b8b3ef23667d0c813f0cb5230632374a936e7c8b784d3ae97091f8b3b2f39871141267aa39c1727b19ca
7
+ data.tar.gz: 072acde21da92d3b2b6cee387dca4bea7a73e605bdec7fd7509a39d4e64f9c4090627632e40cedd17f89c7f33f68f3b34607f85eb3634d412f42a795c827055c
data/bin/yarr CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require File.expand_path("../../lib/yarr", __FILE__)
3
+ require File.expand_path("../lib/yarr", __dir__)
4
4
 
5
5
  YARR.new.call
@@ -34,7 +34,7 @@ class Interpreter
34
34
  private
35
35
 
36
36
  def prompt(separator)
37
- "#{bold("ruby")}:#{"%03d" % (Readline::HISTORY.size + 1)}#{bold(separator)} "
37
+ "#{bold('ruby')}:#{format('%03d', (Readline::HISTORY.size + 1))}#{bold(separator)} "
38
38
  end
39
39
 
40
40
  def process(expression)
@@ -47,34 +47,34 @@ class Interpreter
47
47
 
48
48
  def command(expression)
49
49
  command, arguments = expression.split(" ", 2)
50
- self.send(command[1..-1], arguments)
51
- rescue
52
- "#{red("ERROR")} #{command} command is not available"
50
+ send(command[1..-1], arguments)
51
+ rescue StandardError
52
+ "#{red('ERROR')} #{command} command is not available"
53
53
  end
54
54
 
55
- def exit(args)
55
+ def exit(_args)
56
56
  exit!
57
57
  end
58
58
  alias_method :quit, :exit
59
59
 
60
- def help(args)
61
- <<-END.gsub(/^\s+\|/, '')
60
+ def help(_args)
61
+ <<-END.gsub(/^\s+\|/, "")
62
62
  |
63
63
  |Available commands:
64
- | #{bold(":exit")} Exit the shell
65
- | #{bold(":help")} Display this help message
66
- | #{bold(":hist")} Display edit-line history
67
- | #{bold(":quit")} Alias to #{bold(":exit")}
68
- | #{bold(":")}number Execute a specific expression from history
69
- | #{bold(":!")} cmd Execute a shell command à la Vim
64
+ | #{bold(':exit')} Exit the shell
65
+ | #{bold(':help')} Display this help message
66
+ | #{bold(':hist')} Display edit-line history
67
+ | #{bold(':quit')} Alias to #{bold(':exit')}
68
+ | #{bold(':')}number Execute a specific expression from history
69
+ | #{bold(':!')} cmd Execute a shell command à la Vim
70
70
  |
71
71
  END
72
72
  end
73
73
 
74
- def hist(args)
74
+ def hist(_args)
75
75
  "".tap do |history|
76
76
  Readline::HISTORY.to_a.each.with_index(1) do |command, index|
77
- history << " #{bold("%03d" % index)} #{command}\n"
77
+ history << " #{bold('%03d' % index)} #{command}\n"
78
78
  end
79
79
  end
80
80
  end
@@ -83,7 +83,7 @@ class Interpreter
83
83
  `export CLICOLOR=1; export CLICOLOR_FORCE=1; #{args}`
84
84
  end
85
85
 
86
- def method_missing(name, *args)
86
+ def method_missing(name, *_args)
87
87
  index = (name.to_s[1..-1].to_i - 1).tap { |index| raise StandardError if index == -1 }
88
88
  expression = Readline::HISTORY[index]
89
89
  Readline::HISTORY.pop
@@ -92,13 +92,13 @@ class Interpreter
92
92
  end
93
93
 
94
94
  def evaluate(expression)
95
- "#{bold("===>")} #{eval(expression, TOPLEVEL_BINDING)}"
95
+ "#{bold('===>')} #{eval(expression, TOPLEVEL_BINDING)}"
96
96
  rescue Exception => e
97
- "#{red("ERROR")} #{e.message}"
97
+ "#{red('ERROR')} #{e.message}"
98
98
  end
99
99
 
100
100
  def commands
101
- %w(:exit :help :hist :quit :!)
101
+ %w[:exit :help :hist :quit :!]
102
102
  end
103
103
 
104
104
  def capture_stdout(&block)
@@ -23,7 +23,7 @@ class YARR
23
23
 
24
24
  def banner
25
25
  puts bold("YARR | Ruby #{RUBY_VERSION}")
26
- puts "Type '#{bold(":help")}' for help."
26
+ puts "Type '#{bold(':help')}' for help."
27
27
  puts bold("-" * IO.console.winsize.last)
28
28
  end
29
29
  end
@@ -31,7 +31,8 @@ RSpec.describe Interpreter do
31
31
  setup("def foo", "1", "end")
32
32
  setup("foo")
33
33
  given(":hist")
34
- expect(interpreter.call).to eq(<<-END.gsub(/^\s+\||$/, '')
34
+ expect(interpreter.call).to eq(
35
+ <<-END.gsub(/^\s+\||$/, ""),
35
36
  | \e[1m001\e[0m 5
36
37
  | \e[1m002\e[0m def foo
37
38
  | 1
@@ -56,7 +57,8 @@ RSpec.describe Interpreter do
56
57
  setup("var = 0")
57
58
  setup(":001")
58
59
  given(":hist")
59
- expect(interpreter.call).to eq(<<-END.gsub(/^\s+\||$/, '')
60
+ expect(interpreter.call).to eq(
61
+ <<-END.gsub(/^\s+\||$/, ""),
60
62
  | \e[1m001\e[0m var = 5
61
63
  | \e[1m002\e[0m var = 0
62
64
  | \e[1m003\e[0m var = 5
@@ -81,10 +83,11 @@ RSpec.describe Interpreter do
81
83
  context "invalid expression" do
82
84
  it "returns a syntax error" do
83
85
  given("1 + &")
84
- expect(interpreter.call).to eq(<<-END.gsub(/^\s+\||\n$/, '')
86
+ expect(interpreter.call).to eq(
87
+ <<-END.gsub(/^\s+\||\n$/, ""),
85
88
  |\e[1;31mERROR\e[0m <main>: syntax error, unexpected &
86
89
  |1 + &
87
- | ^
90
+ | ^
88
91
  END
89
92
  )
90
93
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yarr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arturo Herrero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2020-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard-rspec
@@ -16,42 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.6'
19
+ version: '4.7'
20
20
  type: :development
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: '4.6'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '11.1'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '11.1'
26
+ version: '4.7'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rspec
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '3.4'
33
+ version: '3.9'
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '3.4'
40
+ version: '3.9'
55
41
  description: YARR. Yet Another Ruby REPL. A Ruby REPL (just a hobby, won't be big
56
42
  and professional like pry)
57
43
  email: arturo.herrero@gmail.com
@@ -80,18 +66,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
66
  requirements:
81
67
  - - ">="
82
68
  - !ruby/object:Gem::Version
83
- version: 2.0.0
69
+ version: 2.5.0
84
70
  required_rubygems_version: !ruby/object:Gem::Requirement
85
71
  requirements:
86
72
  - - ">="
87
73
  - !ruby/object:Gem::Version
88
74
  version: '0'
89
75
  requirements: []
90
- rubyforge_project:
91
- rubygems_version: 2.5.1
76
+ rubygems_version: 3.0.3
92
77
  signing_key:
93
78
  specification_version: 4
94
79
  summary: YARR. Yet Another Ruby REPL
95
80
  test_files:
96
- - spec/lib/interpreter_spec.rb
97
81
  - spec/spec_helper.rb
82
+ - spec/lib/interpreter_spec.rb