spirit_hands 2.0.8-java

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.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data/.gitignore +17 -0
  4. data/.pryrc +1 -0
  5. data/.ruby-gemset +1 -0
  6. data/CHANGELOG.md +147 -0
  7. data/CONTRIBUTING.md +18 -0
  8. data/CONTRIBUTORS.md +10 -0
  9. data/Gemfile +3 -0
  10. data/LICENSE.md +22 -0
  11. data/README.md +138 -0
  12. data/Rakefile +127 -0
  13. data/gem-public_cert.pem +32 -0
  14. data/lib/spirit_hands/hirb/fixes/enabled.rb +36 -0
  15. data/lib/spirit_hands/hirb/fixes/pager.rb +144 -0
  16. data/lib/spirit_hands/hirb/fixes/util.rb +19 -0
  17. data/lib/spirit_hands/hirb/fixes/view.rb +10 -0
  18. data/lib/spirit_hands/hirb/fixes.rb +5 -0
  19. data/lib/spirit_hands/hirb.rb +2 -0
  20. data/lib/spirit_hands/mattr_accessor_with_default.rb +44 -0
  21. data/lib/spirit_hands/melody.rb +24 -0
  22. data/lib/spirit_hands/options/color.rb +10 -0
  23. data/lib/spirit_hands/options/hirb.rb +34 -0
  24. data/lib/spirit_hands/options/less/colorize.rb +41 -0
  25. data/lib/spirit_hands/options/less/show_raw_unicode.rb +36 -0
  26. data/lib/spirit_hands/options/less.rb +2 -0
  27. data/lib/spirit_hands/options.rb +59 -0
  28. data/lib/spirit_hands/print.rb +75 -0
  29. data/lib/spirit_hands/prompt/base/render.rb +231 -0
  30. data/lib/spirit_hands/prompt/base.rb +24 -0
  31. data/lib/spirit_hands/prompt/main.rb +18 -0
  32. data/lib/spirit_hands/prompt/multiline.rb +17 -0
  33. data/lib/spirit_hands/prompt.rb +12 -0
  34. data/lib/spirit_hands/railtie.rb +7 -0
  35. data/lib/spirit_hands/terminal.rb +16 -0
  36. data/lib/spirit_hands/version.rb +3 -0
  37. data/lib/spirit_hands.rb +21 -0
  38. data/spirit_hands.gemspec +42 -0
  39. data.tar.gz.sig +0 -0
  40. metadata +239 -0
  41. metadata.gz.sig +0 -0
