Class: JupyterNB::Metadata

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/metadata.rb

Instance Method Summary collapse

Methods included from Helpers

#add_field, #add_string, #close_array, #close_group, #open_array, #open_group

Constructor Details

#initialize(lang) ⇒ Metadata

Constructor

Parameters:

  • lang

    can be either :ruby or :python3



15
16
17
18
19
20
21
22
23
24
# File 'lib/metadata.rb', line 15

def initialize(lang)
	@kernel = {}
	@langinfo = {}

	case lang
	when :ruby then initialize_ruby
	when :python3 then initialize_python3
	when :julia then initialize_julia
	end
end

Instance Method Details

#generate(indent = 0) ⇒ Object

Returns a string containing the metadata of the IPython Notebook

Parameters:

  • indent (Integer) (defaults to: 0)

    defines the indentation of the generated output.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/metadata.rb', line 28

def generate(indent=0)
	@indent = indent

	result = ""
	result << open_group("metadata")
	result << open_group("kernelspec")
	result << add_field("display_name", @kernel[:displayname])
	result << add_field("language", @kernel[:language])
	result << add_field("name", @kernel[:name], true)
	result << close_group
	result << open_group("language_info")
	result << add_field("file_extension", @langinfo[:fileext])
	result << add_field("mimetype", @langinfo[:mime])
	result << add_field("name", @langinfo[:name])
	result << add_field("version", @langinfo[:version], true)
	result << close_group(true)
	result << close_group
	return result
end