markdown_ruby_documentation 0.5.0 → 0.6.0
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 +4 -4
- data/README.md +10 -10
- data/lib/markdown_ruby_documentation/template_parser.rb +44 -22
- data/lib/markdown_ruby_documentation/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8c6f0e6b1c0fb7528b57ad280a000931265d2f2
|
4
|
+
data.tar.gz: 77ffedcd22721423e8467e5ffe01bb75fb80d4b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29f309277dc2b1bbcf9889b6163a38353de6fd891190c216e230b8224d7847247583971c813edbb33a270ca2b14d25f68564eecd1a6e123f7202618c4d377945
|
7
|
+
data.tar.gz: 06d6fdc408865c05d96b473468f933428c532d34153da397a6c9c68b3bf9b00d1be619c897a02850afa5a0badbb6de11fea16bda7263e0f7a7f7366b26c338d4
|
data/README.md
CHANGED
@@ -98,18 +98,18 @@ Converts case statements and if statements to bulleted markdown
|
|
98
98
|
`example ruby_to_markdown(ruby_operators_to_english: { proc: ->(replacement, match) { "do some alteration" }})`
|
99
99
|
|
100
100
|
**processors**
|
101
|
-
* readable_ruby_numbers
|
102
|
-
* pretty_early_return
|
103
|
-
* convert_early_return_to_if_else
|
104
|
-
* ternary_to_if_else
|
105
|
-
* ruby_if_statement_to_md
|
106
|
-
* ruby_case_statement_to_md
|
101
|
+
* readable_ruby_numbers, options: proc(ruby_number_object, number_as_string)
|
102
|
+
* pretty_early_return, options: proc(replacement, match)
|
103
|
+
* convert_early_return_to_if_else, options: proc(replacement, match)
|
104
|
+
* ternary_to_if_else, options: proc(replacement, match)
|
105
|
+
* ruby_if_statement_to_md, options: proc(replacement, match)
|
106
|
+
* ruby_case_statement_to_md, options: proc(replacement, match)
|
107
107
|
* ruby_operators_to_english, options: proc(replacement, match)
|
108
108
|
* methods_as_local_links, options: method_to_class: { method_name => OwningConstant }
|
109
|
-
* question_mark_method_format
|
110
|
-
* remove_end_keyword
|
111
|
-
* constants_with_name_and_value
|
112
|
-
* remove_memoized_vars
|
109
|
+
* question_mark_method_format, options: proc(replacement, match)
|
110
|
+
* remove_end_keyword, options: proc(replacement, match)
|
111
|
+
* constants_with_name_and_value, options: proc(replacement, match, opt={})
|
112
|
+
* remove_memoized_vars, options: proc(replacement, match)
|
113
113
|
|
114
114
|
|
115
115
|
#### `format_link`
|
@@ -142,39 +142,49 @@ module MarkdownRubyDocumentation
|
|
142
142
|
ruby_source = any_args.source_code
|
143
143
|
|
144
144
|
RUBY_TO_MARKDOWN_PROCESSORS.each do |processor|
|
145
|
-
options = disable_processors.fetch(processor,
|
146
|
-
ruby_source =
|
145
|
+
options = disable_processors.fetch(processor, :enabled)
|
146
|
+
ruby_source = if options == :enabled
|
147
|
+
send(processor, ruby_source)
|
148
|
+
elsif options.is_a?(Hash)
|
149
|
+
send(processor, ruby_source, options)
|
150
|
+
end
|
147
151
|
end
|
148
152
|
ruby_source
|
149
153
|
end
|
150
154
|
|
151
|
-
def comment_format(source_code, proc: false)
|
155
|
+
def comment_format(source_code=print_method_source, proc: false)
|
152
156
|
gsub_replacement(source_code, { /^#(.*)/ => "</br>*(\\1)*</br>" }, proc: proc)
|
153
157
|
end
|
154
158
|
|
155
|
-
def remove_memoized_vars(source_code=print_method_source,
|
156
|
-
|
159
|
+
def remove_memoized_vars(source_code=print_method_source, proc: false)
|
160
|
+
conversions = {
|
161
|
+
/@[a-z][a-z0-9_]+ \|\|=?\s/ => "" # @memoized_vars ||=
|
162
|
+
}
|
163
|
+
gsub_replacement(source_code, conversions, proc: proc)
|
157
164
|
end
|
158
165
|
|
159
|
-
def nil_check_readable(source_code, proc: false)
|
166
|
+
def nil_check_readable(source_code=print_method_source, proc: false)
|
160
167
|
conversions = {
|
161
168
|
".nil?" => " is missing?"
|
162
169
|
}
|
163
170
|
gsub_replacement(source_code, conversions, proc: proc)
|
164
171
|
end
|
165
172
|
|
166
|
-
def elsif_to_else_if(source_code, proc: false)
|
173
|
+
def elsif_to_else_if(source_code=print_method_source, proc: false)
|
167
174
|
conversions = {
|
168
175
|
"elsif" => "else if"
|
169
176
|
}
|
170
177
|
gsub_replacement(source_code, conversions, proc: proc)
|
171
178
|
end
|
172
179
|
|
173
|
-
def remove_colons(source_code)
|
174
|
-
|
180
|
+
def remove_colons(source_code=print_method_source, proc: proc)
|
181
|
+
conversions = {
|
182
|
+
":" => ''
|
183
|
+
}
|
184
|
+
gsub_replacement(source_code, conversions, proc: proc)
|
175
185
|
end
|
176
186
|
|
177
|
-
def ruby_operators_to_english(source_code, proc: false)
|
187
|
+
def ruby_operators_to_english(source_code=print_method_source, proc: false)
|
178
188
|
conversions = {
|
179
189
|
"&&" => "and",
|
180
190
|
">=" => "is greater than or equal to",
|
@@ -188,23 +198,32 @@ module MarkdownRubyDocumentation
|
|
188
198
|
gsub_replacement(source_code, conversions, proc: proc)
|
189
199
|
end
|
190
200
|
|
191
|
-
def readable_ruby_numbers(source_code, proc: -> (
|
201
|
+
def readable_ruby_numbers(source_code=print_method_source, proc: -> (replacement, _) { ActiveSupport::NumberHelper.number_to_delimited(replacement) })
|
192
202
|
source_code.gsub(/([0-9][0-9_]+[0-9]+)/) do |match|
|
193
|
-
proc.call(eval(match))
|
203
|
+
proc.call(eval(match), match)
|
194
204
|
end
|
195
205
|
end
|
196
206
|
|
197
|
-
def convert_early_return_to_if_else(source_code,
|
198
|
-
|
199
|
-
|
207
|
+
def convert_early_return_to_if_else(source_code=print_method_source, proc: false)
|
208
|
+
conversions = {
|
209
|
+
/(.+) if (.+)/ => "if \\2\n\\1\nend",
|
210
|
+
/(.+) unless (.+)/ => "unless \\2\n\\1\nend"
|
211
|
+
}
|
212
|
+
gsub_replacement(source_code, conversions, proc: proc)
|
200
213
|
end
|
201
214
|
|
202
|
-
def pretty_early_return(source_code,
|
203
|
-
|
215
|
+
def pretty_early_return(source_code=print_method_source, proc: false)
|
216
|
+
conversions = {
|
217
|
+
/return (unless|if)/ => 'return nothing \1'
|
218
|
+
}
|
219
|
+
gsub_replacement(source_code, conversions, proc: proc)
|
204
220
|
end
|
205
221
|
|
206
|
-
def ternary_to_if_else(
|
207
|
-
|
222
|
+
def ternary_to_if_else(source_code=print_method_source, proc: false)
|
223
|
+
conversions = {
|
224
|
+
/(.*) \? (.*) \: (.*)/ => "if \\1\n\\2\nelse\n\\3\nend"
|
225
|
+
}
|
226
|
+
gsub_replacement(source_code, conversions, proc: proc)
|
208
227
|
end
|
209
228
|
|
210
229
|
# @param [String] title the name of the link
|
@@ -334,11 +353,14 @@ module MarkdownRubyDocumentation
|
|
334
353
|
end
|
335
354
|
end
|
336
355
|
|
337
|
-
def constants_with_name_and_value(ruby_source,
|
356
|
+
def constants_with_name_and_value(ruby_source, proc: false)
|
338
357
|
ruby_source.gsub(/([A-Z]+[A-Z_0-9]+)/) do |match|
|
339
358
|
begin
|
340
|
-
value
|
341
|
-
"
|
359
|
+
value = ruby_class.const_get(match)
|
360
|
+
link = "##{match.dasherize.downcase}"
|
361
|
+
formatted_value = ConstantsPresenter.format(value)
|
362
|
+
replacement = format_link(formatted_value, link)
|
363
|
+
proc ? proc.call(replacement, match, { value: value, link: link, formatted_value: formatted_value }) : replacement
|
342
364
|
rescue NameError
|
343
365
|
match
|
344
366
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: markdown_ruby_documentation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dustin Zeisler
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: method_source
|
@@ -163,4 +163,3 @@ specification_version: 4
|
|
163
163
|
summary: Gem provides the ability to use markdown and ruby ERB with some helper methods
|
164
164
|
inside of comments
|
165
165
|
test_files: []
|
166
|
-
has_rdoc:
|