@@ -0,0 +1,231 @@
1
+ module SpiritHands
2
+ module Prompt
3
+ # <....>
4
+ # <..../>
5
+ # </....>
6
+ #
7
+ class Render
8
+ # <tag> ... </tag>, tag -> inner part of escape codes
9
+ MATCHED_TAG_CODES = {
10
+ 'b' => 1,
11
+ 'bold' => 1,
12
+ 'bright' => 1,
13
+ 'strong' => 1,
14
+
15
+ 'dark' => 2,
16
+ 'faint' => 2,
17
+
18
+ 'i' => 3,
19
+ 'italic' => 3,
20
+ 'em' => 3,
21
+
22
+ 'u' => 4,
23
+ 'underline' => 4,
24
+
25
+ 'blink' => 5, # evil
26
+ 'flash' => 5,
27
+
28
+ 'rapid-blink' => 6, # sinister
29
+ 'rapid-flash' => 6,
30
+
31
+ 'reverse' => 7,
32
+ 'negative' => 7,
33
+ 'inverse' => 7,
34
+
35
+ 'concealed' => 8,
36
+
37
+ 'strike' => 9,
38
+ 'strikethrough' => 9,
39
+
40
+ 'black' => 30,
41
+ 'red' => 31,
42
+ 'green' => 32,
43
+ 'yellow' => 33,
44
+ 'blue' => 34,
45
+ 'magenta' => 35,
46
+ 'cyan' => 36,
47
+ 'white' => 37,
48
+
49
+ 'bgblack' => 40,
50
+ 'bgred' => 41,
51
+ 'bggreen' => 42,
52
+ 'bgyellow' => 43,
53
+ 'bgblue' => 44,
54
+ 'bgmagenta' => 45,
55
+ 'bgcyan' => 46,
56
+ 'bgwhite' => 47,
57
+ }
58
+
59
+ # <.../>
60
+ SINGLE_TAGS = {
61
+ # <cmd/>: command number
62
+ 'cmd' => ->(state) { state.pry.input_array.size },
63
+
64
+ # <tgt/>: target string
65
+ 'tgt' => ->(state) {
66
+ unless (str = Pry.view_clip(state.object)) == 'main'
67
+ state.level = 0 if state.level < 0
68
+ "(#{'../' * state.level}#{str})"
69
+ else
70
+ ''
71
+ end
72
+ },
73
+
74
+ # <app/>: state.app (Object) converted to String
75
+ 'app' => ->(state) {
76
+ app = state.app
77
+ if app.class.respond_to?(:parent_name) && \
78
+ app.class.parent_name.respond_to?(:underscore)
79
+ app.class.parent_name.underscore
80
+ elsif app
81
+ app.to_s
82
+ else
83
+ ::SpiritHands.app
84
+ end
85
+ },
86
+
87
+ # <sep/>: SpiritHands.prompt_separator
88
+ 'sep' => ->(_state) {
89
+ ::SpiritHands.prompt_separator
90
+ }
91
+ }
92
+
93
+ # Array<String>
94
+ attr_reader :errors
95
+
96
+ def errors?
97
+ errors.any?
98
+ end
99
+
100
+ # :state SpiritHands::Prompt::State
101
+ # :prompt String
102
+ # :color true or false/nil
103
+ def initialize(state, prompt, color)
104
+ @state = state
105
+ @prompt = prompt
106
+ @color = color
107
+ end
108
+
109
+ def to_s
110
+ @errors = []
111
+ @tag_stack = []
112
+ @result = ''
113
+ @color_applied = false
114
+ @in_tag = false
115
+
116
+ @prompt.each_char do |c|
117
+ if @in_tag
118
+ tag_char(c)
119
+ else
120
+ nontag_char(c)
121
+ end
122
+ end
123
+
124
+ # @tag_stack.any? --> error/s
125
+ @tag_stack.each { |t| errors << "<#{t}>: Missing </#{t}>" }
126
+
127
+ (errors?) ? '' : @result
128
+ end
129
+
130
+ private
131
+
132
+ def tag_char(c)
133
+ case c
134
+ when '/'
135
+ # close: </
136
+ # single <.+/
137
+ @tag_type = (@tag.nil? || @tag.empty?) ? :close : :single
138
+ when '>' # close tag
139
+ @tag.downcase!
140
+ send @tag_type # :start, :close or :single
141
+ @in_tag = false
142
+ else # append to existing tag
143
+ @tag += c
144
+ end
145
+ end
146
+
147
+ def nontag_char(c)
148
+ if @escape
149
+ nontag_escaped_char(c)
150
+ else
151
+ nontag_unescaped_char(c)
152
+ end
153
+ end
154
+
155
+ def nontag_escaped_char(c)
156
+ @escape = false
157
+ @result += (@state.multiline) ? ' ' : c
158
+ end
159
+
160
+ def nontag_unescaped_char(c)
161
+ case c
162
+ when '\\' # escape next char
163
+ @escape = true
164
+ when '<' # start tag
165
+ @in_tag = true
166
+ @tag_type = :start
167
+ @tag = ''
168
+ else # normal char
169
+ @result += (@state.multiline) ? ' ' : c
170
+ end
171
+ end
172
+
173
+ # <...>
174
+ def start
175
+ code = MATCHED_TAG_CODES[@tag]
176
+ if !code
177
+ errors << "Unknown <#{@tag}>"
178
+ return
179
+ end
180
+ @result += esc(code)
181
+ @tag_stack << @tag
182
+ end
183
+
184
+ # </...>
185
+ def close
186
+ code = MATCHED_TAG_CODES[@tag]
187
+ if !code
188
+ errors << "Unknown </#{@tag}>"
189
+ return
190
+ end
191
+ idx = @tag_stack.rindex @tag
192
+ if idx.nil?
193
+ errors << "</#{@tag}>: missing start <#{@tag}>"
194
+ return
195
+ end
196
+ # remove the now closed tag from the stack
197
+ @tag_stack.delete_at idx
198
+ # reset and reapply all codes on the @tag_stack
199
+ @result += reset
200
+ @tag_stack.each { |tag| @result += esc(MATCHED_TAG_CODES[tag]) }
201
+ end
202
+
203
+ # <.../>
204
+ def single
205
+ f = SINGLE_TAGS[@tag]
206
+ if !f
207
+ errors << "Unknown </#{@tag}>"
208
+ return
209
+ end
210
+ result = f.(@state).to_s
211
+
212
+ # blank out all but sep for multiline prompt, vs. main (normal)
213
+ if @state.multiline && @tag != 'sep'
214
+ result = ' ' * result.length
215
+ end
216
+ @result += result
217
+ end
218
+
219
+ def reset
220
+ esc(0)
221
+ end
222
+
223
+ # convert a code to an actual character
224
+ def esc(code)
225
+ return '' if !@color
226
+ @color_applied = true
227
+ "\001\e[#{code}m\002".freeze
228
+ end
229
+ end # Render
230
+ end # Prompt
231
+ end # SpiritHands
@@ -0,0 +1,24 @@
1
+ module SpiritHands
2
+ module Prompt
3
+ autoload :Render, 'spirit_hands/prompt/base/render'
4
+
5
+ class << self
6
+ private
7
+
8
+
9
+ def render(state, prompt, color = true)
10
+ r = Render.new(state, prompt, color)
11
+ res = r.to_s
12
+ STDERR.puts "\n" + (r.errors * "\n") + "\n" if r.errors?
13
+ res
14
+ end
15
+ end # self
16
+
17
+ # :object Object
18
+ # :level Fixnum
19
+ # :pry Pry
20
+ # :app String or Rails::Application
21
+ # :multiline false: normal prompt, true: multiline prompt
22
+ State = Struct.new(:object, :level, :pry, :app, :multiline)
23
+ end # Prompt
24
+ end # SpiritHands
@@ -0,0 +1,18 @@
1
+ require 'spirit_hands/prompt/base'
2
+
3
+ module SpiritHands
4
+ module Prompt
5
+ class << self
6
+ private
7
+
8
+ # Normal, main pry prompt
9
+ def main
10
+ ->(object, level, pry) do
11
+ s = State.new(object, level, pry, ::SpiritHands.app, false)
12
+ color = ::SpiritHands.color && ::SpiritHands.colored_prompt
13
+ render(s, ::SpiritHands.prompt, color)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ require 'spirit_hands/prompt/base'
2
+
3
+ module SpiritHands
4
+ module Prompt
5
+ class << self
6
+ private
7
+
8
+ # Wait pry prompt in multiline input
9
+ def multiline
10
+ ->(object, level, pry) {
11
+ s = State.new(object, level, pry, ::SpiritHands.app, true)
12
+ render(s, ::SpiritHands.prompt, ::SpiritHands.color && ::SpiritHands.colored_prompt)
13
+ }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ require 'spirit_hands/prompt/main'
2
+ require 'spirit_hands/prompt/multiline'
3
+
4
+ module SpiritHands
5
+ module Prompt
6
+ class << self
7
+ def install!
8
+ ::Pry.config.prompt = [ main, multiline ].freeze
9
+ end
10
+ end # self
11
+ end # Prompt
12
+ end # SpiritHands
@@ -0,0 +1,7 @@
1
+ class Railtie < Rails::Railtie
2
+ initializer 'spirit_hands.initialize' do |app|
3
+ silence_warnings do
4
+ ::SpiritHands.melody!(app)
5
+ end
6
+ end
7
+ end # Railtie
@@ -0,0 +1,16 @@
1
+ module SpiritHands
2
+ module Terminal
3
+ class << self
4
+ LOCALE_ENV_VARS = %w[LANG LC_ALL LC_TYPE LC_CTYPE].freeze.tap { |x| x.each(&:freeze) }
5
+ ENV_UNICODE_REGEX = /.*utf.*8/i.freeze
6
+ NON_UNICODE_TERMINALS = %w[linux xterm xterm-color GLterm].freeze
7
+
8
+ def unicode?
9
+ return false if defined? RbReadline
10
+ return false if NON_UNICODE_TERMINALS.include? ENV['TERM']
11
+ return true if ::Gem.win_platform?
12
+ LOCALE_ENV_VARS.any? { |v| ENV[v] =~ ENV_UNICODE_REGEX }
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ module SpiritHands
2
+ VERSION = '2.0.8'
3
+ end
@@ -0,0 +1,21 @@
1
+ # Do this to use SpiritHands outside Rails
2
+ #
3
+ # # .pryrc
4
+ # require 'spirit_hands'
5
+ # # ...
6
+ #
7
+ #
8
+ module SpiritHands
9
+ autoload :VERSION, 'spirit_hands/version'
10
+ autoload :Print, 'spirit_hands/print'
11
+ autoload :Prompt, 'spirit_hands/prompt'
12
+ autoload :Terminal, 'spirit_hands/terminal'
13
+ end
14
+
15
+ require 'spirit_hands/options'
16
+ require 'spirit_hands/melody'
17
+ if defined? ::Rails
18
+ require 'spirit_hands/railtie'
19
+ else
20
+ SpiritHands.melody!
21
+ end
@@ -0,0 +1,42 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ $:.unshift File.expand_path('../lib', __FILE__)
4
+ module ::SpiritHands
5
+ autoload :VERSION, 'spirit_hands/version'
6
+ end
7
+
8
+ Gem::Specification.new do |gem|
9
+ gem.name = 'spirit_hands'
10
+ gem.version = SpiritHands::VERSION
11
+ gem.author = 'Barry Allard'
12
+ gem.email = 'barry.allard@gmail.com'
13
+ gem.license = 'MIT'
14
+ gem.homepage = 'https://github.com/steakknife/spirit_hands'
15
+ gem.summary = 'Exercise those fingers. Pry-based enhancements for the default Rails console.'
16
+ gem.description = "Spending hours in the rails console? Spruce it up and show off those hard-working hands! spirit_hands replaces IRB with Pry, improves output through awesome_print, and has some other goodies up its sleeves."
17
+
18
+ gem.executables = `git ls-files -z -- bin/*`.split("\0")
19
+ .select { |f| File.executable?(f) }
20
+ .map{ |f| File.basename(f) }
21
+ gem.files = `git ls-files -z`.split("\0")
22
+ gem.test_files = `git ls-files -z -- {test,spec,features}/*`.split("\0")
23
+
24
+ # Dependencies
25
+ gem.required_ruby_version = '>= 2.0'
26
+ gem.add_runtime_dependency 'pry', '~> 0.10'
27
+ gem.add_runtime_dependency 'pry-rails', '~> 0.3'
28
+ gem.add_runtime_dependency 'pry-doc', '~> 0.8'
29
+ gem.add_runtime_dependency 'pry-remote', '~> 0.1'
30
+ if RUBY_PLATFORM == 'java'
31
+ gem.platform = 'java'
32
+ gem.add_runtime_dependency 'pry-nav', '~> 0.2.4'
33
+ else
34
+ gem.add_runtime_dependency 'pry-git', '~> 0.2'
35
+ gem.add_runtime_dependency 'pry-byebug', '~> 3.2'
36
+ end
37
+ gem.add_runtime_dependency 'hirb', '~> 0.7'
38
+ gem.add_runtime_dependency 'hirb-unicode-steakknife', '~> 0.0'
39
+ gem.add_runtime_dependency 'pry-coolline', '~> 0.2'
40
+ gem.add_runtime_dependency 'awesome_print', '~> 1.6'
41
+ end
42
+ .tap {|gem| pk = File.expand_path(File.join('~/.keys', 'gem-private_key.pem')); gem.signing_key = pk if File.exist? pk; gem.cert_chain = ['gem-public_cert.pem']} # pressed firmly by waxseal
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,239 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spirit_hands
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.8
5
+ platform: java
6
+ authors:
7
+ - Barry Allard
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ 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
42
+ 8m+dgfPonsYSqnDDfLuAmtKhLAA=
43
+ -----END CERTIFICATE-----
44
+ date: 2016-01-10 00:00:00.000000000 Z
45
+ dependencies:
46
+ - !ruby/object:Gem::Dependency
47
+ requirement: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: '0.10'
52
+ name: pry
53
+ prerelease: false
54
+ type: :runtime
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '0.10'
60
+ - !ruby/object:Gem::Dependency
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - "~>"
64
+ - !ruby/object:Gem::Version
65
+ version: '0.3'
66
+ name: pry-rails
67
+ prerelease: false
68
+ type: :runtime
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '0.3'
74
+ - !ruby/object:Gem::Dependency
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.8'
80
+ name: pry-doc
81
+ prerelease: false
82
+ type: :runtime
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '0.8'
88
+ - !ruby/object:Gem::Dependency
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: '0.1'
94
+ name: pry-remote
95
+ prerelease: false
96
+ type: :runtime
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '0.1'
102
+ - !ruby/object:Gem::Dependency
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - "~>"
106
+ - !ruby/object:Gem::Version
107
+ version: 0.2.4
108
+ name: pry-nav
109
+ prerelease: false
110
+ type: :runtime
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: 0.2.4
116
+ - !ruby/object:Gem::Dependency
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '0.7'
122
+ name: hirb
123
+ prerelease: false
124
+ type: :runtime
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '0.7'
130
+ - !ruby/object:Gem::Dependency
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: '0.0'
136
+ name: hirb-unicode-steakknife
137
+ prerelease: false
138
+ type: :runtime
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '0.0'
144
+ - !ruby/object:Gem::Dependency
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '0.2'
150
+ name: pry-coolline
151
+ prerelease: false
152
+ type: :runtime
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '0.2'
158
+ - !ruby/object:Gem::Dependency
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - "~>"
162
+ - !ruby/object:Gem::Version
163
+ version: '1.6'
164
+ name: awesome_print
165
+ prerelease: false
166
+ type: :runtime
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '1.6'
172
+ description: Spending hours in the rails console? Spruce it up and show off those hard-working hands! spirit_hands replaces IRB with Pry, improves output through awesome_print, and has some other goodies up its sleeves.
173
+ email: barry.allard@gmail.com
174
+ executables: []
175
+ extensions: []
176
+ extra_rdoc_files: []
177
+ files:
178
+ - ".gitignore"
179
+ - ".pryrc"
180
+ - ".ruby-gemset"
181
+ - CHANGELOG.md
182
+ - CONTRIBUTING.md
183
+ - CONTRIBUTORS.md
184
+ - Gemfile
185
+ - LICENSE.md
186
+ - README.md
187
+ - Rakefile
188
+ - gem-public_cert.pem
189
+ - lib/spirit_hands.rb
190
+ - lib/spirit_hands/hirb.rb
191
+ - lib/spirit_hands/hirb/fixes.rb
192
+ - lib/spirit_hands/hirb/fixes/enabled.rb
193
+ - lib/spirit_hands/hirb/fixes/pager.rb
194
+ - lib/spirit_hands/hirb/fixes/util.rb
195
+ - lib/spirit_hands/hirb/fixes/view.rb
196
+ - lib/spirit_hands/mattr_accessor_with_default.rb
197
+ - lib/spirit_hands/melody.rb
198
+ - lib/spirit_hands/options.rb
199
+ - lib/spirit_hands/options/color.rb
200
+ - lib/spirit_hands/options/hirb.rb
201
+ - lib/spirit_hands/options/less.rb
202
+ - lib/spirit_hands/options/less/colorize.rb
203
+ - lib/spirit_hands/options/less/show_raw_unicode.rb
204
+ - lib/spirit_hands/print.rb
205
+ - lib/spirit_hands/prompt.rb
206
+ - lib/spirit_hands/prompt/base.rb
207
+ - lib/spirit_hands/prompt/base/render.rb
208
+ - lib/spirit_hands/prompt/main.rb
209
+ - lib/spirit_hands/prompt/multiline.rb
210
+ - lib/spirit_hands/railtie.rb
211
+ - lib/spirit_hands/terminal.rb
212
+ - lib/spirit_hands/version.rb
213
+ - spirit_hands.gemspec
214
+ homepage: https://github.com/steakknife/spirit_hands
215
+ licenses:
216
+ - MIT
217
+ metadata: {}
218
+ post_install_message:
219
+ rdoc_options: []
220
+ require_paths:
221
+ - lib
222
+ required_ruby_version: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: '2.0'
227
+ required_rubygems_version: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ requirements: []
233
+ rubyforge_project:
234
+ rubygems_version: 2.4.8
235
+ signing_key:
236
+ specification_version: 4
237
+ summary: Exercise those fingers. Pry-based enhancements for the default Rails console.
238
+ test_files: []
239
+ has_rdoc:
metadata.gz.sig ADDED
Binary file