Module: CanvasApi::JsHelpers

Included in:
Render
Defined in:
lib/canvas_api/js_helpers.rb

Instance Method Summary collapse

Instance Method Details

#js_args(args) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/canvas_api/js_helpers.rb', line 15

def js_args(args)
  if args.present?
    "['#{args.join("', '")}']"
  else
    "[]"
  end
end

#js_url_parts(api_url) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/canvas_api/js_helpers.rb', line 4

def js_url_parts(api_url)
  api_url.split(/(\{[a-z_]+\})/).map do |part|
    if part[0] == "{"
      arg = part.gsub(/[\{\}]/, "")
      "args['#{arg}']"
    else
      %{"#{part}"}
    end
  end
end

#key_args(args) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/canvas_api/js_helpers.rb', line 39

def key_args(args)
  if args.blank?
    ""
  elsif args.length > 1
    "#{nickname}_{#{args.join('}_{')}}"
  else
    "#{nickname}_#{args[0]}"
  end
end

#parameters_doc(operation) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/canvas_api/js_helpers.rb', line 23

def parameters_doc(operation)
  if operation["parameters"].present?
    parameters = operation["parameters"].
      reject { |p| p["paramType"] == "path" }.
      map { |p| "#{p['name']}#{p['required'] ? ' (required)' : ''}" }.
      compact
    if parameters.present?
      "\n// const query = {\n//   #{parameters.join("\n//   ")}\n// }"
    else
      ""
    end
  else
    ""
  end
end

#reducer_key(nickname, args) ⇒ Object



49
50
51
# File 'lib/canvas_api/js_helpers.rb', line 49

def reducer_key(nickname, args)
  "#{nickname}#{key_args(args)}"
end