Module: NbfTools

Defined in:
lib/nbf_tools.rb,
lib/nbf_tools/html.rb,
lib/nbf_tools/type.rb,
lib/nbf_tools/merge.rb,
lib/nbf_tools/parse.rb,
lib/nbf_tools/options.rb,
lib/nbf_tools/version.rb

Defined Under Namespace

Modules: Type Classes: Error, HTML, Merge, Options, Parse

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.merge_files_to_one_html(*files, **options) ⇒ Object

merge multiple files into one html string options: ‘“some string”`, is optional



33
34
35
36
37
# File 'lib/nbf_tools.rb', line 33

def merge_files_to_one_html(*files, **options)
  return File.read(files[0]) if files.size < 2
  data = parse_files_to_one(*files, **options)
  HTML.new(data).to_s
end

.operate_with_options(opts) ⇒ Object

parse and merge operate with options options: ‘[], personal_toolbar_folder_text: [], out_format: []` `:files` must present `:personal_toolbar_folder_text` is optional if `:out_format` is `“json”` return json format else retrun return html format



44
45
46
47
48
49
50
51
52
# File 'lib/nbf_tools.rb', line 44

def operate_with_options(opts)
  opts[:out_format] ||= []
  opts[:personal_toolbar_folder_text] = [opts[:personal_toolbar_folder_text]] if opts[:personal_toolbar_folder_text].is_a?(Array)
  if opts[:out_format].join(" ") == "json"
    parse_files_to_one(*opts[:files], personal_toolbar_folder_text: opts[:personal_toolbar_folder_text].join(" ")).to_json
  else
    merge_files_to_one_html(*opts[:files], personal_toolbar_folder_text: opts[:personal_toolbar_folder_text].join(" "))
  end
end

.parse(file, **options) ⇒ Object

parse file options: ‘“some string”`, is optional



18
19
20
# File 'lib/nbf_tools.rb', line 18

def parse(file, **options)
  Parse.new(**options).parse(file)
end

.parse_files_to_one(*files, **options) ⇒ Object

merge and parse multiple files options: ‘“some string”`, is optional



24
25
26
27
28
29
# File 'lib/nbf_tools.rb', line 24

def parse_files_to_one(*files, **options)
  parse_tool = Parse.new(**options)
  data = files.map { |file| parse_tool.parse(file) }
  return data[0] if files.size < 2
  Merge.new(data).to_a
end