diff options
Diffstat (limited to 'vendor/gems/ipynbdiff/lib/ipynbdiff.rb')
-rw-r--r-- | vendor/gems/ipynbdiff/lib/ipynbdiff.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/gems/ipynbdiff/lib/ipynbdiff.rb b/vendor/gems/ipynbdiff/lib/ipynbdiff.rb new file mode 100644 index 00000000000..1765e434bf9 --- /dev/null +++ b/vendor/gems/ipynbdiff/lib/ipynbdiff.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +# Human Readable Jupyter Diffs +module IpynbDiff + require 'transformer' + require 'diff' + + def self.diff(from, to, raise_if_invalid_nb: false, include_frontmatter: false, hide_images: false, diffy_opts: {}) + transformer = Transformer.new(include_frontmatter: include_frontmatter, hide_images: hide_images) + + Diff.new(transformer.transform(from), transformer.transform(to), diffy_opts) + rescue InvalidNotebookError + raise if raise_if_invalid_nb + end + + def self.transform(notebook, raise_errors: false, include_frontmatter: true, hide_images: false) + return unless notebook + + Transformer.new(include_frontmatter: include_frontmatter, hide_images: hide_images).transform(notebook).as_text + rescue InvalidNotebookError + raise if raise_errors + end +end |