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



43
44
45
46
47
48
49
50
51
# File 'lib/canvas_api/js_helpers.rb', line 43

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

#parameters_doc(operation, method) ⇒ Object



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

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

#reducer_key(nickname, args) ⇒ Object



53
54
55
# File 'lib/canvas_api/js_helpers.rb', line 53

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