Module: IpynbDiff
- Defined in:
- lib/ipynbdiff.rb,
lib/transformer.rb
Overview
Human Readable Jupyter Diffs
Defined Under Namespace
Classes: InvalidNotebookError, Transformer
Class Method Summary
collapse
Class Method Details
.diff(from_notebook, to_notebook, options = @default_diff_options) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/ipynbdiff.rb', line 34
def self.diff(
from_notebook,
to_notebook,
options = @default_diff_options
)
options = @default_diff_options.merge(options)
from = prepare_input(from_notebook, options)
to = prepare_input(to_notebook, options)
d = Diffy::Diff.new(from, to, **options[:diff_opts]).to_s(options[:format])
File.write(options[:write_output_to], d) if options[:write_output_to]
d
rescue InvalidNotebookError
raise if options[:raise_if_invalid_notebook]
end
|
25
26
27
28
29
30
31
32
|
# File 'lib/ipynbdiff.rb', line 25
def self.prepare_input(to_prepare, options)
return '' unless to_prepare
prep = to_prepare
prep = File.read(prep) if options[:sources_are_files]
prep = transform(prep, raise_errors: TRUE, options: options[:transform_options]) if options[:preprocess_input]
prep
end
|
51
52
53
54
55
56
57
|
# File 'lib/ipynbdiff.rb', line 51
def self.transform(notebook, raise_errors: FALSE, options: @default_transform_options)
options = @default_transform_options.merge(options)
Transformer.new(**options).transform(notebook)
rescue InvalidNotebookError
raise if raise_errors
end
|