mini_readline 0.4.5 → 0.4.6

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
  SHA1:
3
- metadata.gz: 036a267e5f913c165c795d8eb4d01b7eff0a88f9
4
- data.tar.gz: b640e8b80bbde9bdfd152d6f2be76ec8745b137a
3
+ metadata.gz: 72da0352d9a3adb0946c9902542b9f79f8c01260
4
+ data.tar.gz: 4025883e28e90d1258818b51c9f30c7c3dc680e6
5
5
  SHA512:
6
- metadata.gz: b940dda8bd5c0f5c24c2790da4826d88da238504d534446d25f27273b851f25e9999e0288279999cd0c2aeacc4a8114dbbc7863de8ce90413d2f624c4f65dc81
7
- data.tar.gz: a0b925c9bb7b1ae802c9de0a8bdd8b2d2f7df4ce4ebe4348f5cdb8ed56261565e64cd991e3fa4707adc988e4e43cae274f0aa2fa55e00900c93c67c8d0c79f09
6
+ metadata.gz: 17cf75c0a4f72b861b37343b183b2bfa48d61b8db58bf62f35ea4b9335e476f8390e64fb23397ed60df7139364a0d3cc5f795aeeb4579f56d4a701c14bb36002
7
+ data.tar.gz: e50bd96abeb77a6ecb9baf4784f6482f00fb3c7030d542fa9daae1126c6650529476b03de3612d2ec68811e72c2eccff51ba7ddd562b5d82b0863cea9540c4f4
data/README.md CHANGED
@@ -63,13 +63,6 @@ The typical way of utilizing this gem is to place the following:
63
63
  ```ruby
64
64
  require 'mini_readline'
65
65
  ```
66
- By default, the constant Readline is set to the MiniReadline module. If this
67
- is not desired use the following:
68
-
69
- ```ruby
70
- $no_alias_read_line_module = true
71
- require 'mini_readline'
72
- ```
73
66
 
74
67
  ### Compatible Mode
75
68
 
@@ -96,6 +89,36 @@ and
96
89
  MiniReadline.readline('>', false)
97
90
  ```
98
91
 
92
+ ##### Module Aliasing
93
+
94
+ For enhanced compatibility, the mini_readline gem has the ability to alias
95
+ itself as the readline gem. This ability is subject to the following list
96
+ of conditions.
97
+
98
+ 1) If the global variable $no_alias_read_line_module is set to true before the
99
+ mini_readline gem is required, *no* aliasing will take place.
100
+ ```ruby
101
+ $no_alias_read_line_module = true
102
+ require 'mini_readline'
103
+ ```
104
+ 2) Else, if the global variable $force_alias_read_line_module is set to true
105
+ before the mini_readline gem is required, aliasing *will* take place.
106
+ ```ruby
107
+ $force_alias_read_line_module = true
108
+ require 'mini_readline'
109
+ ```
110
+ 3) Else, if the readline gem is already loaded, *no* aliasing will take place.
111
+ ```ruby
112
+ require 'readline'
113
+ require 'mini_readline'
114
+ ```
115
+ 4) Finally, if none of the above conditions are met, aliasing *will* take place.
116
+ ```ruby
117
+ require 'mini_readline'
118
+ ```
119
+ Note that if the readline gem is subsequently required after the mini_readline
120
+ gem, it will redefine the Readline constant, generating a warning message on
121
+ $stderr.
99
122
 
100
123
  ### Native Mode
101
124
 
@@ -27,8 +27,28 @@ module MiniReadline
27
27
  def self.readline(prompt, history = nil)
28
28
  @reader.readline(prompt: prompt, history: history)
29
29
  end
30
+
31
+ #A stub.
32
+ def self.input=(input)
33
+ input
34
+ end
35
+
36
+ #A stub.
37
+ def self.output=(output)
38
+ output
39
+ end
40
+
30
41
  end
31
42
 
32
- unless defined?($no_alias_read_line_module) && $no_alias_read_line_module
33
- Readline = MiniReadline
43
+ #Optionally: Setup the module alias for Readline
44
+ begin
45
+ old_stderr = $stderr
46
+ $stderr = File.open(File::NULL, 'w')
47
+
48
+ if !$no_alias_read_line_module&&($force_alias_read_line_module||!defined? Readline)
49
+ Readline = MiniReadline
50
+ end
51
+ ensure
52
+ $stderr.close
53
+ $stderr = old_stderr
34
54
  end
@@ -1,4 +1,4 @@
1
1
  module MiniReadline
2
2
  #The current version of the mini_readline gem.
3
- VERSION = "0.4.5"
3
+ VERSION = "0.4.6"
4
4
  end
@@ -28,6 +28,17 @@ Rake::TestTask.new do |t|
28
28
  t.verbose = false
29
29
  end
30
30
 
31
+ desc "Fire up an IRB session with mini_readline."
32
+ task :console do
33
+ require 'irb'
34
+ require 'irb/completion'
35
+ $force_alias_read_line_module = true
36
+ require './lib/mini_readline'
37
+ puts "Starting an IRB console with mini_readline."
38
+ ARGV.clear
39
+ IRB.start
40
+ end
41
+
31
42
  desc "Run a scan for smelly code!"
32
43
  task :reek do |t|
33
44
  `reek --no-color lib > reek.txt`
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_readline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Camilleri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-24 00:00:00.000000000 Z
11
+ date: 2016-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -79,7 +79,6 @@ files:
79
79
  - Gemfile
80
80
  - LICENSE.txt
81
81
  - README.md
82
- - Rakefile
83
82
  - lib/mini_readline.rb
84
83
  - lib/mini_readline/exceptions.rb
85
84
  - lib/mini_readline/options.rb
@@ -125,6 +124,7 @@ files:
125
124
  - lib/mini_readline/version.rb
126
125
  - mini_readline.gemspec
127
126
  - mini_readline.reek
127
+ - rakefile.rb
128
128
  - reek.txt
129
129
  - sire.rb
130
130
  - tests/mini_readline_tests.rb