yarr 0.1.0 → 0.1.1

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
- 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