From bf100849e7995335572a13bb6d974c0dbfe3adef Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Thu, 23 Jan 2025 11:42:02 +0000 Subject: [PATCH 1/6] Ruby on rails Signed-off-by: Prabhu Subramanian --- .github/workflows/test.yml | 5 +- .gitignore | 2 +- README.md | 4 +- atom_tools/__init__.py | 2 +- atom_tools/cli/commands/convert.py | 5 +- atom_tools/lib/__init__.py | 7 ++ atom_tools/lib/converter.py | 17 +++- atom_tools/lib/ruby_converter.py | 59 +++++++++++++ atom_tools/lib/ruby_semantics.py | 72 ++++++++++++++++ pyproject.toml | 3 +- test/data/rb-railsgoat-usages.json | 1 + test/test_converter.py | 10 ++- test/test_ruby_semantics.py | 133 +++++++++++++++++++++++++++++ 13 files changed, 305 insertions(+), 15 deletions(-) create mode 100644 atom_tools/lib/ruby_converter.py create mode 100644 atom_tools/lib/ruby_semantics.py create mode 100644 test/data/rb-railsgoat-usages.json create mode 100644 test/test_ruby_semantics.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 044711f..96903a2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,14 +20,15 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-24.04, ubuntu-24.04-arm, macos-latest, windows-latest] + python: ['3.10', '3.11', '3.12', '3.13'] fail-fast: false steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: ${{ matrix.python }} - name: Make sure versions are synced if PR or ref is tag if: ${{ github.event_name == 'pull_request' || github.ref_type == 'tag' }} shell: bash diff --git a/.gitignore b/.gitignore index 97a2b06..ca37439 100644 --- a/.gitignore +++ b/.gitignore @@ -156,4 +156,4 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +.idea/ diff --git a/README.md b/README.md index 1dc1eff..f15043e 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ e.g. `atom-tools help convert`). ``` -Atom Tools (version 0.6.0) +Atom Tools (version 0.7.0) Usage: command [options] [arguments] @@ -70,7 +70,7 @@ Usage: convert [options] Options: - -f, --format=FORMAT Destination format [default: "openapi3.0.1"] + -f, --format=FORMAT Destination format [default: "openapi3.1.0"] -i, --input-slice=INPUT-SLICE Usages slice file -t, --type=TYPE Origin type of source on which the atom slice was generated. [default: "java"] -o, --output-file=OUTPUT-FILE Output file [default: "openapi_from_slice.json"] diff --git a/atom_tools/__init__.py b/atom_tools/__init__.py index 3924feb..efecd6c 100644 --- a/atom_tools/__init__.py +++ b/atom_tools/__init__.py @@ -1,4 +1,4 @@ """ A cli, classes and functions for converting an atom slice to a different format """ -__version__ = '0.6.0' +__version__ = '0.7.0' diff --git a/atom_tools/cli/commands/convert.py b/atom_tools/cli/commands/convert.py index cc72103..acbb1f5 100644 --- a/atom_tools/cli/commands/convert.py +++ b/atom_tools/cli/commands/convert.py @@ -10,7 +10,6 @@ from atom_tools.lib.converter import OpenAPI from atom_tools.lib.utils import export_json - logger = logging.getLogger(__name__) @@ -37,7 +36,7 @@ class ConvertCommand(Command): 'f', 'Destination format', flag=False, - default='openapi3.0.1', + default='openapi3.1.0', ), option( 'input-slice', @@ -76,7 +75,7 @@ def handle(self): """ Executes the convert command and performs the conversion. """ - supported_types = {'java', 'jar', 'python', 'py', 'javascript', 'js', 'typescript', 'ts'} + supported_types = {'java', 'jar', 'python', 'py', 'javascript', 'js', 'typescript', 'ts', "ruby", "rb"} if self.option('type') not in supported_types: raise ValueError(f'Unknown origin type: {self.option("type")}') match self.option('format'): diff --git a/atom_tools/lib/__init__.py b/atom_tools/lib/__init__.py index e69de29..88b3d78 100644 --- a/atom_tools/lib/__init__.py +++ b/atom_tools/lib/__init__.py @@ -0,0 +1,7 @@ +from dataclasses import dataclass + + +@dataclass +class HttpRoute: + url_pattern: str + method: str diff --git a/atom_tools/lib/converter.py b/atom_tools/lib/converter.py index 459930e..3ce916b 100644 --- a/atom_tools/lib/converter.py +++ b/atom_tools/lib/converter.py @@ -10,6 +10,7 @@ import jmespath +from atom_tools.lib import HttpRoute from atom_tools.lib.regex_utils import ( py_helper, path_param_repl, @@ -19,7 +20,8 @@ OpenAPIRegexCollection ) from atom_tools.lib.slices import AtomSlice - +from atom_tools.lib.ruby_semantics import code_to_routes +from atom_tools.lib.ruby_converter import convert as ruby_convert logger = logging.getLogger(__name__) regex = OpenAPIRegexCollection() @@ -40,7 +42,7 @@ def __init__( ) -> None: self.usages: AtomSlice = AtomSlice(usages, origin_type) self.openapi_version = dest_format.replace('openapi', '') - self.title = f'OpenAPI Specification for {Path(usages).parent.stem}' + self.title = f'OpenAPI Specification for {Path(usages).parent.stem}' if Path(usages).parent.stem else "OpenAPI Specification" self.file_endpoint_map: Dict = {} self.params: Dict[str, List[Dict]] = {} self.regex_param_count = 0 @@ -50,6 +52,8 @@ def convert_usages(self) -> Dict[str, Dict]: """ Converts usages to OpenAPI. """ + if self.usages.origin_type in ("rb", "ruby"): + return ruby_convert(self.usages) methods = self._process_methods() methods = self.methods_to_endpoints(methods) self.target_line_nums = self._identify_target_line_nums(methods) @@ -242,7 +246,7 @@ def _create_param_object(self, ep: str, orig_ep: str, call: Dict | None) -> List params = [{'name': param, 'in': 'header'} for param in ptypes] return params - def _extract_endpoints(self, method: str) -> List[str]: + def _extract_endpoints(self, method: str) -> List[str] | List[HttpRoute]: """ Extracts endpoints from the given code based on the specified language. @@ -488,6 +492,8 @@ def _process_methods_helper(self, pattern: str) -> Dict[str, Any]: for r in result: file_name = r['file_name'] methods = r['resolved_methods'] + if self.usages.origin_type in ("rb", "ruby"): + methods = [m for m in methods if m and not m.startswith("") and m not in ["(...)", ""] and not m.startswith(" Dict: resolved_map = {} for method in resolved_methods: if endpoints := self._extract_endpoints(method): - eps = [self._parse_path_regexes(ep) for ep in endpoints] + if self.usages.origin_type in ("rb", "ruby"): + eps = endpoints + else: + eps = [self._parse_path_regexes(ep) for ep in endpoints] resolved_map[method] = {'endpoints': eps} return resolved_map diff --git a/atom_tools/lib/ruby_converter.py b/atom_tools/lib/ruby_converter.py new file mode 100644 index 0000000..4b42762 --- /dev/null +++ b/atom_tools/lib/ruby_converter.py @@ -0,0 +1,59 @@ +from atom_tools.lib.slices import AtomSlice +from atom_tools.lib.ruby_semantics import code_to_routes + + +def extract_params(url): + params = [] + if not url: + return [] + if ":" in url: + for part in url.split("/"): + if part.startswith(":"): + param = { + "name": part.replace(":", ""), + "in": "path", + "required": True + } + if part == ":id": + param["schema"] = { + "type": "integer", + "format": "int64" + } + params.append(param) + return params + + +def convert(usages: AtomSlice): + result = [] + object_slices = usages.content.get("objectSlices", {}) + for oslice in object_slices: + # Nested lambdas lack prefixes + if oslice.get('fullName').count("") >= 3: + continue + file_name = oslice.get("fileName", "") + line_nums = set() + if oslice.get("lineNumber"): + line_nums.add(oslice.get("lineNumber")) + for usage in oslice.get("usages", []): + routes = code_to_routes(usage.get("targetObj", {}).get("name", {})) + if routes: + if usage.get("lineNumber"): + line_nums.add(usage.get("lineNumber")) + for route in routes: + params = extract_params(route.url_pattern) + amethod = { + "operationId": f"{oslice.get('fullName')}" if oslice.get("fullName") else oslice.get( + "fileName"), + "x-atom-usages": { + "call": {file_name: list(line_nums)} + } + } + if params: + amethod["parameters"] = params + aresult = { + route.url_pattern: { + route.method.lower(): amethod + } + } + result.append(aresult) + return result diff --git a/atom_tools/lib/ruby_semantics.py b/atom_tools/lib/ruby_semantics.py new file mode 100644 index 0000000..e63ff8c --- /dev/null +++ b/atom_tools/lib/ruby_semantics.py @@ -0,0 +1,72 @@ +""" +Ruby semantic utils +""" +import re +from typing import Any, Dict, List, Tuple + +from atom_tools.lib import HttpRoute + + +def _get_dangling_routes(i, kind, code, code_parts, url_prefix="/"): + routes = [] + url_pattern = f"{url_prefix}{re.sub('^:', '', code_parts[i + 1])}" + if kind == "resources": + routes.append(HttpRoute(url_pattern=url_pattern, method="GET")) + if "only: [" not in code and "shallow:" not in code: + routes.append(HttpRoute(url_pattern=f"{url_pattern}/new", method="GET")) + routes.append(HttpRoute(url_pattern=url_pattern, method="POST")) + routes.append(HttpRoute(url_pattern=f"{url_pattern}/:id", method="GET")) + routes.append(HttpRoute(url_pattern=f"{url_pattern}/:id/edit", method="GET")) + routes.append(HttpRoute(url_pattern=f"{url_pattern}/:id", method="PUT")) + routes.append(HttpRoute(url_pattern=f"{url_pattern}/:id", method="DELETE")) + return routes + + +def code_to_routes(code: str, file_name: str | None = None, method_full_name: str | None = None) -> List[HttpRoute]: + routes = [] + if not code: + return [] + keyword_found = False + for keyword in ( + "namespace", "scope", "concern", "resource", "resources", "get", "post", "patch", "delete", "put", "head", + "options"): + if f"{keyword} " in code: + keyword_found = True + break + if not keyword_found: + return [] + code_parts = code.strip().replace("...", "").split() + # Dangling resources - leads to many kinds of automatic routes + has_resources = "resources " in code or "resource " in code + url_prefix = "" + for i, part in enumerate(code_parts): + if part in ("resource", "resources", "namespace") and len(code_parts) >= i + 1 and code_parts[i + 1].startswith( + ":"): + url_pattern = f"/{re.sub('^:', '', code_parts[i + 1])}" + url_pattern = re.sub('[,/]$', '', url_pattern) + if len(code_parts) > i + 2 and code_parts[i + 2] in ("resources", "resource"): + routes += _get_dangling_routes(i, code_parts[i + 2], code, code_parts, f"{url_prefix}/") + elif i == len(code_parts) - 2 and part in ("resource", "resources"): + routes += _get_dangling_routes(i, part, code, code_parts, f"{url_prefix}/") + else: + url_prefix = f"{url_prefix}{url_pattern}" + continue + if part in ("collection", "concern", "do") or part.startswith(":") or part.startswith('"'): + continue + if part == "end" and url_prefix: + url_prefix = "/".join(url_prefix.split("/")[:-1]) + for m in ("get", "post", "delete", "patch", "put", "head", "options"): + if part == m and len(code_parts) > i + 1 and code_parts[i + 1].startswith('"'): + routes.append( + HttpRoute(url_pattern=f"{url_prefix}/{code_parts[i + 1].replace('"', "")}", + method=m.upper() if m != "patch" else "PUT")) + break + if has_resources: + if not routes: + for i, part in enumerate(code_parts): + for m in ("resource", "resources"): + if part == m and code_parts[i + 1].startswith(':') and ( + i == len(code_parts) - 2 or (len(code_parts) > i + 2 and code_parts[i + 1] != "do")): + routes += _get_dangling_routes(i, m, code, code_parts, "/") + + return routes diff --git a/pyproject.toml b/pyproject.toml index 3314f2f..ee3037b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "atom-tools" -version = "0.6.0" +version = "0.7.0" description = "Collection of tools for use with AppThreat/atom." authors = [ { name = "Caroline Russell", email = "caroline@appthreat.dev" }, @@ -13,6 +13,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Intended Audience :: Developers", diff --git a/test/data/rb-railsgoat-usages.json b/test/data/rb-railsgoat-usages.json new file mode 100644 index 0000000..df45062 --- /dev/null +++ b/test/data/rb-railsgoat-usages.json @@ -0,0 +1 @@ +{"objectSlices":[{"code":"","fullName":"app/controllers/admin_controller.rb:
","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class AdminController < ApplicationController before_action :administrative, if: :admin_param, except: [:get_user] skip_before_action :has_info layout false, only: [:get_all_users, :get_user] def dashboard end def analytics if params[:field].nil? fields = \"*\" else fields = custom_fields.join(\",\")","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class AdminController < ApplicationController before_action :administrative, if: :admin_param, except: [:get_user] skip_before_action :has_info layout false, only: [:get_all_users, :get_user] def dashboard end def analytics if params[:field].nil? fields = \"*\" else fields = custom_fields.join(\",\")","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".assignment","typeFullName":"","resolvedMethod":".assignment","isExternal":true,"lineNumber":4,"columnNumber":2,"label":"CALL"},"definedBy":{"name":".assignment","typeFullName":"","resolvedMethod":".assignment","isExternal":true,"lineNumber":4,"columnNumber":2,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".fieldAccess","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":true,"lineNumber":3,"columnNumber":0,"label":"CALL"},"definedBy":{"name":".fieldAccess","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":true,"lineNumber":3,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".arrayInitializer","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":true,"lineNumber":251,"columnNumber":11,"label":"CALL"},"definedBy":{"name":".arrayInitializer","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":true,"lineNumber":251,"columnNumber":11,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.admin_param","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":68,"columnNumber":2,"usages":[{"targetObj":{"name":"def admin_param params[:admin_id] != \"1\" end","typeFullName":"ANY","lineNumber":68,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def admin_param params[:admin_id] != \"1\" end","typeFullName":"ANY","lineNumber":68,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".notEquals","typeFullName":"","resolvedMethod":".notEquals","isExternal":true,"lineNumber":18,"columnNumber":27,"label":"CALL"},"definedBy":{"name":".notEquals","typeFullName":"","resolvedMethod":".notEquals","isExternal":true,"lineNumber":18,"columnNumber":27,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.analytics","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":10,"columnNumber":2,"usages":[{"targetObj":{"name":"def analytics if params[:field].nil? fields = \"*\" else fields = custom_fields.join(\",\")","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def analytics if params[:field].nil? fields = \"*\" else fields = custom_fields.join(\",\")","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"custom_fields","typeFullName":"","resolvedMethod":"custom_fields","isExternal":null,"lineNumber":14,"columnNumber":15,"label":"CALL"},"invokedCalls":[{"callName":"join","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":14,"columnNumber":15}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/analytics.rb:
.Analytics","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Analytics","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":18,"columnNumber":19,"label":"CALL"},"invokedCalls":[{"callName":"hits_by_ip","resolvedMethod":null,"paramTypes":["","ANY"],"returnType":"ANY","isExternal":null,"lineNumber":18,"columnNumber":19}],"argToCalls":[]},{"targetObj":{"name":".indexAccess","typeFullName":"","resolvedMethod":".indexAccess","isExternal":true,"lineNumber":4,"columnNumber":2,"label":"CALL"},"definedBy":{"name":".indexAccess","typeFullName":"","resolvedMethod":".indexAccess","isExternal":true,"lineNumber":4,"columnNumber":2,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.custom_fields","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":63,"columnNumber":2,"usages":[{"targetObj":{"name":"def custom_fields params.require(:field)","typeFullName":"ANY","lineNumber":63,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def custom_fields params.require(:field)","typeFullName":"ANY","lineNumber":63,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"params","typeFullName":"","resolvedMethod":"params","isExternal":null,"lineNumber":64,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"require","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":64,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.dashboard","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":7,"columnNumber":2,"usages":[{"targetObj":{"name":"def dashboard end","typeFullName":"ANY","lineNumber":7,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def dashboard end","typeFullName":"ANY","lineNumber":7,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.delete_user","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":48,"columnNumber":2,"usages":[{"targetObj":{"name":"def delete_user user = User.find_by(id: params[:admin_id])","typeFullName":"ANY","lineNumber":48,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def delete_user user = User.find_by(id: params[:admin_id])","typeFullName":"ANY","lineNumber":48,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":49,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"find_by","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":49,"columnNumber":11}],"argToCalls":[]},{"targetObj":{"name":".logicalAnd","typeFullName":"","resolvedMethod":".logicalAnd","isExternal":true,"lineNumber":33,"columnNumber":9,"label":"CALL"},"definedBy":{"name":".logicalAnd","typeFullName":"","resolvedMethod":".logicalAnd","isExternal":true,"lineNumber":33,"columnNumber":9,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.delete_user.3","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":57,"columnNumber":6,"usages":[{"targetObj":{"name":"respond_to do |format| format.json { render json: { msg: message ? \"success\" : \"failure\"} } end","typeFullName":"ANY","lineNumber":57,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.json { render json: { msg: message ? \"success\" : \"failure\"} } end","typeFullName":"ANY","lineNumber":57,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":56,"columnNumber":19,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":56,"columnNumber":19,"label":"PARAM"},"invokedCalls":[{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/admin_controller.rb:
.AdminController.delete_user.3.4&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":57,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.delete_user.3.4","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":57,"columnNumber":20,"usages":[{"targetObj":{"name":"format.json { render json: { msg: message ? \"success\" : \"failure\"} }","typeFullName":"ANY","lineNumber":57,"columnNumber":20,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: { msg: message ? \"success\" : \"failure\"} }","typeFullName":"ANY","lineNumber":57,"columnNumber":20,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.get_all_users","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":24,"columnNumber":2,"usages":[{"targetObj":{"name":"def get_all_users @users = User.all end","typeFullName":"ANY","lineNumber":24,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def get_all_users @users = User.all end","typeFullName":"ANY","lineNumber":24,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.get_user","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":28,"columnNumber":2,"usages":[{"targetObj":{"name":"def get_user @user = User.find_by_id(params[:admin_id].to_s)","typeFullName":"ANY","lineNumber":28,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def get_user @user = User.find_by_id(params[:admin_id].to_s)","typeFullName":"ANY","lineNumber":28,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":29,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"find_by_id","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":29,"columnNumber":12}],"argToCalls":[]},{"targetObj":{"name":".conditional","typeFullName":"","resolvedMethod":".conditional","isExternal":true,"lineNumber":22,"columnNumber":20,"label":"CALL"},"definedBy":{"name":".conditional","typeFullName":"","resolvedMethod":".conditional","isExternal":true,"lineNumber":22,"columnNumber":20,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.initialize","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.update_user","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":34,"columnNumber":2,"usages":[{"targetObj":{"name":"user","typeFullName":"ANY","lineNumber":35,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":35,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"update","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":37,"columnNumber":6}],"argToCalls":[]},{"targetObj":{"name":".logicalNot","typeFullName":"","resolvedMethod":".logicalNot","isExternal":true,"lineNumber":7,"columnNumber":10,"label":"CALL"},"definedBy":{"name":".logicalNot","typeFullName":"","resolvedMethod":".logicalNot","isExternal":true,"lineNumber":7,"columnNumber":10,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"def update_user user = User.find_by_id(params[:admin_id])","typeFullName":"ANY","lineNumber":34,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def update_user user = User.find_by_id(params[:admin_id])","typeFullName":"ANY","lineNumber":34,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"params[:user]","typeFullName":"","resolvedMethod":".indexAccess","isExternal":null,"lineNumber":37,"columnNumber":18,"label":"CALL"},"invokedCalls":[{"callName":"reject","resolvedMethod":null,"paramTypes":["app/controllers/admin_controller.rb:
.AdminController.update_user.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":37,"columnNumber":18}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":35,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"find_by_id","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":35,"columnNumber":11}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.update_user.0","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":37,"columnNumber":45,"usages":[{"targetObj":{"name":"params[:user].reject { |k| k == (\"password\" || \"password_confirmation\")","typeFullName":"ANY","lineNumber":37,"columnNumber":45,"label":"UNKNOWN"},"definedBy":{"name":"params[:user].reject { |k| k == (\"password\" || \"password_confirmation\")","typeFullName":"ANY","lineNumber":37,"columnNumber":45,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".equals","typeFullName":"","resolvedMethod":".equals","isExternal":true,"lineNumber":45,"columnNumber":7,"label":"CALL"},"definedBy":{"name":".equals","typeFullName":"","resolvedMethod":".equals","isExternal":true,"lineNumber":45,"columnNumber":7,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".logicalOr","typeFullName":"","resolvedMethod":".logicalOr","isExternal":true,"lineNumber":5,"columnNumber":7,"label":"CALL"},"definedBy":{"name":".logicalOr","typeFullName":"","resolvedMethod":".logicalOr","isExternal":true,"lineNumber":5,"columnNumber":7,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.update_user.1","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":44,"columnNumber":6,"usages":[{"targetObj":{"name":"respond_to do |format| format.json { render json: { msg: message ? \"success\" : \"failure\"} } end","typeFullName":"ANY","lineNumber":44,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.json { render json: { msg: message ? \"success\" : \"failure\"} } end","typeFullName":"ANY","lineNumber":44,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":43,"columnNumber":19,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":43,"columnNumber":19,"label":"PARAM"},"invokedCalls":[{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/admin_controller.rb:
.AdminController.update_user.1.2&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":44,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/admin_controller.rb:
.AdminController.update_user.1.2","signature":"","fileName":"app/controllers/admin_controller.rb","lineNumber":44,"columnNumber":20,"usages":[{"targetObj":{"name":"format.json { render json: { msg: message ? \"success\" : \"failure\"} }","typeFullName":"ANY","lineNumber":44,"columnNumber":20,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: { msg: message ? \"success\" : \"failure\"} }","typeFullName":"ANY","lineNumber":44,"columnNumber":20,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".hashInitializer","typeFullName":"","resolvedMethod":".hashInitializer","isExternal":true,"lineNumber":270,"columnNumber":2,"label":"CALL"},"definedBy":{"name":".hashInitializer","typeFullName":"","resolvedMethod":".hashInitializer","isExternal":true,"lineNumber":270,"columnNumber":2,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/mobile_controller.rb:
","signature":"","fileName":"app/controllers/api/v1/mobile_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Api::V1::MobileController < ApplicationController skip_before_action :authenticated before_action :mobile_request? respond_to :json def show if params[:class] model = params[:class].classify.constantize respond_with model.find(params[:id])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Api::V1::MobileController < ApplicationController skip_before_action :authenticated before_action :mobile_request? respond_to :json def show if params[:class] model = params[:class].classify.constantize respond_with model.find(params[:id])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.","signature":"","fileName":"app/controllers/api/v1/mobile_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.index","signature":"","fileName":"app/controllers/api/v1/mobile_controller.rb","lineNumber":15,"columnNumber":2,"usages":[{"targetObj":{"name":"def index if params[:class] model = params[:class].classify.constantize respond_with model.all.to_json else respond_with nil.to_json end end","typeFullName":"ANY","lineNumber":15,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index if params[:class] model = params[:class].classify.constantize respond_with model.all.to_json else respond_with nil.to_json end end","typeFullName":"ANY","lineNumber":15,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.initialize","signature":"","fileName":"app/controllers/api/v1/mobile_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.mobile_request?","signature":"","fileName":"app/controllers/api/v1/mobile_controller.rb","lineNumber":26,"columnNumber":2,"usages":[{"targetObj":{"name":"def mobile_request? if session[:mobile_param] session[:mobile_param] == \"1\" else request.user_agent =~ /ios|android/i end end","typeFullName":"ANY","lineNumber":26,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def mobile_request? if session[:mobile_param] session[:mobile_param] == \"1\" else request.user_agent =~ /ios|android/i end end","typeFullName":"ANY","lineNumber":26,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"user_agent","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":30,"columnNumber":6,"label":"CALL"},"invokedCalls":[{"callName":"=~","resolvedMethod":null,"paramTypes":["__core.Kernel.Regexp"],"returnType":"ANY","isExternal":null,"lineNumber":30,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.show","signature":"","fileName":"app/controllers/api/v1/mobile_controller.rb","lineNumber":8,"columnNumber":2,"usages":[{"targetObj":{"name":"def show if params[:class] model = params[:class].classify.constantize respond_with model.find(params[:id])","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def show if params[:class] model = params[:class].classify.constantize respond_with model.find(params[:id])","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"model","typeFullName":"constantize","lineNumber":10,"columnNumber":6,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":10,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"find","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":11,"columnNumber":19}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Api::V1::UsersController < ApplicationController skip_before_action :authenticated before_action :valid_api_token before_action :extrapolate_user respond_to :json def index respond_with @user.admin ? User.all : @user end def show respond_with @user.as_json end private def valid_api_token authenticate_or_request_with_http_token do |token, options| # TODO :add some functionality to check if the HTTP Header is valid if !identify_user(token)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Api::V1::UsersController < ApplicationController skip_before_action :authenticated before_action :valid_api_token before_action :extrapolate_user respond_to :json def index respond_with @user.admin ? User.all : @user end def show respond_with @user.as_json end private def valid_api_token authenticate_or_request_with_http_token do |token, options| # TODO :add some functionality to check if the HTTP Header is valid if !identify_user(token)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.check_hash","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":41,"columnNumber":2,"usages":[{"targetObj":{"name":"def check_hash(id, hash)","typeFullName":"ANY","lineNumber":41,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def check_hash(id, hash)","typeFullName":"ANY","lineNumber":41,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"SHA1","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":42,"columnNumber":13,"label":"CALL"},"invokedCalls":[{"callName":"hexdigest","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":42,"columnNumber":13}],"argToCalls":[]},{"targetObj":{"name":".formatString","typeFullName":"__core.Kernel.String","resolvedMethod":".formatString","isExternal":true,"lineNumber":20,"columnNumber":16,"label":"CALL"},"definedBy":{"name":".formatString","typeFullName":"__core.Kernel.String","resolvedMethod":".formatString","isExternal":true,"lineNumber":20,"columnNumber":16,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".formattedValue","typeFullName":"__core.Kernel.String","resolvedMethod":".formattedValue","isExternal":true,"lineNumber":20,"columnNumber":17,"label":"CALL"},"definedBy":{"name":".formattedValue","typeFullName":"__core.Kernel.String","resolvedMethod":".formattedValue","isExternal":true,"lineNumber":20,"columnNumber":17,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.extrapolate_user","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":53,"columnNumber":2,"usages":[{"targetObj":{"name":"def extrapolate_user @user = User.find_by_id(@clean_token.split(\"-\")","typeFullName":"ANY","lineNumber":53,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def extrapolate_user @user = User.find_by_id(@clean_token.split(\"-\")","typeFullName":"ANY","lineNumber":53,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":54,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"find_by_id","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":54,"columnNumber":12}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"@clean_token","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.@clean_token","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":54,"columnNumber":28,"label":"CALL"},"invokedCalls":[{"callName":"split","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":54,"columnNumber":28}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.identify_user","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":30,"columnNumber":2,"usages":[{"targetObj":{"name":"def identify_user(token = \"\")","typeFullName":"ANY","lineNumber":30,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def identify_user(token = \"\")","typeFullName":"ANY","lineNumber":30,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"@clean_token","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.@clean_token","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":34,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"=~","resolvedMethod":null,"paramTypes":["__core.Kernel.Regexp"],"returnType":"ANY","isExternal":null,"lineNumber":34,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":30,"columnNumber":20,"label":"PARAM"},"definedBy":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":30,"columnNumber":20,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"defined?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":30,"columnNumber":28},{"callName":"unescape_token","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":33,"columnNumber":4}]},{"targetObj":{"name":"hash","typeFullName":"$2","lineNumber":36,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"self.$2","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":36,"columnNumber":11,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"check_hash","resolvedMethod":null,"paramTypes":["ANY","ANY"],"returnType":"ANY","position":2,"isExternal":null,"lineNumber":38,"columnNumber":4}]},{"targetObj":{"name":"id","typeFullName":"$1","lineNumber":35,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"self.$1","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":35,"columnNumber":9,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"check_hash","resolvedMethod":null,"paramTypes":["ANY","ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":38,"columnNumber":4}]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.index","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":9,"columnNumber":2,"usages":[{"targetObj":{"name":"def index respond_with @user.admin ? User.all : @user end","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index respond_with @user.admin ? User.all : @user end","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.initialize","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.show","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":13,"columnNumber":2,"usages":[{"targetObj":{"name":"def show respond_with @user.as_json end","typeFullName":"ANY","lineNumber":13,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def show respond_with @user.as_json end","typeFullName":"ANY","lineNumber":13,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.unescape_token","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":48,"columnNumber":2,"usages":[{"targetObj":{"name":"def unescape_token(token = \"\")","typeFullName":"ANY","lineNumber":48,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def unescape_token(token = \"\")","typeFullName":"ANY","lineNumber":48,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":48,"columnNumber":21,"label":"PARAM"},"definedBy":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":48,"columnNumber":21,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"defined?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":48,"columnNumber":29},{"callName":"unescape","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":49,"columnNumber":19}]},{"targetObj":{"name":"","typeFullName":"CGI","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.CGI","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":49,"columnNumber":19,"label":"CALL"},"invokedCalls":[{"callName":"unescape","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":49,"columnNumber":19}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.valid_api_token","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":19,"columnNumber":2,"usages":[{"targetObj":{"name":"def valid_api_token authenticate_or_request_with_http_token do |token, options| # TODO :add some functionality to check if the HTTP Header is valid if !identify_user(token)","typeFullName":"ANY","lineNumber":19,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def valid_api_token authenticate_or_request_with_http_token do |token, options| # TODO :add some functionality to check if the HTTP Header is valid if !identify_user(token)","typeFullName":"ANY","lineNumber":19,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.valid_api_token.0","signature":"","fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":22,"columnNumber":6,"usages":[{"targetObj":{"name":"authenticate_or_request_with_http_token do |token, options| # TODO :add some functionality to check if the HTTP Header is valid if !identify_user(token)","typeFullName":"ANY","lineNumber":22,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"authenticate_or_request_with_http_token do |token, options| # TODO :add some functionality to check if the HTTP Header is valid if !identify_user(token)","typeFullName":"ANY","lineNumber":22,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":20,"columnNumber":48,"label":"PARAM"},"definedBy":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":20,"columnNumber":48,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"identify_user","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":22,"columnNumber":10}]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class ApplicationController < ActionController::Base before_action :authenticated, :has_info, :create_analytic, :mailer_options helper_method :current_user, :is_admin?, :sanitize_font # Our security guy keep talking about sea-surfing, cool story bro. # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. #protect_from_forgery with: :exception private def mailer_options ActionMailer::Base.default_url_options[:protocol] = request.protocol ActionMailer::Base.default_url_options[:host] = request.host_with_port end def current_user @current_user ||= ( User.find_by(auth_token: cookies[:auth_token].to_s)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class ApplicationController < ActionController::Base before_action :authenticated, :has_info, :create_analytic, :mailer_options helper_method :current_user, :is_admin?, :sanitize_font # Our security guy keep talking about sea-surfing, cool story bro. # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. #protect_from_forgery with: :exception private def mailer_options ActionMailer::Base.default_url_options[:protocol] = request.protocol ActionMailer::Base.default_url_options[:host] = request.host_with_port end def current_user @current_user ||= ( User.find_by(auth_token: cookies[:auth_token].to_s)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.administrative","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":34,"columnNumber":2,"usages":[{"targetObj":{"name":"def administrative if !is_admin? redirect_to root_url end end","typeFullName":"ANY","lineNumber":34,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def administrative if !is_admin? redirect_to root_url end end","typeFullName":"ANY","lineNumber":34,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.authenticated","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":25,"columnNumber":2,"usages":[{"targetObj":{"name":"def authenticated path = request.fullpath.present? ? root_url(url: request.fullpath)","typeFullName":"ANY","lineNumber":25,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def authenticated path = request.fullpath.present? ? root_url(url: request.fullpath)","typeFullName":"ANY","lineNumber":25,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"path","typeFullName":"ANY","lineNumber":26,"columnNumber":5,"label":"LOCAL"},"definedBy":{"name":"root_url","typeFullName":"","resolvedMethod":"root_url","isExternal":null,"lineNumber":26,"columnNumber":40,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"redirect_to","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":27,"columnNumber":5}]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.create_analytic","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":54,"columnNumber":2,"usages":[{"targetObj":{"name":"def create_analytic Analytics.create({ ip_address: request.remote_ip, referrer: request.referrer, user_agent: request.user_agent})","typeFullName":"ANY","lineNumber":54,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def create_analytic Analytics.create({ ip_address: request.remote_ip, referrer: request.referrer, user_agent: request.user_agent})","typeFullName":"ANY","lineNumber":54,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/analytics.rb:
.Analytics","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Analytics","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":55,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"create","resolvedMethod":null,"paramTypes":["ANY","ANY","ANY"],"returnType":"ANY","isExternal":null,"lineNumber":55,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.current_user","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":18,"columnNumber":2,"usages":[{"targetObj":{"name":"def current_user @current_user ||= ( User.find_by(auth_token: cookies[:auth_token].to_s)","typeFullName":"ANY","lineNumber":18,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def current_user @current_user ||= ( User.find_by(auth_token: cookies[:auth_token].to_s)","typeFullName":"ANY","lineNumber":18,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":20,"columnNumber":6,"label":"CALL"},"invokedCalls":[{"callName":"find_by","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":20,"columnNumber":6}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":21,"columnNumber":6,"label":"CALL"},"invokedCalls":[{"callName":"find_by","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":21,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.has_info","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":40,"columnNumber":2,"usages":[{"targetObj":{"name":"def has_info redirect = false if current_user begin if !(current_user.retirement || current_user.paid_time_off || current_user.paid_time_off.schedule || current_user.work_info || current_user.performance)","typeFullName":"ANY","lineNumber":40,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def has_info redirect = false if current_user begin if !(current_user.retirement || current_user.paid_time_off || current_user.paid_time_off.schedule || current_user.work_info || current_user.performance)","typeFullName":"ANY","lineNumber":40,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.initialize","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.is_admin?","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":30,"columnNumber":2,"usages":[{"targetObj":{"name":"def is_admin? current_user.admin if current_user end","typeFullName":"ANY","lineNumber":30,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def is_admin? current_user.admin if current_user end","typeFullName":"ANY","lineNumber":30,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.mailer_options","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":13,"columnNumber":2,"usages":[{"targetObj":{"name":"def mailer_options ActionMailer::Base.default_url_options[:protocol] = request.protocol ActionMailer::Base.default_url_options[:host] = request.host_with_port end","typeFullName":"ANY","lineNumber":13,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def mailer_options ActionMailer::Base.default_url_options[:protocol] = request.protocol ActionMailer::Base.default_url_options[:host] = request.host_with_port end","typeFullName":"ANY","lineNumber":13,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/application_controller.rb:
.ApplicationController.sanitize_font","signature":"","fileName":"app/controllers/application_controller.rb","lineNumber":58,"columnNumber":2,"usages":[{"targetObj":{"name":"def sanitize_font(css)","typeFullName":"ANY","lineNumber":58,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def sanitize_font(css)","typeFullName":"ANY","lineNumber":58,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/benefit_forms_controller.rb:
","signature":"","fileName":"app/controllers/benefit_forms_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class BenefitFormsController < ApplicationController def index @benefits = Benefits.new end def download begin path = params[:name] file = params[:type].constantize.new(path)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class BenefitFormsController < ApplicationController def index @benefits = Benefits.new end def download begin path = params[:name] file = params[:type].constantize.new(path)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.","signature":"","fileName":"app/controllers/benefit_forms_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.download","signature":"","fileName":"app/controllers/benefit_forms_controller.rb","lineNumber":8,"columnNumber":2,"usages":[{"targetObj":{"name":"def download begin path = params[:name] file = params[:type].constantize.new(path)","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def download begin path = params[:name] file = params[:type].constantize.new(path)","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"path","typeFullName":"ANY","lineNumber":10,"columnNumber":5,"label":"LOCAL"},"definedBy":{"name":"params[:name]","typeFullName":"","resolvedMethod":".indexAccess","isExternal":null,"lineNumber":10,"columnNumber":12,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":11,"columnNumber":12}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"params[:type].constantize.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":11,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":11,"columnNumber":12}],"argToCalls":[{"callName":" = params[:type].constantize.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":11,"columnNumber":12}]}]},{"code":"","fullName":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.index","signature":"","fileName":"app/controllers/benefit_forms_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"def index @benefits = Benefits.new end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index @benefits = Benefits.new end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Benefits.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":5,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","isExternal":null,"lineNumber":5,"columnNumber":16}],"argToCalls":[{"callName":" = Benefits.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":5,"columnNumber":16}]},{"targetObj":{"name":".alloc","typeFullName":"","resolvedMethod":".alloc","isExternal":true,"lineNumber":25,"columnNumber":10,"label":"CALL"},"definedBy":{"name":".alloc","typeFullName":"","resolvedMethod":".alloc","isExternal":true,"lineNumber":25,"columnNumber":10,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.initialize","signature":"","fileName":"app/controllers/benefit_forms_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.upload","signature":"","fileName":"app/controllers/benefit_forms_controller.rb","lineNumber":18,"columnNumber":2,"usages":[{"targetObj":{"name":"def upload file = params[:benefits][:upload] if file flash[:success] = \"File Successfully Uploaded!\" Benefits.save(file, params[:benefits][:backup])","typeFullName":"ANY","lineNumber":18,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def upload file = params[:benefits][:upload] if file flash[:success] = \"File Successfully Uploaded!\" Benefits.save(file, params[:benefits][:backup])","typeFullName":"ANY","lineNumber":18,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"file","typeFullName":"ANY","lineNumber":19,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"params[:benefits][:upload]","typeFullName":"","resolvedMethod":".indexAccess","isExternal":null,"lineNumber":19,"columnNumber":11,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"save","resolvedMethod":null,"paramTypes":["ANY",""],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":22,"columnNumber":6}]},{"targetObj":{"name":"","typeFullName":"app/models/benefits.rb:
.Benefits","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Benefits","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":22,"columnNumber":6,"label":"CALL"},"invokedCalls":[{"callName":"save","resolvedMethod":null,"paramTypes":["ANY",""],"returnType":"ANY","isExternal":null,"lineNumber":22,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/dashboard_controller.rb:
","signature":"","fileName":"app/controllers/dashboard_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class DashboardController < ApplicationController skip_before_action :has_info layout false, only: [:change_graph] def home @user = current_user # See if the user has a font preference if params[:font] cookies[:font] = params[:font] end end def change_graph self.try(params[:graph])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class DashboardController < ApplicationController skip_before_action :has_info layout false, only: [:change_graph] def home @user = current_user # See if the user has a font preference if params[:font] cookies[:font] = params[:font] end end def change_graph self.try(params[:graph])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/dashboard_controller.rb:
.DashboardController.","signature":"","fileName":"app/controllers/dashboard_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/dashboard_controller.rb:
.DashboardController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/dashboard_controller.rb:
.DashboardController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/dashboard_controller.rb:
.DashboardController.change_graph","signature":"","fileName":"app/controllers/dashboard_controller.rb","lineNumber":15,"columnNumber":2,"usages":[{"targetObj":{"name":"def change_graph self.try(params[:graph])","typeFullName":"ANY","lineNumber":15,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def change_graph self.try(params[:graph])","typeFullName":"ANY","lineNumber":15,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/dashboard_controller.rb:
.DashboardController.home","signature":"","fileName":"app/controllers/dashboard_controller.rb","lineNumber":6,"columnNumber":2,"usages":[{"targetObj":{"name":"def home @user = current_user # See if the user has a font preference if params[:font] cookies[:font] = params[:font] end end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def home @user = current_user # See if the user has a font preference if params[:font] cookies[:font] = params[:font] end end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/dashboard_controller.rb:
.DashboardController.initialize","signature":"","fileName":"app/controllers/dashboard_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class MessagesController < ApplicationController def index @messages = current_user.messages @message = Message.new sleep(3)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class MessagesController < ApplicationController def index @messages = current_user.messages @message = Message.new sleep(3)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.create","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":25,"columnNumber":2,"usages":[{"targetObj":{"name":"def create if Message.create(message_params)","typeFullName":"ANY","lineNumber":25,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def create if Message.create(message_params)","typeFullName":"ANY","lineNumber":25,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/message.rb:
.Message","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Message","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":26,"columnNumber":7,"label":"CALL"},"invokedCalls":[{"callName":"create","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":26,"columnNumber":7}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.create.0","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":28,"columnNumber":8,"usages":[{"targetObj":{"name":"respond_to do |format| format.html { redirect_to user_messages_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":28,"columnNumber":8,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.html { redirect_to user_messages_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":28,"columnNumber":8,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":27,"columnNumber":21,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":27,"columnNumber":21,"label":"PARAM"},"invokedCalls":[{"callName":"html","resolvedMethod":null,"paramTypes":["app/controllers/messages_controller.rb:
.MessagesController.create.0.1&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":28,"columnNumber":8},{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/messages_controller.rb:
.MessagesController.create.0.2&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":29,"columnNumber":8}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.create.0.1","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":28,"columnNumber":22,"usages":[{"targetObj":{"name":"format.html { redirect_to user_messages_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":28,"columnNumber":22,"label":"UNKNOWN"},"definedBy":{"name":"format.html { redirect_to user_messages_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":28,"columnNumber":22,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.create.0.2","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":29,"columnNumber":22,"usages":[{"targetObj":{"name":"format.json { render json: {msg: \"success\"} }","typeFullName":"ANY","lineNumber":29,"columnNumber":22,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: {msg: \"success\"} }","typeFullName":"ANY","lineNumber":29,"columnNumber":22,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.create.3","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":33,"columnNumber":8,"usages":[{"targetObj":{"name":"respond_to do |format| format.html { redirect_to user_messages_path } format.json { render json: {msg: \"failure\"} } end","typeFullName":"ANY","lineNumber":33,"columnNumber":8,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.html { redirect_to user_messages_path } format.json { render json: {msg: \"failure\"} } end","typeFullName":"ANY","lineNumber":33,"columnNumber":8,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":32,"columnNumber":21,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":32,"columnNumber":21,"label":"PARAM"},"invokedCalls":[{"callName":"html","resolvedMethod":null,"paramTypes":["app/controllers/messages_controller.rb:
.MessagesController.create.3.4&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":33,"columnNumber":8},{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/messages_controller.rb:
.MessagesController.create.3.5&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":34,"columnNumber":8}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.create.3.4","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":33,"columnNumber":22,"usages":[{"targetObj":{"name":"format.html { redirect_to user_messages_path }","typeFullName":"ANY","lineNumber":33,"columnNumber":22,"label":"UNKNOWN"},"definedBy":{"name":"format.html { redirect_to user_messages_path }","typeFullName":"ANY","lineNumber":33,"columnNumber":22,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.create.3.5","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":34,"columnNumber":22,"usages":[{"targetObj":{"name":"format.json { render json: {msg: \"failure\"} }","typeFullName":"ANY","lineNumber":34,"columnNumber":22,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: {msg: \"failure\"} }","typeFullName":"ANY","lineNumber":34,"columnNumber":22,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.destroy","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":14,"columnNumber":2,"usages":[{"targetObj":{"name":"def destroy message = Message.where(id: params[:id])","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def destroy message = Message.where(id: params[:id])","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/message.rb:
.Message","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Message","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":15,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"where","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":15,"columnNumber":14}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.index","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"def index @messages = current_user.messages @message = Message.new sleep(3)","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index @messages = current_user.messages @message = Message.new sleep(3)","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Message.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":6,"columnNumber":15,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","isExternal":null,"lineNumber":6,"columnNumber":15}],"argToCalls":[{"callName":" = Message.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":6,"columnNumber":15}]},{"targetObj":{"name":"sleep","typeFullName":"","resolvedMethod":"__core.Kernel.sleep","isExternal":true,"lineNumber":7,"columnNumber":4,"label":"CALL"},"definedBy":{"name":"sleep","typeFullName":"","resolvedMethod":"__core.Kernel.sleep","isExternal":true,"lineNumber":7,"columnNumber":4,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.initialize","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.message_params","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":41,"columnNumber":2,"usages":[{"targetObj":{"name":"def message_params params.require(:message)","typeFullName":"ANY","lineNumber":41,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def message_params params.require(:message)","typeFullName":"ANY","lineNumber":41,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"params","typeFullName":"","resolvedMethod":"params","isExternal":null,"lineNumber":42,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"require","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":42,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":42,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"permit","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","__core.Kernel.Symbol","__core.Kernel.Symbol","__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":42,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/messages_controller.rb:
.MessagesController.show","signature":"","fileName":"app/controllers/messages_controller.rb","lineNumber":10,"columnNumber":2,"usages":[{"targetObj":{"name":"def show @message = Message.where(id: params[:id])","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def show @message = Message.where(id: params[:id])","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/message.rb:
.Message","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Message","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":11,"columnNumber":15,"label":"CALL"},"invokedCalls":[{"callName":"where","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":11,"columnNumber":15}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/paid_time_off_controller.rb:
","signature":"","fileName":"app/controllers/paid_time_off_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class PaidTimeOffController < ApplicationController def index @pto = current_user.paid_time_off @schedule = Schedule.new end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class PaidTimeOffController < ApplicationController def index @pto = current_user.paid_time_off @schedule = Schedule.new end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.","signature":"","fileName":"app/controllers/paid_time_off_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.index","signature":"","fileName":"app/controllers/paid_time_off_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"def index @pto = current_user.paid_time_off @schedule = Schedule.new end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index @pto = current_user.paid_time_off @schedule = Schedule.new end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Schedule.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":6,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","isExternal":null,"lineNumber":6,"columnNumber":16}],"argToCalls":[{"callName":" = Schedule.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":6,"columnNumber":16}]}]},{"code":"","fullName":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.initialize","signature":"","fileName":"app/controllers/paid_time_off_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class PasswordResetsController < ApplicationController skip_before_action :authenticated def reset_password user = Marshal.load(Base64.decode64(params[:user])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class PasswordResetsController < ApplicationController skip_before_action :authenticated def reset_password user = Marshal.load(Base64.decode64(params[:user])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.confirm_token","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":19,"columnNumber":2,"usages":[{"targetObj":{"name":"def confirm_token if !params[:token].nil? && is_valid?(params[:token])","typeFullName":"ANY","lineNumber":19,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def confirm_token if !params[:token].nil? && is_valid?(params[:token])","typeFullName":"ANY","lineNumber":19,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.generate_token","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":47,"columnNumber":2,"usages":[{"targetObj":{"name":"def generate_token(id, email)","typeFullName":"ANY","lineNumber":47,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def generate_token(id, email)","typeFullName":"ANY","lineNumber":47,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"email","typeFullName":"ANY","position":2,"lineNumber":47,"columnNumber":25,"label":"PARAM"},"definedBy":{"name":"email","typeFullName":"ANY","position":2,"lineNumber":47,"columnNumber":25,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"hexdigest","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":48,"columnNumber":11}]},{"targetObj":{"name":"","typeFullName":"MD5","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":48,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"hexdigest","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":48,"columnNumber":11}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.initialize","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.is_valid?","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":52,"columnNumber":2,"usages":[{"targetObj":{"name":"def is_valid?(token)","typeFullName":"ANY","lineNumber":52,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def is_valid?(token)","typeFullName":"ANY","lineNumber":52,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":52,"columnNumber":16,"label":"PARAM"},"definedBy":{"name":"token","typeFullName":"ANY","position":1,"lineNumber":52,"columnNumber":16,"label":"PARAM"},"invokedCalls":[{"callName":"=~","resolvedMethod":null,"paramTypes":["__core.Kernel.Regexp"],"returnType":"ANY","isExternal":null,"lineNumber":53,"columnNumber":7}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":56,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"find_by","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":56,"columnNumber":14}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"MD5","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":57,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"hexdigest","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":57,"columnNumber":14}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.password_reset_mailer","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":42,"columnNumber":2,"usages":[{"targetObj":{"name":"def password_reset_mailer(user)","typeFullName":"ANY","lineNumber":42,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def password_reset_mailer(user)","typeFullName":"ANY","lineNumber":42,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"token","typeFullName":"ANY","lineNumber":43,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"generate_token","typeFullName":"","resolvedMethod":"generate_token","isExternal":null,"lineNumber":43,"columnNumber":12,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"forgot_password","resolvedMethod":null,"paramTypes":["ANY","ANY"],"returnType":"ANY","position":2,"isExternal":null,"lineNumber":44,"columnNumber":4}]},{"targetObj":{"name":"","typeFullName":"app/mailers/user_mailer.rb:
.UserMailer","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.UserMailer","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":44,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"forgot_password","resolvedMethod":null,"paramTypes":["ANY","ANY"],"returnType":"ANY","isExternal":null,"lineNumber":44,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.reset_password","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":5,"columnNumber":2,"usages":[{"targetObj":{"name":"def reset_password user = Marshal.load(Base64.decode64(params[:user])","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def reset_password user = Marshal.load(Base64.decode64(params[:user])","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Base64","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Base64","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":6,"columnNumber":24,"label":"CALL"},"invokedCalls":[{"callName":"decode64","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":6,"columnNumber":24}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.send_forgot_password","signature":"","fileName":"app/controllers/password_resets_controller.rb","lineNumber":29,"columnNumber":2,"usages":[{"targetObj":{"name":"def send_forgot_password @user = User.find_by_email(params[:email])","typeFullName":"ANY","lineNumber":29,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def send_forgot_password @user = User.find_by_email(params[:email])","typeFullName":"ANY","lineNumber":29,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":30,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"find_by_email","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":30,"columnNumber":12}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class PayController < ApplicationController def index end def update_dd_info msg = false pay = Pay.new( bank_account_num: params[:bank_account_num], bank_routing_num: params[:bank_routing_num], percent_of_deposit: params[:dd_percent], user_id: current_user.id )","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class PayController < ApplicationController def index end def update_dd_info msg = false pay = Pay.new( bank_account_num: params[:bank_account_num], bank_routing_num: params[:bank_routing_num], percent_of_deposit: params[:dd_percent], user_id: current_user.id )","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":38,"columnNumber":2,"usages":[{"targetObj":{"name":"def decrypted_bank_acct_num decrypted = Encryption.decrypt_sensitive_value(params[:value_to_decrypt])","typeFullName":"ANY","lineNumber":38,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def decrypted_bank_acct_num decrypted = Encryption.decrypt_sensitive_value(params[:value_to_decrypt])","typeFullName":"ANY","lineNumber":38,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"lib/encryption.rb:
.Encryption","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Encryption","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":39,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"decrypt_sensitive_value","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":39,"columnNumber":16}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num.4","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":41,"columnNumber":6,"usages":[{"targetObj":{"name":"respond_to do |format| format.json { render json: {account_num: decrypted || \"No Data\" } } end","typeFullName":"ANY","lineNumber":41,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.json { render json: {account_num: decrypted || \"No Data\" } } end","typeFullName":"ANY","lineNumber":41,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":40,"columnNumber":19,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":40,"columnNumber":19,"label":"PARAM"},"invokedCalls":[{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num.4.5&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":41,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num.4.5","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":41,"columnNumber":20,"usages":[{"targetObj":{"name":"format.json { render json: {account_num: decrypted || \"No Data\" } }","typeFullName":"ANY","lineNumber":41,"columnNumber":20,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: {account_num: decrypted || \"No Data\" } }","typeFullName":"ANY","lineNumber":41,"columnNumber":20,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.destroy","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":28,"columnNumber":2,"usages":[{"targetObj":{"name":"def destroy pay = Pay.find_by_id(params[:id])","typeFullName":"ANY","lineNumber":28,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def destroy pay = Pay.find_by_id(params[:id])","typeFullName":"ANY","lineNumber":28,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/pay.rb:
.Pay","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Pay","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":29,"columnNumber":10,"label":"CALL"},"invokedCalls":[{"callName":"find_by_id","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":29,"columnNumber":10}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.index","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"def index end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.initialize","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.show","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":22,"columnNumber":2,"usages":[{"targetObj":{"name":"def show respond_to do |format| format.json { render json: {user: current_user.pay.as_json} } end end","typeFullName":"ANY","lineNumber":22,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def show respond_to do |format| format.json { render json: {user: current_user.pay.as_json} } end end","typeFullName":"ANY","lineNumber":22,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.show.2","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":24,"columnNumber":5,"usages":[{"targetObj":{"name":"respond_to do |format| format.json { render json: {user: current_user.pay.as_json} } end","typeFullName":"ANY","lineNumber":24,"columnNumber":5,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.json { render json: {user: current_user.pay.as_json} } end","typeFullName":"ANY","lineNumber":24,"columnNumber":5,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":23,"columnNumber":18,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":23,"columnNumber":18,"label":"PARAM"},"invokedCalls":[{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/pay_controller.rb:
.PayController.show.2.3&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":24,"columnNumber":5}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.show.2.3","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":24,"columnNumber":19,"usages":[{"targetObj":{"name":"format.json { render json: {user: current_user.pay.as_json} }","typeFullName":"ANY","lineNumber":24,"columnNumber":19,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: {user: current_user.pay.as_json} }","typeFullName":"ANY","lineNumber":24,"columnNumber":19,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.update_dd_info","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":7,"columnNumber":2,"usages":[{"targetObj":{"name":"def update_dd_info msg = false pay = Pay.new( bank_account_num: params[:bank_account_num], bank_routing_num: params[:bank_routing_num], percent_of_deposit: params[:dd_percent], user_id: current_user.id )","typeFullName":"ANY","lineNumber":7,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def update_dd_info msg = false pay = Pay.new( bank_account_num: params[:bank_account_num], bank_routing_num: params[:bank_routing_num], percent_of_deposit: params[:dd_percent], user_id: current_user.id )","typeFullName":"ANY","lineNumber":7,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Pay.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":9,"columnNumber":10,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":9,"columnNumber":10}],"argToCalls":[{"callName":" = Pay.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":9,"columnNumber":10}]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.update_dd_info.0","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":18,"columnNumber":6,"usages":[{"targetObj":{"name":"respond_to do |format| format.json { render json: {msg: msg } } end","typeFullName":"ANY","lineNumber":18,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.json { render json: {msg: msg } } end","typeFullName":"ANY","lineNumber":18,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":17,"columnNumber":19,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":17,"columnNumber":19,"label":"PARAM"},"invokedCalls":[{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/pay_controller.rb:
.PayController.update_dd_info.0.1&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":18,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/pay_controller.rb:
.PayController.update_dd_info.0.1","signature":"","fileName":"app/controllers/pay_controller.rb","lineNumber":18,"columnNumber":20,"usages":[{"targetObj":{"name":"format.json { render json: {msg: msg } }","typeFullName":"ANY","lineNumber":18,"columnNumber":20,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: {msg: msg } }","typeFullName":"ANY","lineNumber":18,"columnNumber":20,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/performance_controller.rb:
","signature":"","fileName":"app/controllers/performance_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class PerformanceController < ApplicationController def index @perf = current_user.performance end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class PerformanceController < ApplicationController def index @perf = current_user.performance end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/performance_controller.rb:
.PerformanceController.","signature":"","fileName":"app/controllers/performance_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/performance_controller.rb:
.PerformanceController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/performance_controller.rb:
.PerformanceController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/performance_controller.rb:
.PerformanceController.index","signature":"","fileName":"app/controllers/performance_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"def index @perf = current_user.performance end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index @perf = current_user.performance end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/performance_controller.rb:
.PerformanceController.initialize","signature":"","fileName":"app/controllers/performance_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/retirement_controller.rb:
","signature":"","fileName":"app/controllers/retirement_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class RetirementController < ApplicationController def index @info = current_user.retirement end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class RetirementController < ApplicationController def index @info = current_user.retirement end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/retirement_controller.rb:
.RetirementController.","signature":"","fileName":"app/controllers/retirement_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/retirement_controller.rb:
.RetirementController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/retirement_controller.rb:
.RetirementController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/retirement_controller.rb:
.RetirementController.index","signature":"","fileName":"app/controllers/retirement_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"def index @info = current_user.retirement end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index @info = current_user.retirement end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/retirement_controller.rb:
.RetirementController.initialize","signature":"","fileName":"app/controllers/retirement_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class ScheduleController < ApplicationController def create message = false if params[:schedule][:event_type] == \"pto\" sched = Schedule.new(schedule_params)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class ScheduleController < ApplicationController def create message = false if params[:schedule][:event_type] == \"pto\" sched = Schedule.new(schedule_params)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.create","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"def create message = false if params[:schedule][:event_type] == \"pto\" sched = Schedule.new(schedule_params)","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def create message = false if params[:schedule][:event_type] == \"pto\" sched = Schedule.new(schedule_params)","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Schedule.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":8,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":8,"columnNumber":16}],"argToCalls":[{"callName":" = Schedule.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":8,"columnNumber":16}]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.create.0","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":18,"columnNumber":6,"usages":[{"targetObj":{"name":"respond_to do |format| format.json { render json: {msg: message ? \"success\" : \"failure\" } } end","typeFullName":"ANY","lineNumber":18,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.json { render json: {msg: message ? \"success\" : \"failure\" } } end","typeFullName":"ANY","lineNumber":18,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":17,"columnNumber":19,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":17,"columnNumber":19,"label":"PARAM"},"invokedCalls":[{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController.create.0.1&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":18,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.create.0.1","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":18,"columnNumber":20,"usages":[{"targetObj":{"name":"format.json { render json: {msg: message ? \"success\" : \"failure\" } }","typeFullName":"ANY","lineNumber":18,"columnNumber":20,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: {msg: message ? \"success\" : \"failure\" } }","typeFullName":"ANY","lineNumber":18,"columnNumber":20,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.format_schedule_date","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":45,"columnNumber":2,"usages":[{"targetObj":{"name":"def format_schedule_date(date_array)","typeFullName":"ANY","lineNumber":45,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def format_schedule_date(date_array)","typeFullName":"ANY","lineNumber":45,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"date_array","typeFullName":"ANY","position":1,"lineNumber":45,"columnNumber":27,"label":"PARAM"},"definedBy":{"name":"date_array","typeFullName":"ANY","position":1,"lineNumber":45,"columnNumber":27,"label":"PARAM"},"invokedCalls":[{"callName":"split","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":49,"columnNumber":5}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"date_array.split","typeFullName":"","resolvedMethod":"date_array.split","isExternal":null,"lineNumber":49,"columnNumber":5,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController.format_schedule_date.5&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":49,"columnNumber":5}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.format_schedule_date.5","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":50,"columnNumber":7,"usages":[{"targetObj":{"name":"date_array.split(\"-\")","typeFullName":"ANY","lineNumber":50,"columnNumber":7,"label":"UNKNOWN"},"definedBy":{"name":"date_array.split(\"-\")","typeFullName":"ANY","lineNumber":50,"columnNumber":7,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Date","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Date","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":50,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"strptime","resolvedMethod":null,"paramTypes":["ANY","__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":50,"columnNumber":14}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":22,"columnNumber":2,"usages":[{"targetObj":{"name":"def get_pto_schedule begin schedules = current_user.paid_time_off.schedule jfs = [] schedules.each do |s| hash = Hash.new hash[:id] = s[:id] hash[:title] = s[:event_name] hash[:start] = s[:date_begin] hash[:end] = s[:date_end] jfs << hash end rescue end respond_to do |format| format.json { render json: jfs.to_json } end end","typeFullName":"ANY","lineNumber":22,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def get_pto_schedule begin schedules = current_user.paid_time_off.schedule jfs = [] schedules.each do |s| hash = Hash.new hash[:id] = s[:id] hash[:title] = s[:event_name] hash[:start] = s[:date_begin] hash[:end] = s[:date_end] jfs << hash end rescue end respond_to do |format| format.json { render json: jfs.to_json } end end","typeFullName":"ANY","lineNumber":22,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"schedules","typeFullName":"schedule","lineNumber":24,"columnNumber":7,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":24,"columnNumber":19,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.2&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":26,"columnNumber":7}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.2","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":27,"columnNumber":10,"usages":[{"targetObj":{"name":"schedules.each do |s| hash = Hash.new hash[:id] = s[:id] hash[:title] = s[:event_name] hash[:start] = s[:date_begin] hash[:end] = s[:date_end] jfs << hash end","typeFullName":"ANY","lineNumber":27,"columnNumber":10,"label":"UNKNOWN"},"definedBy":{"name":"schedules.each do |s| hash = Hash.new hash[:id] = s[:id] hash[:title] = s[:event_name] hash[:start] = s[:date_begin] hash[:end] = s[:date_end] jfs << hash end","typeFullName":"ANY","lineNumber":27,"columnNumber":10,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Hash.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":27,"columnNumber":17,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","isExternal":null,"lineNumber":27,"columnNumber":17}],"argToCalls":[{"callName":" = Hash.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":27,"columnNumber":17}]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.3","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":37,"columnNumber":7,"usages":[{"targetObj":{"name":"respond_to do |format| format.json { render json: jfs.to_json } end","typeFullName":"ANY","lineNumber":37,"columnNumber":7,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.json { render json: jfs.to_json } end","typeFullName":"ANY","lineNumber":37,"columnNumber":7,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":36,"columnNumber":19,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":36,"columnNumber":19,"label":"PARAM"},"invokedCalls":[{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.3.4&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":37,"columnNumber":7}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.3.4","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":37,"columnNumber":21,"usages":[{"targetObj":{"name":"format.json { render json: jfs.to_json }","typeFullName":"ANY","lineNumber":37,"columnNumber":21,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: jfs.to_json }","typeFullName":"ANY","lineNumber":37,"columnNumber":21,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.initialize","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/schedule_controller.rb:
.ScheduleController.schedule_params","signature":"","fileName":"app/controllers/schedule_controller.rb","lineNumber":61,"columnNumber":2,"usages":[{"targetObj":{"name":"def schedule_params params.require(:schedule)","typeFullName":"ANY","lineNumber":61,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def schedule_params params.require(:schedule)","typeFullName":"ANY","lineNumber":61,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"params","typeFullName":"","resolvedMethod":"params","isExternal":null,"lineNumber":62,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"require","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":62,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":62,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"permit","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","__core.Kernel.Symbol","__core.Kernel.Symbol","__core.Kernel.Symbol","__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":62,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/sessions_controller.rb:
","signature":"","fileName":"app/controllers/sessions_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class SessionsController < ApplicationController skip_before_action :has_info skip_before_action :authenticated, only: [:new, :create] def new @url = params[:url] redirect_to home_dashboard_index_path if current_user end def create path = params[:url].present? ? params[:url] : home_dashboard_index_path begin # Normalize the email address, why not user = User.authenticate(params[:email].to_s.strip.downcase, params[:password])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class SessionsController < ApplicationController skip_before_action :has_info skip_before_action :authenticated, only: [:new, :create] def new @url = params[:url] redirect_to home_dashboard_index_path if current_user end def create path = params[:url].present? ? params[:url] : home_dashboard_index_path begin # Normalize the email address, why not user = User.authenticate(params[:email].to_s.strip.downcase, params[:password])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/sessions_controller.rb:
.SessionsController.","signature":"","fileName":"app/controllers/sessions_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/sessions_controller.rb:
.SessionsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/sessions_controller.rb:
.SessionsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/sessions_controller.rb:
.SessionsController.create","signature":"","fileName":"app/controllers/sessions_controller.rb","lineNumber":11,"columnNumber":2,"usages":[{"targetObj":{"name":"def create path = params[:url].present? ? params[:url] : home_dashboard_index_path begin # Normalize the email address, why not user = User.authenticate(params[:email].to_s.strip.downcase, params[:password])","typeFullName":"ANY","lineNumber":11,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def create path = params[:url].present? ? params[:url] : home_dashboard_index_path begin # Normalize the email address, why not user = User.authenticate(params[:email].to_s.strip.downcase, params[:password])","typeFullName":"ANY","lineNumber":11,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"path","typeFullName":"ANY","lineNumber":12,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"params[:url]","typeFullName":"","resolvedMethod":".indexAccess","isExternal":null,"lineNumber":12,"columnNumber":35,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"redirect_to","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":26,"columnNumber":6}]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":15,"columnNumber":13,"label":"CALL"},"invokedCalls":[{"callName":"authenticate","resolvedMethod":null,"paramTypes":["ANY",""],"returnType":"ANY","isExternal":null,"lineNumber":15,"columnNumber":13}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/sessions_controller.rb:
.SessionsController.destroy","signature":"","fileName":"app/controllers/sessions_controller.rb","lineNumber":33,"columnNumber":2,"usages":[{"targetObj":{"name":"def destroy cookies.delete(:auth_token)","typeFullName":"ANY","lineNumber":33,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def destroy cookies.delete(:auth_token)","typeFullName":"ANY","lineNumber":33,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"cookies","typeFullName":"","resolvedMethod":"cookies","isExternal":null,"lineNumber":34,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":34,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/sessions_controller.rb:
.SessionsController.initialize","signature":"","fileName":"app/controllers/sessions_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/sessions_controller.rb:
.SessionsController.new","signature":"","fileName":"app/controllers/sessions_controller.rb","lineNumber":6,"columnNumber":2,"usages":[{"targetObj":{"name":"def new @url = params[:url] redirect_to home_dashboard_index_path if current_user end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def new @url = params[:url] redirect_to home_dashboard_index_path if current_user end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/tutorials_controller.rb:
","signature":"","fileName":"app/controllers/tutorials_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class TutorialsController < ApplicationController skip_before_action :has_info skip_before_action :authenticated layout false, only: [:credentials] end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class TutorialsController < ApplicationController skip_before_action :has_info skip_before_action :authenticated layout false, only: [:credentials] end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/tutorials_controller.rb:
.TutorialsController.","signature":"","fileName":"app/controllers/tutorials_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/tutorials_controller.rb:
.TutorialsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/tutorials_controller.rb:
.TutorialsController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/tutorials_controller.rb:
.TutorialsController.initialize","signature":"","fileName":"app/controllers/tutorials_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class UsersController < ApplicationController skip_before_action :has_info skip_before_action :authenticated, only: [:new, :create] def new @user = User.new end def create user = User.new(user_params)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class UsersController < ApplicationController skip_before_action :has_info skip_before_action :authenticated, only: [:new, :create] def new @user = User.new end def create user = User.new(user_params)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.account_settings","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":22,"columnNumber":2,"usages":[{"targetObj":{"name":"def account_settings @user = current_user end","typeFullName":"ANY","lineNumber":22,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def account_settings @user = current_user end","typeFullName":"ANY","lineNumber":22,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.create","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":10,"columnNumber":2,"usages":[{"targetObj":{"name":"def create user = User.new(user_params)","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def create user = User.new(user_params)","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"User.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":11,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":11,"columnNumber":11}],"argToCalls":[{"callName":" = User.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":11,"columnNumber":11}]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.initialize","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.new","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":6,"columnNumber":2,"usages":[{"targetObj":{"name":"def new @user = User.new end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def new @user = User.new end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"User.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":7,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","isExternal":null,"lineNumber":7,"columnNumber":12}],"argToCalls":[{"callName":" = User.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":7,"columnNumber":12}]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.update","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":26,"columnNumber":2,"usages":[{"targetObj":{"name":"def update message = false user = User.where(\"id = '#{params[:user][:id]}'\")","typeFullName":"ANY","lineNumber":26,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def update message = false user = User.where(\"id = '#{params[:user][:id]}'\")","typeFullName":"ANY","lineNumber":26,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":29,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"where","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":29,"columnNumber":11}],"argToCalls":[]},{"targetObj":{"name":"user","typeFullName":"ANY","lineNumber":29,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"User.where","typeFullName":"","resolvedMethod":".indexAccess","isExternal":null,"lineNumber":29,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"update","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":32,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.update.0","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":38,"columnNumber":8,"usages":[{"targetObj":{"name":"respond_to do |format| format.html { redirect_to user_account_settings_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":38,"columnNumber":8,"label":"UNKNOWN"},"definedBy":{"name":"respond_to do |format| format.html { redirect_to user_account_settings_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":38,"columnNumber":8,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":37,"columnNumber":21,"label":"PARAM"},"definedBy":{"name":"format","typeFullName":"ANY","position":1,"lineNumber":37,"columnNumber":21,"label":"PARAM"},"invokedCalls":[{"callName":"html","resolvedMethod":null,"paramTypes":["app/controllers/users_controller.rb:
.UsersController.update.0.1&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":38,"columnNumber":8},{"callName":"json","resolvedMethod":null,"paramTypes":["app/controllers/users_controller.rb:
.UsersController.update.0.2&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":39,"columnNumber":8}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.update.0.1","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":38,"columnNumber":22,"usages":[{"targetObj":{"name":"format.html { redirect_to user_account_settings_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":38,"columnNumber":22,"label":"UNKNOWN"},"definedBy":{"name":"format.html { redirect_to user_account_settings_path(user_id: current_user.id)","typeFullName":"ANY","lineNumber":38,"columnNumber":22,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.update.0.2","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":39,"columnNumber":22,"usages":[{"targetObj":{"name":"format.json { render json: {msg: message ? \"success\" : \"false \"} }","typeFullName":"ANY","lineNumber":39,"columnNumber":22,"label":"UNKNOWN"},"definedBy":{"name":"format.json { render json: {msg: message ? \"success\" : \"false \"} }","typeFullName":"ANY","lineNumber":39,"columnNumber":22,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.user_params","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":49,"columnNumber":2,"usages":[{"targetObj":{"name":"def user_params params.require(:user)","typeFullName":"ANY","lineNumber":49,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def user_params params.require(:user)","typeFullName":"ANY","lineNumber":49,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"params","typeFullName":"","resolvedMethod":"params","isExternal":null,"lineNumber":50,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"require","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":50,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/users_controller.rb:
.UsersController.user_params_without_password","signature":"","fileName":"app/controllers/users_controller.rb","lineNumber":54,"columnNumber":2,"usages":[{"targetObj":{"name":"def user_params_without_password params.require(:user)","typeFullName":"ANY","lineNumber":54,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def user_params_without_password params.require(:user)","typeFullName":"ANY","lineNumber":54,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"params","typeFullName":"","resolvedMethod":"params","isExternal":null,"lineNumber":55,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"require","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":55,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":55,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"permit","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","__core.Kernel.Symbol","__core.Kernel.Symbol","__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":55,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/work_info_controller.rb:
","signature":"","fileName":"app/controllers/work_info_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class WorkInfoController < ApplicationController def index @user = User.find_by(id: params[:user_id])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class WorkInfoController < ApplicationController def index @user = User.find_by(id: params[:user_id])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/work_info_controller.rb:
.WorkInfoController.","signature":"","fileName":"app/controllers/work_info_controller.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/work_info_controller.rb:
.WorkInfoController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/controllers/work_info_controller.rb:
.WorkInfoController.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/work_info_controller.rb:
.WorkInfoController.index","signature":"","fileName":"app/controllers/work_info_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"def index @user = User.find_by(id: params[:user_id])","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def index @user = User.find_by(id: params[:user_id])","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":4,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"find_by","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":4,"columnNumber":12}],"argToCalls":[]}]},{"code":"","fullName":"app/controllers/work_info_controller.rb:
.WorkInfoController.initialize","signature":"","fileName":"app/controllers/work_info_controller.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/admin_helper.rb:
","signature":"","fileName":"app/helpers/admin_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module AdminHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module AdminHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/admin_helper.rb:
.AdminHelper.","signature":"","fileName":"app/helpers/admin_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/admin_helper.rb:
.AdminHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/admin_helper.rb:
.AdminHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/api/v1/users_helper.rb:
","signature":"","fileName":"app/helpers/api/v1/users_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module Api::V1::UsersHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module Api::V1::UsersHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/api/v1/users_helper.rb:
.Api.V1.UsersHelper.","signature":"","fileName":"app/helpers/api/v1/users_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/api/v1/users_helper.rb:
.Api.V1.UsersHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/api/v1/users_helper.rb:
.Api.V1.UsersHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/application_helper.rb:
","signature":"","fileName":"app/helpers/application_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module ApplicationHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module ApplicationHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/application_helper.rb:
.ApplicationHelper.","signature":"","fileName":"app/helpers/application_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/application_helper.rb:
.ApplicationHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/application_helper.rb:
.ApplicationHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/benefit_forms_helper.rb:
","signature":"","fileName":"app/helpers/benefit_forms_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module BenefitFormsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module BenefitFormsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/benefit_forms_helper.rb:
.BenefitFormsHelper.","signature":"","fileName":"app/helpers/benefit_forms_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/benefit_forms_helper.rb:
.BenefitFormsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/benefit_forms_helper.rb:
.BenefitFormsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/dashboard_helper.rb:
","signature":"","fileName":"app/helpers/dashboard_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module DashboardHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module DashboardHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/dashboard_helper.rb:
.DashboardHelper.","signature":"","fileName":"app/helpers/dashboard_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/dashboard_helper.rb:
.DashboardHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/dashboard_helper.rb:
.DashboardHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/messages_helper.rb:
","signature":"","fileName":"app/helpers/messages_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module MessagesHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module MessagesHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/messages_helper.rb:
.MessagesHelper.","signature":"","fileName":"app/helpers/messages_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/messages_helper.rb:
.MessagesHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/messages_helper.rb:
.MessagesHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/paid_time_off_helper.rb:
","signature":"","fileName":"app/helpers/paid_time_off_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module PaidTimeOffHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module PaidTimeOffHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/paid_time_off_helper.rb:
.PaidTimeOffHelper.","signature":"","fileName":"app/helpers/paid_time_off_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/paid_time_off_helper.rb:
.PaidTimeOffHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/paid_time_off_helper.rb:
.PaidTimeOffHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/password_resets_helper.rb:
","signature":"","fileName":"app/helpers/password_resets_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module PasswordResetsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module PasswordResetsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/password_resets_helper.rb:
.PasswordResetsHelper.","signature":"","fileName":"app/helpers/password_resets_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/password_resets_helper.rb:
.PasswordResetsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/password_resets_helper.rb:
.PasswordResetsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/pay_helper.rb:
","signature":"","fileName":"app/helpers/pay_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module PayHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module PayHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/pay_helper.rb:
.PayHelper.","signature":"","fileName":"app/helpers/pay_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/pay_helper.rb:
.PayHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/pay_helper.rb:
.PayHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/performance_helper.rb:
","signature":"","fileName":"app/helpers/performance_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module PerformanceHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module PerformanceHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/performance_helper.rb:
.PerformanceHelper.","signature":"","fileName":"app/helpers/performance_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/performance_helper.rb:
.PerformanceHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/performance_helper.rb:
.PerformanceHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/retirement_helper.rb:
","signature":"","fileName":"app/helpers/retirement_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module RetirementHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module RetirementHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/retirement_helper.rb:
.RetirementHelper.","signature":"","fileName":"app/helpers/retirement_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/retirement_helper.rb:
.RetirementHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/retirement_helper.rb:
.RetirementHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/schedule_helper.rb:
","signature":"","fileName":"app/helpers/schedule_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module ScheduleHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module ScheduleHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/schedule_helper.rb:
.ScheduleHelper.","signature":"","fileName":"app/helpers/schedule_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/schedule_helper.rb:
.ScheduleHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/schedule_helper.rb:
.ScheduleHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/sessions_helper.rb:
","signature":"","fileName":"app/helpers/sessions_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module SessionsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module SessionsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/sessions_helper.rb:
.SessionsHelper.","signature":"","fileName":"app/helpers/sessions_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/sessions_helper.rb:
.SessionsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/sessions_helper.rb:
.SessionsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/tutorials_helper.rb:
","signature":"","fileName":"app/helpers/tutorials_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module TutorialsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module TutorialsHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/tutorials_helper.rb:
.TutorialsHelper.","signature":"","fileName":"app/helpers/tutorials_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/tutorials_helper.rb:
.TutorialsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/tutorials_helper.rb:
.TutorialsHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/users_helper.rb:
","signature":"","fileName":"app/helpers/users_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module UsersHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module UsersHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/users_helper.rb:
.UsersHelper.","signature":"","fileName":"app/helpers/users_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/users_helper.rb:
.UsersHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/users_helper.rb:
.UsersHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/work_info_helper.rb:
","signature":"","fileName":"app/helpers/work_info_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module WorkInfoHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module WorkInfoHelper end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/helpers/work_info_helper.rb:
.WorkInfoHelper.","signature":"","fileName":"app/helpers/work_info_helper.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/work_info_helper.rb:
.WorkInfoHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/helpers/work_info_helper.rb:
.WorkInfoHelper.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/mailers/user_mailer.rb:
","signature":"","fileName":"app/mailers/user_mailer.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class UserMailer < ActionMailer::Base default from: \"noreply@railsgoat.dev\" def forgot_password(email, token)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class UserMailer < ActionMailer::Base default from: \"noreply@railsgoat.dev\" def forgot_password(email, token)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/mailers/user_mailer.rb:
.UserMailer.","signature":"","fileName":"app/mailers/user_mailer.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/mailers/user_mailer.rb:
.UserMailer.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/mailers/user_mailer.rb:
.UserMailer.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/mailers/user_mailer.rb:
.UserMailer.forgot_password","signature":"","fileName":"app/mailers/user_mailer.rb","lineNumber":5,"columnNumber":2,"usages":[{"targetObj":{"name":"def forgot_password(email, token)","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def forgot_password(email, token)","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".addition","typeFullName":"","resolvedMethod":".addition","isExternal":true,"lineNumber":20,"columnNumber":5,"label":"CALL"},"definedBy":{"name":".addition","typeFullName":"","resolvedMethod":".addition","isExternal":true,"lineNumber":20,"columnNumber":5,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/mailers/user_mailer.rb:
.UserMailer.initialize","signature":"","fileName":"app/mailers/user_mailer.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/analytics.rb:
","signature":"","fileName":"app/models/analytics.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Analytics < ApplicationRecord scope :hits_by_ip, ->(ip, col = \"*\")","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Analytics < ApplicationRecord scope :hits_by_ip, ->(ip, col = \"*\")","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/analytics.rb:
.Analytics.","signature":"","fileName":"app/models/analytics.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/analytics.rb:
.Analytics.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/analytics.rb:
.Analytics.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/analytics.rb:
.Analytics..0","signature":"","fileName":"app/models/analytics.rb","lineNumber":3,"columnNumber":41,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"select","typeFullName":"","resolvedMethod":"select","isExternal":null,"lineNumber":3,"columnNumber":41,"label":"CALL"},"invokedCalls":[{"callName":"where","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":3,"columnNumber":41}],"argToCalls":[]},{"targetObj":{"name":"->(ip, col = \"*\")","typeFullName":"ANY","lineNumber":3,"columnNumber":41,"label":"UNKNOWN"},"definedBy":{"name":"->(ip, col = \"*\")","typeFullName":"ANY","lineNumber":3,"columnNumber":41,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"col","typeFullName":"ANY","position":2,"lineNumber":3,"columnNumber":28,"label":"PARAM"},"definedBy":{"name":"col","typeFullName":"ANY","position":2,"lineNumber":3,"columnNumber":28,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"defined?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":3,"columnNumber":34}]},{"targetObj":{"name":"ip","typeFullName":"ANY","position":1,"lineNumber":3,"columnNumber":24,"label":"PARAM"},"definedBy":{"name":"ip","typeFullName":"ANY","position":1,"lineNumber":3,"columnNumber":24,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"where","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":"ip_address","isExternal":null,"lineNumber":3,"columnNumber":41}]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":3,"columnNumber":41,"label":"CALL"},"invokedCalls":[{"callName":"order","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":3,"columnNumber":41}],"argToCalls":[]}]},{"code":"","fullName":"app/models/analytics.rb:
.Analytics.count_by_col","signature":"","fileName":"app/models/analytics.rb","lineNumber":5,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.count_by_col(col)","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.count_by_col(col)","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"col","typeFullName":"ANY","position":1,"lineNumber":5,"columnNumber":24,"label":"PARAM"},"definedBy":{"name":"col","typeFullName":"ANY","position":1,"lineNumber":5,"columnNumber":24,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"calculate","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","ANY"],"returnType":"ANY","position":2,"isExternal":null,"lineNumber":6,"columnNumber":4}]}]},{"code":"","fullName":"app/models/analytics.rb:
.Analytics.initialize","signature":"","fileName":"app/models/analytics.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/analytics.rb:
.Analytics.parse_field","signature":"","fileName":"app/models/analytics.rb","lineNumber":9,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.parse_field(field)","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.parse_field(field)","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"field","typeFullName":"ANY","position":1,"lineNumber":9,"columnNumber":23,"label":"PARAM"},"definedBy":{"name":"field","typeFullName":"ANY","position":1,"lineNumber":9,"columnNumber":23,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"include?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":12,"columnNumber":7}]},{"targetObj":{"name":"valid_fields","typeFullName":"ANY","lineNumber":10,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"[\"ip_address\", \"referrer\", \"user_agent\"]","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":10,"columnNumber":19,"label":"CALL"},"invokedCalls":[{"callName":"include?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":12,"columnNumber":7}],"argToCalls":[]}]},{"code":"","fullName":"app/models/application_record.rb:
","signature":"","fileName":"app/models/application_record.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/application_record.rb:
.ApplicationRecord.","signature":"","fileName":"app/models/application_record.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/application_record.rb:
.ApplicationRecord.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/application_record.rb:
.ApplicationRecord.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/application_record.rb:
.ApplicationRecord.initialize","signature":"","fileName":"app/models/application_record.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
","signature":"","fileName":"app/models/benefits.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Benefits < ApplicationRecord def self.save(file, backup = false)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Benefits < ApplicationRecord def self.save(file, backup = false)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.","signature":"","fileName":"app/models/benefits.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/benefits.rb:
.Benefits.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/benefits.rb:
.Benefits.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.initialize","signature":"","fileName":"app/models/benefits.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.make_backup","signature":"","fileName":"app/models/benefits.rb","lineNumber":13,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.make_backup(file, data_path, full_file_name)","typeFullName":"ANY","lineNumber":13,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.make_backup(file, data_path, full_file_name)","typeFullName":"ANY","lineNumber":13,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"full_file_name","typeFullName":"ANY","position":3,"lineNumber":13,"columnNumber":40,"label":"PARAM"},"definedBy":{"name":"full_file_name","typeFullName":"ANY","position":3,"lineNumber":13,"columnNumber":40,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"exist?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":14,"columnNumber":7}]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.make_backup.0","signature":"","fileName":"app/models/benefits.rb","lineNumber":15,"columnNumber":32,"usages":[{"targetObj":{"name":"silence_streams(STDERR)","typeFullName":"ANY","lineNumber":15,"columnNumber":32,"label":"UNKNOWN"},"definedBy":{"name":"silence_streams(STDERR)","typeFullName":"ANY","lineNumber":15,"columnNumber":32,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"system","typeFullName":"","resolvedMethod":"__core.Kernel.system","isExternal":true,"lineNumber":15,"columnNumber":32,"label":"CALL"},"definedBy":{"name":"system","typeFullName":"","resolvedMethod":"__core.Kernel.system","isExternal":true,"lineNumber":15,"columnNumber":32,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.save","signature":"","fileName":"app/models/benefits.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"backup","typeFullName":"ANY","position":2,"lineNumber":4,"columnNumber":22,"label":"PARAM"},"definedBy":{"name":"backup","typeFullName":"ANY","position":2,"lineNumber":4,"columnNumber":22,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"defined?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":4,"columnNumber":31}]},{"targetObj":{"name":"data_path","typeFullName":"ANY","lineNumber":5,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":5,"columnNumber":16,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"make_backup","resolvedMethod":null,"paramTypes":["ANY","ANY","ANY"],"returnType":"ANY","position":2,"isExternal":null,"lineNumber":10,"columnNumber":4}]},{"targetObj":{"name":"f","typeFullName":"ANY","lineNumber":7,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"File.open","typeFullName":"","resolvedMethod":"File.open","isExternal":null,"lineNumber":7,"columnNumber":8,"label":"CALL"},"invokedCalls":[{"callName":"write","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":8,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"def self.save(file, backup = false)","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.save(file, backup = false)","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"file","typeFullName":"ANY","position":1,"lineNumber":4,"columnNumber":16,"label":"PARAM"},"definedBy":{"name":"file","typeFullName":"ANY","position":1,"lineNumber":4,"columnNumber":16,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"make_backup","resolvedMethod":null,"paramTypes":["ANY","ANY","ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":10,"columnNumber":4}]},{"targetObj":{"name":"","typeFullName":"root","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":5,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"join","resolvedMethod":null,"paramTypes":["__core.Kernel.String","__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":5,"columnNumber":16}],"argToCalls":[]},{"targetObj":{"name":"full_file_name","typeFullName":"ANY","lineNumber":6,"columnNumber":4,"label":"LOCAL"},"definedBy":{"name":"\"#{data_path}/#{file.original_filename}\"","typeFullName":"__core.Kernel.String","resolvedMethod":".formatString","isExternal":null,"lineNumber":6,"columnNumber":21,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"open","resolvedMethod":null,"paramTypes":["ANY","__core.Kernel.String"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":7,"columnNumber":8},{"callName":"make_backup","resolvedMethod":null,"paramTypes":["ANY","ANY","ANY"],"returnType":"ANY","position":3,"isExternal":null,"lineNumber":10,"columnNumber":4}]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.silence_streams","signature":"","fileName":"app/models/benefits.rb","lineNumber":19,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.silence_streams(*streams)","typeFullName":"ANY","lineNumber":19,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.silence_streams(*streams)","typeFullName":"ANY","lineNumber":19,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"streams","typeFullName":"__core.Kernel.Array","position":1,"lineNumber":19,"columnNumber":27,"label":"PARAM"},"definedBy":{"name":"streams","typeFullName":"__core.Kernel.Array","position":1,"lineNumber":19,"columnNumber":27,"label":"PARAM"},"invokedCalls":[{"callName":"collect","resolvedMethod":null,"paramTypes":["app/models/benefits.rb:
.Benefits.silence_streams.1&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":20,"columnNumber":14},{"callName":"each","resolvedMethod":null,"paramTypes":["app/models/benefits.rb:
.Benefits.silence_streams.2&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":21,"columnNumber":4},{"callName":"each_with_index","resolvedMethod":null,"paramTypes":["app/models/benefits.rb:
.Benefits.silence_streams.3&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":27,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.silence_streams.1","signature":"","fileName":"app/models/benefits.rb","lineNumber":20,"columnNumber":41,"usages":[{"targetObj":{"name":"streams.collect { |stream| stream.dup }","typeFullName":"ANY","lineNumber":20,"columnNumber":41,"label":"UNKNOWN"},"definedBy":{"name":"streams.collect { |stream| stream.dup }","typeFullName":"ANY","lineNumber":20,"columnNumber":41,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.silence_streams.2","signature":"","fileName":"app/models/benefits.rb","lineNumber":22,"columnNumber":6,"usages":[{"targetObj":{"name":"streams.each do |stream| stream.reopen(RUBY_PLATFORM =~ /mswin/ ? \"NUL:\" : \"/dev/null\")","typeFullName":"ANY","lineNumber":22,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"streams.each do |stream| stream.reopen(RUBY_PLATFORM =~ /mswin/ ? \"NUL:\" : \"/dev/null\")","typeFullName":"ANY","lineNumber":22,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"stream","typeFullName":"ANY","position":1,"lineNumber":21,"columnNumber":21,"label":"PARAM"},"definedBy":{"name":"stream","typeFullName":"ANY","position":1,"lineNumber":21,"columnNumber":21,"label":"PARAM"},"invokedCalls":[{"callName":"reopen","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":22,"columnNumber":6}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"RUBY_PLATFORM","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.RUBY_PLATFORM","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":22,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"=~","resolvedMethod":null,"paramTypes":["__core.Kernel.Regexp"],"returnType":"ANY","isExternal":null,"lineNumber":22,"columnNumber":20}],"argToCalls":[]}]},{"code":"","fullName":"app/models/benefits.rb:
.Benefits.silence_streams.3","signature":"","fileName":"app/models/benefits.rb","lineNumber":28,"columnNumber":6,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","position":2,"lineNumber":25,"columnNumber":4,"label":"PARAM"},"definedBy":{"name":"","typeFullName":"ANY","position":2,"lineNumber":25,"columnNumber":4,"label":"PARAM"},"invokedCalls":[{"callName":"call","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","isExternal":null,"lineNumber":25,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"streams.each_with_index do |stream, i| stream.reopen(on_hold[i])","typeFullName":"ANY","lineNumber":28,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"streams.each_with_index do |stream, i| stream.reopen(on_hold[i])","typeFullName":"ANY","lineNumber":28,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"stream","typeFullName":"ANY","position":1,"lineNumber":27,"columnNumber":32,"label":"PARAM"},"definedBy":{"name":"stream","typeFullName":"ANY","position":1,"lineNumber":27,"columnNumber":32,"label":"PARAM"},"invokedCalls":[{"callName":"reopen","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":28,"columnNumber":6}],"argToCalls":[]}]},{"code":"","fullName":"app/models/key_management.rb:
","signature":"","fileName":"app/models/key_management.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class KeyManagement < ApplicationRecord belongs_to :work_info belongs_to :user end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class KeyManagement < ApplicationRecord belongs_to :work_info belongs_to :user end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/key_management.rb:
.KeyManagement.","signature":"","fileName":"app/models/key_management.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/key_management.rb:
.KeyManagement.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/key_management.rb:
.KeyManagement.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/key_management.rb:
.KeyManagement.initialize","signature":"","fileName":"app/models/key_management.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/message.rb:
","signature":"","fileName":"app/models/message.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Message < ApplicationRecord belongs_to :user validates_presence_of :creator_id, :receiver_id, :message def creator_name if creator = User.where(id: self.creator_id)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Message < ApplicationRecord belongs_to :user validates_presence_of :creator_id, :receiver_id, :message def creator_name if creator = User.where(id: self.creator_id)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/message.rb:
.Message.","signature":"","fileName":"app/models/message.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/message.rb:
.Message.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/message.rb:
.Message.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/message.rb:
.Message.creator_name","signature":"","fileName":"app/models/message.rb","lineNumber":6,"columnNumber":2,"usages":[{"targetObj":{"name":"def creator_name if creator = User.where(id: self.creator_id)","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def creator_name if creator = User.where(id: self.creator_id)","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":7,"columnNumber":17,"label":"CALL"},"invokedCalls":[{"callName":"where","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":7,"columnNumber":17}],"argToCalls":[]}]},{"code":"","fullName":"app/models/message.rb:
.Message.initialize","signature":"","fileName":"app/models/message.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/paid_time_off.rb:
","signature":"","fileName":"app/models/paid_time_off.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class PaidTimeOff < ApplicationRecord belongs_to :user has_many :schedule, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy def sick_days_remaining self.sick_days_earned - self.sick_days_taken end def pto_days_remaining self.pto_earned - self.pto_taken end def sick_days_taken_percentage result = self.sick_days_taken.to_f / self.sick_days_earned.to_f * 100.0 end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class PaidTimeOff < ApplicationRecord belongs_to :user has_many :schedule, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy def sick_days_remaining self.sick_days_earned - self.sick_days_taken end def pto_days_remaining self.pto_earned - self.pto_taken end def sick_days_taken_percentage result = self.sick_days_taken.to_f / self.sick_days_earned.to_f * 100.0 end end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/paid_time_off.rb:
.PaidTimeOff.","signature":"","fileName":"app/models/paid_time_off.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/paid_time_off.rb:
.PaidTimeOff.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/paid_time_off.rb:
.PaidTimeOff.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/paid_time_off.rb:
.PaidTimeOff.initialize","signature":"","fileName":"app/models/paid_time_off.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/paid_time_off.rb:
.PaidTimeOff.pto_days_remaining","signature":"","fileName":"app/models/paid_time_off.rb","lineNumber":10,"columnNumber":2,"usages":[{"targetObj":{"name":"def pto_days_remaining self.pto_earned - self.pto_taken end","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def pto_days_remaining self.pto_earned - self.pto_taken end","typeFullName":"ANY","lineNumber":10,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/paid_time_off.rb:
.PaidTimeOff.sick_days_remaining","signature":"","fileName":"app/models/paid_time_off.rb","lineNumber":6,"columnNumber":2,"usages":[{"targetObj":{"name":"def sick_days_remaining self.sick_days_earned - self.sick_days_taken end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def sick_days_remaining self.sick_days_earned - self.sick_days_taken end","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".subtraction","typeFullName":"","resolvedMethod":".subtraction","isExternal":true,"lineNumber":11,"columnNumber":4,"label":"CALL"},"definedBy":{"name":".subtraction","typeFullName":"","resolvedMethod":".subtraction","isExternal":true,"lineNumber":11,"columnNumber":4,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/paid_time_off.rb:
.PaidTimeOff.sick_days_taken_percentage","signature":"","fileName":"app/models/paid_time_off.rb","lineNumber":14,"columnNumber":2,"usages":[{"targetObj":{"name":"def sick_days_taken_percentage result = self.sick_days_taken.to_f / self.sick_days_earned.to_f * 100.0 end","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def sick_days_taken_percentage result = self.sick_days_taken.to_f / self.sick_days_earned.to_f * 100.0 end","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".multiplication","typeFullName":"","resolvedMethod":".multiplication","isExternal":true,"lineNumber":15,"columnNumber":13,"label":"CALL"},"definedBy":{"name":".multiplication","typeFullName":"","resolvedMethod":".multiplication","isExternal":true,"lineNumber":15,"columnNumber":13,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".division","typeFullName":"","resolvedMethod":".division","isExternal":true,"lineNumber":15,"columnNumber":13,"label":"CALL"},"definedBy":{"name":".division","typeFullName":"","resolvedMethod":".division","isExternal":true,"lineNumber":15,"columnNumber":13,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/pay.rb:
","signature":"","fileName":"app/models/pay.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Pay < ApplicationRecord # Associations belongs_to :user # Validations validates :bank_account_num, presence: true validates :bank_routing_num, presence: true validates :percent_of_deposit, presence: true # callbacks before_save :encrypt_bank_account_num def as_json super(only: [:bank_account_num, :bank_routing_num, :percent_of_deposit, :id])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Pay < ApplicationRecord # Associations belongs_to :user # Validations validates :bank_account_num, presence: true validates :bank_routing_num, presence: true validates :percent_of_deposit, presence: true # callbacks before_save :encrypt_bank_account_num def as_json super(only: [:bank_account_num, :bank_routing_num, :percent_of_deposit, :id])","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/pay.rb:
.Pay.","signature":"","fileName":"app/models/pay.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/pay.rb:
.Pay.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/pay.rb:
.Pay.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/pay.rb:
.Pay.as_json","signature":"","fileName":"app/models/pay.rb","lineNumber":14,"columnNumber":2,"usages":[{"targetObj":{"name":"def as_json super(only: [:bank_account_num, :bank_routing_num, :percent_of_deposit, :id])","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def as_json super(only: [:bank_account_num, :bank_routing_num, :percent_of_deposit, :id])","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/pay.rb:
.Pay.encrypt_bank_account_num","signature":"","fileName":"app/models/pay.rb","lineNumber":18,"columnNumber":2,"usages":[{"targetObj":{"name":"def encrypt_bank_account_num self.bank_account_num = Encryption.encrypt_sensitive_value(self.bank_account_num)","typeFullName":"ANY","lineNumber":18,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def encrypt_bank_account_num self.bank_account_num = Encryption.encrypt_sensitive_value(self.bank_account_num)","typeFullName":"ANY","lineNumber":18,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"lib/encryption.rb:
.Encryption","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Encryption","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":19,"columnNumber":28,"label":"CALL"},"invokedCalls":[{"callName":"encrypt_sensitive_value","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":19,"columnNumber":28}],"argToCalls":[]}]},{"code":"","fullName":"app/models/pay.rb:
.Pay.initialize","signature":"","fileName":"app/models/pay.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/performance.rb:
","signature":"","fileName":"app/models/performance.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Performance < ApplicationRecord belongs_to :user def reviewer_name u = User.find_by_id(self.reviewer)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Performance < ApplicationRecord belongs_to :user def reviewer_name u = User.find_by_id(self.reviewer)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/performance.rb:
.Performance.","signature":"","fileName":"app/models/performance.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/performance.rb:
.Performance.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/performance.rb:
.Performance.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/performance.rb:
.Performance.initialize","signature":"","fileName":"app/models/performance.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/performance.rb:
.Performance.reviewer_name","signature":"","fileName":"app/models/performance.rb","lineNumber":5,"columnNumber":2,"usages":[{"targetObj":{"name":"def reviewer_name u = User.find_by_id(self.reviewer)","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def reviewer_name u = User.find_by_id(self.reviewer)","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":6,"columnNumber":7,"label":"CALL"},"invokedCalls":[{"callName":"find_by_id","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":6,"columnNumber":7}],"argToCalls":[]},{"targetObj":{"name":"u","typeFullName":"ANY","lineNumber":6,"columnNumber":3,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":6,"columnNumber":7,"label":"CALL"},"invokedCalls":[{"callName":"respond_to?","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":7,"columnNumber":18}],"argToCalls":[]}]},{"code":"","fullName":"app/models/retirement.rb:
","signature":"","fileName":"app/models/retirement.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Retirement < ApplicationRecord belongs_to :user end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Retirement < ApplicationRecord belongs_to :user end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/retirement.rb:
.Retirement.","signature":"","fileName":"app/models/retirement.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/retirement.rb:
.Retirement.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/retirement.rb:
.Retirement.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/retirement.rb:
.Retirement.initialize","signature":"","fileName":"app/models/retirement.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/schedule.rb:
","signature":"","fileName":"app/models/schedule.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class Schedule < ApplicationRecord belongs_to :paid_time_off validates_presence_of :date_begin, :date_end, :event_desc, :event_name, :event_type end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class Schedule < ApplicationRecord belongs_to :paid_time_off validates_presence_of :date_begin, :date_end, :event_desc, :event_name, :event_type end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/schedule.rb:
.Schedule.","signature":"","fileName":"app/models/schedule.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/schedule.rb:
.Schedule.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/schedule.rb:
.Schedule.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/schedule.rb:
.Schedule.initialize","signature":"","fileName":"app/models/schedule.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
","signature":"","fileName":"app/models/user.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"require","typeFullName":"ANY","resolvedMethod":"__core.Kernel.require","isExternal":true,"lineNumber":null,"columnNumber":null,"label":"CALL"},"definedBy":{"name":"require","typeFullName":"ANY","resolvedMethod":"__core.Kernel.require","isExternal":true,"lineNumber":null,"columnNumber":null,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
.User.","signature":"","fileName":"app/models/user.rb","lineNumber":4,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/user.rb:
.User.","isExternal":false,"lineNumber":4,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/user.rb:
.User.","isExternal":false,"lineNumber":4,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".range","typeFullName":"","resolvedMethod":".range","isExternal":true,"lineNumber":18,"columnNumber":17,"label":"CALL"},"definedBy":{"name":".range","typeFullName":"","resolvedMethod":".range","isExternal":true,"lineNumber":18,"columnNumber":17,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
.User..0","signature":"","fileName":"app/models/user.rb","lineNumber":23,"columnNumber":17,"usages":[{"targetObj":{"name":"after_create { generate_token(:auth_token)","typeFullName":"ANY","lineNumber":23,"columnNumber":17,"label":"UNKNOWN"},"definedBy":{"name":"after_create { generate_token(:auth_token)","typeFullName":"ANY","lineNumber":23,"columnNumber":17,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
.User.authenticate","signature":"","fileName":"app/models/user.rb","lineNumber":41,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.authenticate(email, password)","typeFullName":"ANY","lineNumber":41,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.authenticate(email, password)","typeFullName":"ANY","lineNumber":41,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"password","typeFullName":"ANY","position":2,"lineNumber":41,"columnNumber":31,"label":"PARAM"},"definedBy":{"name":"password","typeFullName":"ANY","position":2,"lineNumber":41,"columnNumber":31,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"hexdigest","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":45,"columnNumber":24}]},{"targetObj":{"name":"","typeFullName":"MD5","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":45,"columnNumber":24,"label":"CALL"},"invokedCalls":[{"callName":"hexdigest","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":45,"columnNumber":24}],"argToCalls":[]},{"targetObj":{"name":"email","typeFullName":"ANY","position":1,"lineNumber":41,"columnNumber":24,"label":"PARAM"},"definedBy":{"name":"email","typeFullName":"ANY","position":1,"lineNumber":41,"columnNumber":24,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"find_by_email","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":43,"columnNumber":11}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"StandardError.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":48,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":48,"columnNumber":12}],"argToCalls":[{"callName":" = StandardError.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":48,"columnNumber":12}]}]},{"code":"","fullName":"app/models/user.rb:
.User.build_benefits_data","signature":"","fileName":"app/models/user.rb","lineNumber":26,"columnNumber":2,"usages":[{"targetObj":{"name":"def build_benefits_data build_retirement(POPULATE_RETIREMENTS.sample)","typeFullName":"ANY","lineNumber":26,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def build_benefits_data build_retirement(POPULATE_RETIREMENTS.sample)","typeFullName":"ANY","lineNumber":26,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"schedule","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":28,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"build","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":28,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"performance","typeFullName":"","resolvedMethod":"performance","isExternal":null,"lineNumber":32,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"build","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":32,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
.User.full_name","signature":"","fileName":"app/models/user.rb","lineNumber":35,"columnNumber":2,"usages":[{"targetObj":{"name":"def full_name \"#{self.first_name} #{self.last_name}\" end","typeFullName":"ANY","lineNumber":35,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def full_name \"#{self.first_name} #{self.last_name}\" end","typeFullName":"ANY","lineNumber":35,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
.User.generate_token","signature":"","fileName":"app/models/user.rb","lineNumber":59,"columnNumber":2,"usages":[{"targetObj":{"name":"def generate_token(column)","typeFullName":"ANY","lineNumber":59,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def generate_token(column)","typeFullName":"ANY","lineNumber":59,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"lib/encryption.rb:
.Encryption","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Encryption","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":61,"columnNumber":21,"label":"CALL"},"invokedCalls":[{"callName":"encrypt_sensitive_value","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":61,"columnNumber":21}],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
.User.hash_password","signature":"","fileName":"app/models/user.rb","lineNumber":53,"columnNumber":2,"usages":[{"targetObj":{"name":"def hash_password if will_save_change_to_password? self.password = Digest::MD5.hexdigest(self.password)","typeFullName":"ANY","lineNumber":53,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def hash_password if will_save_change_to_password? self.password = Digest::MD5.hexdigest(self.password)","typeFullName":"ANY","lineNumber":53,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"MD5","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":55,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"hexdigest","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":55,"columnNumber":22}],"argToCalls":[]}]},{"code":"","fullName":"app/models/user.rb:
.User.initialize","signature":"","fileName":"app/models/user.rb","lineNumber":5,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/work_info.rb:
","signature":"","fileName":"app/models/work_info.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"class WorkInfo < ApplicationRecord belongs_to :user has_one :key_management, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy #before_save :encrypt_ssn # We should probably use this def last_four \"***-**-\" << self.decrypt_ssn[-4, 4] end def encrypt_ssn aes = OpenSSL::Cipher.new(cipher_type)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"class WorkInfo < ApplicationRecord belongs_to :user has_one :key_management, foreign_key: :user_id, primary_key: :user_id, dependent: :destroy #before_save :encrypt_ssn # We should probably use this def last_four \"***-**-\" << self.decrypt_ssn[-4, 4] end def encrypt_ssn aes = OpenSSL::Cipher.new(cipher_type)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.","signature":"","fileName":"app/models/work_info.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.cipher_type","signature":"","fileName":"app/models/work_info.rb","lineNumber":39,"columnNumber":2,"usages":[{"targetObj":{"name":"def cipher_type \"aes-256-cbc\" end","typeFullName":"ANY","lineNumber":39,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def cipher_type \"aes-256-cbc\" end","typeFullName":"ANY","lineNumber":39,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.decrypt_ssn","signature":"","fileName":"app/models/work_info.rb","lineNumber":21,"columnNumber":2,"usages":[{"targetObj":{"name":"def decrypt_ssn aes = OpenSSL::Cipher.new(cipher_type)","typeFullName":"ANY","lineNumber":21,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def decrypt_ssn aes = OpenSSL::Cipher.new(cipher_type)","typeFullName":"ANY","lineNumber":21,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"OpenSSL::Cipher.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":22,"columnNumber":10,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":22,"columnNumber":10}],"argToCalls":[{"callName":" = OpenSSL::Cipher.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":22,"columnNumber":10}]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.encrypt_ssn","signature":"","fileName":"app/models/work_info.rb","lineNumber":12,"columnNumber":2,"usages":[{"targetObj":{"name":"def encrypt_ssn aes = OpenSSL::Cipher.new(cipher_type)","typeFullName":"ANY","lineNumber":12,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def encrypt_ssn aes = OpenSSL::Cipher.new(cipher_type)","typeFullName":"ANY","lineNumber":12,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"OpenSSL::Cipher.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":13,"columnNumber":10,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":13,"columnNumber":10}],"argToCalls":[{"callName":" = OpenSSL::Cipher.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":13,"columnNumber":10}]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.initialize","signature":"","fileName":"app/models/work_info.rb","lineNumber":3,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":3,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.iv","signature":"","fileName":"app/models/work_info.rb","lineNumber":34,"columnNumber":2,"usages":[{"targetObj":{"name":"def iv raise \"No IV for this User\" unless self.key_management.try(:iv)","typeFullName":"ANY","lineNumber":34,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def iv raise \"No IV for this User\" unless self.key_management.try(:iv)","typeFullName":"ANY","lineNumber":34,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"key_management","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.key_management","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":35,"columnNumber":39,"label":"CALL"},"invokedCalls":[{"callName":"try","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":35,"columnNumber":39}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"StandardError.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":35,"columnNumber":10,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":35,"columnNumber":10}],"argToCalls":[{"callName":" = StandardError.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":35,"columnNumber":10}]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.key","signature":"","fileName":"app/models/work_info.rb","lineNumber":29,"columnNumber":2,"usages":[{"targetObj":{"name":"def key raise \"Key Missing\" unless KEY.present? KEY end","typeFullName":"ANY","lineNumber":29,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def key raise \"Key Missing\" unless KEY.present? KEY end","typeFullName":"ANY","lineNumber":29,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"StandardError.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":30,"columnNumber":10,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":30,"columnNumber":10}],"argToCalls":[{"callName":" = StandardError.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":30,"columnNumber":10}]}]},{"code":"","fullName":"app/models/work_info.rb:
.WorkInfo.last_four","signature":"","fileName":"app/models/work_info.rb","lineNumber":8,"columnNumber":2,"usages":[{"targetObj":{"name":"def last_four \"***-**-\" << self.decrypt_ssn[-4, 4] end","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def last_four \"***-**-\" << self.decrypt_ssn[-4, 4] end","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config.ru:
","signature":"","fileName":"config.ru","lineNumber":4,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":4,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":4,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"__core.File","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self::File","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":4,"columnNumber":8,"label":"CALL"},"invokedCalls":[{"callName":"expand_path","resolvedMethod":null,"paramTypes":["__core.Kernel.String","__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":4,"columnNumber":8}],"argToCalls":[]}]},{"code":"","fullName":"config/application.rb:
","signature":"","fileName":"config/application.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Bundler","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Bundler","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":8,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"require","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","ANY"],"returnType":"ANY","isExternal":null,"lineNumber":8,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/application.rb:
.Railsgoat.","signature":"","fileName":"config/application.rb","lineNumber":10,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"config/application.rb:
.Railsgoat.","isExternal":false,"lineNumber":10,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"config/application.rb:
.Railsgoat.","isExternal":false,"lineNumber":10,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/application.rb:
.Railsgoat.Application.","signature":"","fileName":"config/application.rb","lineNumber":11,"columnNumber":2,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"config/application.rb:
.Railsgoat.Application.","isExternal":false,"lineNumber":11,"columnNumber":2,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"config/application.rb:
.Railsgoat.Application.","isExternal":false,"lineNumber":11,"columnNumber":2,"label":"CALL"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"paths","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":52,"columnNumber":4,"label":"CALL"},"invokedCalls":[{"callName":"<<","resolvedMethod":null,"paramTypes":[""],"returnType":"ANY","isExternal":null,"lineNumber":52,"columnNumber":4}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"root","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":52,"columnNumber":27,"label":"CALL"},"invokedCalls":[{"callName":"join","resolvedMethod":null,"paramTypes":["__core.Kernel.String","__core.Kernel.String","__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":52,"columnNumber":27}],"argToCalls":[]},{"targetObj":{"name":".assignmentPlus","typeFullName":"","resolvedMethod":".assignmentPlus","isExternal":true,"lineNumber":5,"columnNumber":0,"label":"CALL"},"definedBy":{"name":".assignmentPlus","typeFullName":"","resolvedMethod":".assignmentPlus","isExternal":true,"lineNumber":5,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/application.rb:
.Railsgoat.Application.initialize","signature":"","fileName":"config/application.rb","lineNumber":35,"columnNumber":4,"usages":[{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":35,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"","typeFullName":"ANY","lineNumber":35,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/boot.rb:
","signature":"","fileName":"config/boot.rb","lineNumber":3,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":3,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":3,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/environment.rb:
","signature":"","fileName":"config/environment.rb","lineNumber":3,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":3,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":3,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/environments/development.rb:
","signature":"","fileName":"config/environments/development.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Rails.Application","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"configure","resolvedMethod":null,"paramTypes":["config/environments/development.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":2,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/development.rb:
.0","signature":"","fileName":"config/environments/development.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb config.hosts << '.svc.cluster.local' # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger config.active_support.deprecation = :log # Only use best-standards-support built into browsers config.action_dispatch.best_standards_support = :builtin # Tired of caching causing issues config.middleware.delete Rack::ETag # Do not compress assets config.assets.compress = false # Expands the lines which load th...","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb config.hosts << '.svc.cluster.local' # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger config.active_support.deprecation = :log # Only use best-standards-support built into browsers config.action_dispatch.best_standards_support = :builtin # Tired of caching causing issues config.middleware.delete Rack::ETag # Do not compress assets config.assets.compress = false # Expands the lines which load th...","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"hosts","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":4,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"<<","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":4,"columnNumber":2}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"middleware","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":24,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":24,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/mysql.rb:
","signature":"","fileName":"config/environments/mysql.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Rails.Application","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"configure","resolvedMethod":null,"paramTypes":["config/environments/mysql.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":2,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/mysql.rb:
.0","signature":"","fileName":"config/environments/mysql.rb","lineNumber":8,"columnNumber":2,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger config.active_support.deprecation = :log # Only use best-standards-support built into browsers config.action_dispatch.best_standards_support = :builtin # Tired of caching causing issues config.middleware.delete Rack::ETag # Do not compress assets config.assets.compress = false # Expands the lines which load the assets config.assets.debug = true #...","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger config.active_support.deprecation = :log # Only use best-standards-support built into browsers config.action_dispatch.best_standards_support = :builtin # Tired of caching causing issues config.middleware.delete Rack::ETag # Do not compress assets config.assets.compress = false # Expands the lines which load the assets config.assets.debug = true #...","typeFullName":"ANY","lineNumber":8,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"middleware","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":24,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":24,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/openshift.rb:
","signature":"","fileName":"config/environments/openshift.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Rails.Application","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"configure","resolvedMethod":null,"paramTypes":["config/environments/openshift.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":2,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/openshift.rb:
.0","signature":"","fileName":"config/environments/openshift.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb config.hosts << '.svc.cluster.local' # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger config.active_support.deprecation = :log # Only use best-standards-support built into browsers config.action_dispatch.best_standards_support = :builtin # Tired of caching causing issues config.middleware.delete Rack::ETag # Do not compress assets config.assets.compress = false # Expands the lines which load th...","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb config.hosts << '.svc.cluster.local' # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger config.active_support.deprecation = :log # Only use best-standards-support built into browsers config.action_dispatch.best_standards_support = :builtin # Tired of caching causing issues config.middleware.delete Rack::ETag # Do not compress assets config.assets.compress = false # Expands the lines which load th...","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"hosts","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":4,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"<<","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":4,"columnNumber":2}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"middleware","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":24,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":24,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/production.rb:
","signature":"","fileName":"config/environments/production.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Rails.Application","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"configure","resolvedMethod":null,"paramTypes":["config/environments/production.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":2,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/production.rb:
.0","signature":"","fileName":"config/environments/production.rb","lineNumber":6,"columnNumber":2,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb # Code is not reloaded between requests. config.cache_classes = true # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true # Enable Rack::Cache to put a simple HTTP cache in front of your application # Add `rack-cache` to your Gemfile before enabling this. # For large-scale production use, consider using a caching # reverse proxy like nginx, varnish or squid. # config.action_dispatch.rack_cache = true # Disable Rails's static asset server (Apache or nginx will already do this)","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb # Code is not reloaded between requests. config.cache_classes = true # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true # Enable Rack::Cache to put a simple HTTP cache in front of your application # Add `rack-cache` to your Gemfile before enabling this. # For large-scale production use, consider using a caching # reverse proxy like nginx, varnish or squid. # config.action_dispatch.rack_cache = true # Disable Rails's static asset server (Apache or nginx will already do this)","typeFullName":"ANY","lineNumber":6,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"::Logger::Formatter.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":85,"columnNumber":25,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","isExternal":null,"lineNumber":85,"columnNumber":25}],"argToCalls":[{"callName":" = ::Logger::Formatter.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":85,"columnNumber":25}]}]},{"code":"","fullName":"config/environments/test.rb:
","signature":"","fileName":"config/environments/test.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Rails.Application","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"configure","resolvedMethod":null,"paramTypes":["config/environments/test.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":2,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/environments/test.rb:
.0","signature":"","fileName":"config/environments/test.rb","lineNumber":9,"columnNumber":2,"usages":[{"targetObj":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb # The test environment is used exclusively to run your application's # test suite. You never need to work with it otherwise. Remember that # your test database is \"scratch space\" for the test suite and is wiped # and recreated between test runs. Don't rely on the data there! config.cache_classes = true # Configure static asset server for tests with Cache-Control for performance. config.public_file_server.enabled = true config.public_file_server.headers = { \"Cache-Control\" => \"public, max-age=3600\" } # Show full error reports and disable caching. config.consider_all_requests_local = true config.action_controller.perform_caching = false # Raise exceptions instead of rendering exception templates. config.action_dispatch.show_exceptions = false # Disable request forgery protection in test environment config.action_controller.allow_forgery_protection = true # Tell Action...","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.configure do # Settings specified here will take precedence over those in config/application.rb # The test environment is used exclusively to run your application's # test suite. You never need to work with it otherwise. Remember that # your test database is \"scratch space\" for the test suite and is wiped # and recreated between test runs. Don't rely on the data there! config.cache_classes = true # Configure static asset server for tests with Cache-Control for performance. config.public_file_server.enabled = true config.public_file_server.headers = { \"Cache-Control\" => \"public, max-age=3600\" } # Show full error reports and disable caching. config.consider_all_requests_local = true config.action_controller.perform_caching = false # Raise exceptions instead of rendering exception templates. config.action_dispatch.show_exceptions = false # Disable request forgery protection in test environment config.action_controller.allow_forgery_protection = true # Tell Action...","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/assets.rb:
","signature":"","fileName":"config/initializers/assets.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"Rails.application.config.assets.precompile += %w( validation.js jquery.dataTables.min.js fullcalendar.min.js moment.min.js )","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Rails.application.config.assets.precompile += %w( validation.js jquery.dataTables.min.js fullcalendar.min.js moment.min.js )","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/constants.rb:
","signature":"","fileName":"config/initializers/constants.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/filter_parameter_logging.rb:
","signature":"","fileName":"config/initializers/filter_parameter_logging.rb","lineNumber":5,"columnNumber":0,"usages":[{"targetObj":{"name":"Rails.application.config.filter_parameters += [:password]","typeFullName":"ANY","lineNumber":5,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Rails.application.config.filter_parameters += [:password]","typeFullName":"ANY","lineNumber":5,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/html_entities.rb:
","signature":"","fileName":"config/initializers/html_entities.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"ActiveSupport::JSON::Encoding::escape_html_entities_in_json = false","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"ActiveSupport::JSON::Encoding::escape_html_entities_in_json = false","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/key.rb:
","signature":"","fileName":"config/initializers/key.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"if Rails.env.production? # Specify env variable/location/etc. to retrieve key from else KEY = \"123456789101112123456789101112123456789101112\" end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"if Rails.env.production? # Specify env variable/location/etc. to retrieve key from else KEY = \"123456789101112123456789101112123456789101112\" end","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/populate_user_data.rb:
","signature":"","fileName":"config/initializers/populate_user_data.rb","lineNumber":3,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":149,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":149,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":149,"columnNumber":22}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":73,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":73,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":73,"columnNumber":22}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":66,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":66,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":66,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":125,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":125,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":125,"columnNumber":22}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":58,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":58,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":58,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":155,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":155,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":155,"columnNumber":22}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":161,"columnNumber":23,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":161,"columnNumber":23}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":161,"columnNumber":23}]},{"targetObj":{"name":"POPULATE_PERFORMANCE","typeFullName":"ANY","lineNumber":121,"columnNumber":1,"label":"LOCAL"},"definedBy":{"name":"[ { reviewer: 1, comments: \"Great job! You are my hero\", date_submitted: Date.new","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":121,"columnNumber":24,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"POPULATE_PERFORMANCE = [ { reviewer: 1, comments: \"Great job! You are my hero\", date_submitted: Date.new","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":121,"columnNumber":1}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":81,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":81,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":81,"columnNumber":22}]},{"targetObj":{"name":"POPULATE_SCHEDULE","typeFullName":"ANY","lineNumber":55,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { date_begin: Date.new","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":55,"columnNumber":20,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"POPULATE_SCHEDULE = [ { date_begin: Date.new","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":55,"columnNumber":0}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":74,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":74,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":74,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":131,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":131,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":131,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":143,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":143,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":143,"columnNumber":22}]},{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":3,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":3,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":137,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":137,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":137,"columnNumber":22}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":82,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":82,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":82,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":65,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":65,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":65,"columnNumber":22}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":57,"columnNumber":22,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":57,"columnNumber":22}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":57,"columnNumber":22}]}]},{"code":"","fullName":"config/initializers/secret_token.rb:
","signature":"","fileName":"config/initializers/secret_token.rb","lineNumber":8,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.config.secret_key_base = \"2f1d90a26236c3245d96f5606c201a780dc9ca687e5ed82b45e211bb5dc84c1870f61ca9e002dad5dd8a149c9792d8f07f31a9575065cca064bd6af44f8750e4\"","typeFullName":"ANY","lineNumber":8,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.config.secret_key_base = \"2f1d90a26236c3245d96f5606c201a780dc9ca687e5ed82b45e211bb5dc84c1870f61ca9e002dad5dd8a149c9792d8f07f31a9575065cca064bd6af44f8750e4\"","typeFullName":"ANY","lineNumber":8,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/session_store.rb:
","signature":"","fileName":"config/initializers/session_store.rb","lineNumber":4,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.config.session_store :cookie_store, key: \"_railsgoat_session\", httponly: false","typeFullName":"ANY","lineNumber":4,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.config.session_store :cookie_store, key: \"_railsgoat_session\", httponly: false","typeFullName":"ANY","lineNumber":4,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"config","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":4,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"session_store","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","__core.Kernel.String","__core.Kernel.FalseClass"],"returnType":"ANY","isExternal":null,"lineNumber":4,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/strong_parameters.rb:
","signature":"","fileName":"config/initializers/strong_parameters.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"ActiveRecord::Base.send(:include, ActiveModel::ForbiddenAttributesProtection)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"ActiveRecord::Base.send(:include, ActiveModel::ForbiddenAttributesProtection)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ActiveRecord.Base","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"send","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","ANY"],"returnType":"ANY","isExternal":null,"lineNumber":2,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/wrap_parameters.rb:
","signature":"","fileName":"config/initializers/wrap_parameters.rb","lineNumber":8,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":8,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":8,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ActiveSupport","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.ActiveSupport","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":8,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"on_load","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","config/initializers/wrap_parameters.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":8,"columnNumber":0}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"ActiveSupport","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.ActiveSupport","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":13,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"on_load","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol","config/initializers/wrap_parameters.rb:
.1&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":13,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/wrap_parameters.rb:
.0","signature":"","fileName":"config/initializers/wrap_parameters.rb","lineNumber":9,"columnNumber":2,"usages":[{"targetObj":{"name":"ActiveSupport.on_load(:action_controller)","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"ActiveSupport.on_load(:action_controller)","typeFullName":"ANY","lineNumber":9,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/initializers/wrap_parameters.rb:
.1","signature":"","fileName":"config/initializers/wrap_parameters.rb","lineNumber":14,"columnNumber":2,"usages":[{"targetObj":{"name":"ActiveSupport.on_load(:active_record)","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"ActiveSupport.on_load(:active_record)","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
","signature":"","fileName":"config/routes.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"Railsgoat::Application.routes.draw","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.routes.draw","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"routes","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"draw","resolvedMethod":null,"paramTypes":["config/routes.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":2,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0","signature":"","fileName":"config/routes.rb","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"Railsgoat::Application.routes.draw do get \"login\" => \"sessions#new\" get \"signup\" => \"users#new\" get \"logout\" => \"sessions#destroy\" get \"forgot_password\" => \"password_resets#forgot_password\" post \"forgot_password\" => \"password_resets#send_forgot_password\" get \"password_resets\" => \"password_resets#confirm_token\" post \"password_resets\" => \"password_resets#reset_password\" get \"dashboard/doc\" => \"dashboard#doc\" resources :sessions resources :users do get \"account_settings\" resources :retirement resources :paid_time_off resources :work_info resources :performance resources :benefit_forms resources :messages resources :pay do collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end end end get \"download\" => \"benefit_forms#download\" post \"upload\" => \"benefit_forms#upload\" resources :tutorials do collection do get \"credentials\" end end resources :schedule do collection do get \"get_pto_schedule\" end end resources :admin do get \"dashboard\" get \"get_user\" post \"delete_user\" patch ...","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"Railsgoat::Application.routes.draw do get \"login\" => \"sessions#new\" get \"signup\" => \"users#new\" get \"logout\" => \"sessions#destroy\" get \"forgot_password\" => \"password_resets#forgot_password\" post \"forgot_password\" => \"password_resets#send_forgot_password\" get \"password_resets\" => \"password_resets#confirm_token\" post \"password_resets\" => \"password_resets#reset_password\" get \"dashboard/doc\" => \"dashboard#doc\" resources :sessions resources :users do get \"account_settings\" resources :retirement resources :paid_time_off resources :work_info resources :performance resources :benefit_forms resources :messages resources :pay do collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end end end get \"download\" => \"benefit_forms#download\" post \"upload\" => \"benefit_forms#upload\" resources :tutorials do collection do get \"credentials\" end end resources :schedule do collection do get \"get_pto_schedule\" end end resources :admin do get \"dashboard\" get \"get_user\" post \"delete_user\" patch ...","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":".association","typeFullName":"","resolvedMethod":".association","isExternal":true,"lineNumber":37,"columnNumber":7,"label":"CALL"},"definedBy":{"name":".association","typeFullName":"","resolvedMethod":".association","isExternal":true,"lineNumber":37,"columnNumber":7,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.1","signature":"","fileName":"config/routes.rb","lineNumber":18,"columnNumber":4,"usages":[{"targetObj":{"name":"resources :users do get \"account_settings\" resources :retirement resources :paid_time_off resources :work_info resources :performance resources :benefit_forms resources :messages resources :pay do collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end end end","typeFullName":"ANY","lineNumber":18,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"resources :users do get \"account_settings\" resources :retirement resources :paid_time_off resources :work_info resources :performance resources :benefit_forms resources :messages resources :pay do collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end end end","typeFullName":"ANY","lineNumber":18,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.1.2","signature":"","fileName":"config/routes.rb","lineNumber":28,"columnNumber":6,"usages":[{"targetObj":{"name":"resources :pay do collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end end","typeFullName":"ANY","lineNumber":28,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"resources :pay do collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end end","typeFullName":"ANY","lineNumber":28,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.1.2.3","signature":"","fileName":"config/routes.rb","lineNumber":29,"columnNumber":8,"usages":[{"targetObj":{"name":"collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end","typeFullName":"ANY","lineNumber":29,"columnNumber":8,"label":"UNKNOWN"},"definedBy":{"name":"collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end","typeFullName":"ANY","lineNumber":29,"columnNumber":8,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.11","signature":"","fileName":"config/routes.rb","lineNumber":68,"columnNumber":4,"usages":[{"targetObj":{"name":"namespace :api, defaults: {format: \"json\"} do namespace :v1 do resources :users resources :mobile end end","typeFullName":"ANY","lineNumber":68,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"namespace :api, defaults: {format: \"json\"} do namespace :v1 do resources :users resources :mobile end end","typeFullName":"ANY","lineNumber":68,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.11.12","signature":"","fileName":"config/routes.rb","lineNumber":69,"columnNumber":6,"usages":[{"targetObj":{"name":"namespace :v1 do resources :users resources :mobile end","typeFullName":"ANY","lineNumber":69,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"namespace :v1 do resources :users resources :mobile end","typeFullName":"ANY","lineNumber":69,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.4","signature":"","fileName":"config/routes.rb","lineNumber":40,"columnNumber":4,"usages":[{"targetObj":{"name":"resources :tutorials do collection do get \"credentials\" end end","typeFullName":"ANY","lineNumber":40,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"resources :tutorials do collection do get \"credentials\" end end","typeFullName":"ANY","lineNumber":40,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.4.5","signature":"","fileName":"config/routes.rb","lineNumber":41,"columnNumber":6,"usages":[{"targetObj":{"name":"collection do get \"credentials\" end","typeFullName":"ANY","lineNumber":41,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"collection do get \"credentials\" end","typeFullName":"ANY","lineNumber":41,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.6","signature":"","fileName":"config/routes.rb","lineNumber":46,"columnNumber":4,"usages":[{"targetObj":{"name":"resources :schedule do collection do get \"get_pto_schedule\" end end","typeFullName":"ANY","lineNumber":46,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"resources :schedule do collection do get \"get_pto_schedule\" end end","typeFullName":"ANY","lineNumber":46,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.6.7","signature":"","fileName":"config/routes.rb","lineNumber":47,"columnNumber":6,"usages":[{"targetObj":{"name":"collection do get \"get_pto_schedule\" end","typeFullName":"ANY","lineNumber":47,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"collection do get \"get_pto_schedule\" end","typeFullName":"ANY","lineNumber":47,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.8","signature":"","fileName":"config/routes.rb","lineNumber":52,"columnNumber":4,"usages":[{"targetObj":{"name":"resources :admin do get \"dashboard\" get \"get_user\" post \"delete_user\" patch \"update_user\" get \"get_all_users\" get \"analytics\" end","typeFullName":"ANY","lineNumber":52,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"resources :admin do get \"dashboard\" get \"get_user\" post \"delete_user\" patch \"update_user\" get \"get_all_users\" get \"analytics\" end","typeFullName":"ANY","lineNumber":52,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.9","signature":"","fileName":"config/routes.rb","lineNumber":61,"columnNumber":4,"usages":[{"targetObj":{"name":"resources :dashboard do collection do get \"home\" get \"change_graph\" end end","typeFullName":"ANY","lineNumber":61,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"resources :dashboard do collection do get \"home\" get \"change_graph\" end end","typeFullName":"ANY","lineNumber":61,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"config/routes.rb:
.0.9.10","signature":"","fileName":"config/routes.rb","lineNumber":62,"columnNumber":6,"usages":[{"targetObj":{"name":"collection do get \"home\" get \"change_graph\" end","typeFullName":"ANY","lineNumber":62,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"collection do get \"home\" get \"change_graph\" end","typeFullName":"ANY","lineNumber":62,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
","signature":"","fileName":"db/schema.rb","lineNumber":14,"columnNumber":0,"usages":[{"targetObj":{"name":"ActiveRecord::Schema.define(version: 20171007010129)","typeFullName":"ANY","lineNumber":14,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"ActiveRecord::Schema.define(version: 20171007010129)","typeFullName":"ANY","lineNumber":14,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"Schema","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":14,"columnNumber":0,"label":"CALL"},"invokedCalls":[{"callName":"define","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","db/schema.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":14,"columnNumber":0}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0","signature":"","fileName":"db/schema.rb","lineNumber":16,"columnNumber":2,"usages":[{"targetObj":{"name":"ActiveRecord::Schema.define(version: 20171007010129)","typeFullName":"ANY","lineNumber":16,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"ActiveRecord::Schema.define(version: 20171007010129)","typeFullName":"ANY","lineNumber":16,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.1","signature":"","fileName":"db/schema.rb","lineNumber":17,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"analytics\", force: :cascade do |t| t.string \"ip_address\" t.string \"referrer\" t.string \"user_agent\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":17,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"analytics\", force: :cascade do |t| t.string \"ip_address\" t.string \"referrer\" t.string \"user_agent\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":17,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":16,"columnNumber":48,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":16,"columnNumber":48,"label":"PARAM"},"invokedCalls":[{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":17,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":18,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":19,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":20,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":21,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.10","signature":"","fileName":"db/schema.rb","lineNumber":95,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"users\", force: :cascade do |t| t.string \"email\" t.string \"password\" t.boolean \"admin\" t.string \"first_name\" t.string \"last_name\" t.datetime \"created_at\" t.datetime \"updated_at\" t.string \"auth_token\" end","typeFullName":"ANY","lineNumber":95,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"users\", force: :cascade do |t| t.string \"email\" t.string \"password\" t.boolean \"admin\" t.string \"first_name\" t.string \"last_name\" t.datetime \"created_at\" t.datetime \"updated_at\" t.string \"auth_token\" end","typeFullName":"ANY","lineNumber":95,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":94,"columnNumber":44,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":94,"columnNumber":44,"label":"PARAM"},"invokedCalls":[{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":95,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":96,"columnNumber":4},{"callName":"boolean","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":97,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":98,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":99,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":100,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":101,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":102,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.11","signature":"","fileName":"db/schema.rb","lineNumber":106,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"work_infos\", force: :cascade do |t| t.integer \"user_id\" t.string \"income\" t.string \"bonuses\" t.integer \"years_worked\" t.string \"SSN\" t.date \"DoB\" t.datetime \"created_at\" t.datetime \"updated_at\" t.binary \"encrypted_ssn\" end","typeFullName":"ANY","lineNumber":106,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"work_infos\", force: :cascade do |t| t.integer \"user_id\" t.string \"income\" t.string \"bonuses\" t.integer \"years_worked\" t.string \"SSN\" t.date \"DoB\" t.datetime \"created_at\" t.datetime \"updated_at\" t.binary \"encrypted_ssn\" end","typeFullName":"ANY","lineNumber":106,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":105,"columnNumber":49,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":105,"columnNumber":49,"label":"PARAM"},"invokedCalls":[{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":106,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":107,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":108,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":109,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":110,"columnNumber":4},{"callName":"date","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":111,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":112,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":113,"columnNumber":4},{"callName":"binary","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":114,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.2","signature":"","fileName":"db/schema.rb","lineNumber":25,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"benefits\", force: :cascade do |t| t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":25,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"benefits\", force: :cascade do |t| t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":25,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":24,"columnNumber":47,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":24,"columnNumber":47,"label":"PARAM"},"invokedCalls":[{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":25,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":26,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.3","signature":"","fileName":"db/schema.rb","lineNumber":30,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"key_managements\", force: :cascade do |t| t.string \"iv\" t.integer \"user_id\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":30,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"key_managements\", force: :cascade do |t| t.string \"iv\" t.integer \"user_id\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":30,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":29,"columnNumber":54,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":29,"columnNumber":54,"label":"PARAM"},"invokedCalls":[{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":30,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":31,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":32,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":33,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.4","signature":"","fileName":"db/schema.rb","lineNumber":37,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"messages\", force: :cascade do |t| t.integer \"creator_id\" t.integer \"receiver_id\" t.text \"message\" t.boolean \"read\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":37,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"messages\", force: :cascade do |t| t.integer \"creator_id\" t.integer \"receiver_id\" t.text \"message\" t.boolean \"read\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":37,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":36,"columnNumber":47,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":36,"columnNumber":47,"label":"PARAM"},"invokedCalls":[{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":37,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":38,"columnNumber":4},{"callName":"text","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":39,"columnNumber":4},{"callName":"boolean","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":40,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":41,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":42,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.5","signature":"","fileName":"db/schema.rb","lineNumber":46,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"paid_time_offs\", force: :cascade do |t| t.integer \"user_id\" t.integer \"sick_days_taken\" t.integer \"sick_days_earned\" t.integer \"pto_taken\" t.integer \"pto_earned\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":46,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"paid_time_offs\", force: :cascade do |t| t.integer \"user_id\" t.integer \"sick_days_taken\" t.integer \"sick_days_earned\" t.integer \"pto_taken\" t.integer \"pto_earned\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":46,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":45,"columnNumber":53,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":45,"columnNumber":53,"label":"PARAM"},"invokedCalls":[{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":46,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":47,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":48,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":49,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":50,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":51,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":52,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.6","signature":"","fileName":"db/schema.rb","lineNumber":56,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"pays\", force: :cascade do |t| t.integer \"user_id\" t.string \"bank_account_num\" t.string \"bank_routing_num\" t.integer \"percent_of_deposit\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":56,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"pays\", force: :cascade do |t| t.integer \"user_id\" t.string \"bank_account_num\" t.string \"bank_routing_num\" t.integer \"percent_of_deposit\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":56,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":55,"columnNumber":43,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":55,"columnNumber":43,"label":"PARAM"},"invokedCalls":[{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":56,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":57,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":58,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":59,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":60,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":61,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.7","signature":"","fileName":"db/schema.rb","lineNumber":65,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"performances\", force: :cascade do |t| t.integer \"user_id\" t.date \"date_submitted\" t.integer \"score\" t.string \"comments\" t.integer \"reviewer\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":65,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"performances\", force: :cascade do |t| t.integer \"user_id\" t.date \"date_submitted\" t.integer \"score\" t.string \"comments\" t.integer \"reviewer\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":65,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":64,"columnNumber":51,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":64,"columnNumber":51,"label":"PARAM"},"invokedCalls":[{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":65,"columnNumber":4},{"callName":"date","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":66,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":67,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":68,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":69,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":70,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":71,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.8","signature":"","fileName":"db/schema.rb","lineNumber":75,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"retirements\", force: :cascade do |t| t.string \"total\" t.string \"employee_contrib\" t.string \"employer_contrib\" t.integer \"user_id\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":75,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"retirements\", force: :cascade do |t| t.string \"total\" t.string \"employee_contrib\" t.string \"employer_contrib\" t.integer \"user_id\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":75,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":74,"columnNumber":50,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":74,"columnNumber":50,"label":"PARAM"},"invokedCalls":[{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":75,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":76,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":77,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":78,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":79,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":80,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/schema.rb:
.0.9","signature":"","fileName":"db/schema.rb","lineNumber":84,"columnNumber":4,"usages":[{"targetObj":{"name":"create_table \"schedules\", force: :cascade do |t| t.string \"event_type\" t.date \"date_begin\" t.date \"date_end\" t.string \"event_name\" t.string \"event_desc\" t.integer \"user_id\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":84,"columnNumber":4,"label":"UNKNOWN"},"definedBy":{"name":"create_table \"schedules\", force: :cascade do |t| t.string \"event_type\" t.date \"date_begin\" t.date \"date_end\" t.string \"event_name\" t.string \"event_desc\" t.integer \"user_id\" t.datetime \"created_at\" t.datetime \"updated_at\" end","typeFullName":"ANY","lineNumber":84,"columnNumber":4,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":83,"columnNumber":48,"label":"PARAM"},"definedBy":{"name":"t","typeFullName":"ANY","position":1,"lineNumber":83,"columnNumber":48,"label":"PARAM"},"invokedCalls":[{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":84,"columnNumber":4},{"callName":"date","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":85,"columnNumber":4},{"callName":"date","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":86,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":87,"columnNumber":4},{"callName":"string","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":88,"columnNumber":4},{"callName":"integer","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":89,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":90,"columnNumber":4},{"callName":"datetime","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":91,"columnNumber":4}],"argToCalls":[]}]},{"code":"","fullName":"db/seeds.rb:
","signature":"","fileName":"db/seeds.rb","lineNumber":6,"columnNumber":0,"usages":[{"targetObj":{"name":"users","typeFullName":"ANY","lineNumber":6,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { email: \"admin@metacorp.com\", admin: true, password: \"admin1234\", password_confirmation: \"admin1234\", first_name: \"Admin\", last_name: \"\", }, { email: \"jmmastey@metacorp.com\", admin: false, password: \"railsgoat!\", password_confirmation: \"railsgoat!\", first_name: \"Joseph\", last_name: \"Mastey\", }, { email: \"jack@metacorp.com\", admin: false, password: \"yankeessuck\", password_confirmation: \"yankeessuck\", first_name: \"Jack\", last_name: \"Mannino\", }, { email: \"jim@metacorp.com\", admin: false, password: \"alohaowasp\", password_confirmation: \"alohaowasp\", first_name: \"Jim\", last_name: \"Manico\", }, { email: \"mike@metacorp.com\", admin: false, password: \"motocross1445\", password_confirmation: \"motocross1445\", first_name: \"Mike\", last_name: \"McCabe\", }, { email: \"ken@metacorp.com\", admin: false, password: \"citrusblend\", password_confirmation: \"citrusblend\", first_name: \"Ken\", last_name: \"Johnson\", }, { email: \"admin2@metacorp.com\", admin: false, password: \"adminadmin\", password_confirmation: \"...","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":6,"columnNumber":8,"label":"CALL"},"invokedCalls":[{"callName":"each_with_object","resolvedMethod":null,"paramTypes":["db/seeds.rb:
.0&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":278,"columnNumber":11}],"argToCalls":[]},{"targetObj":{"name":"schedule","typeFullName":"ANY","lineNumber":129,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { user: \"jack@metacorp.com\", date_begin: Date.new","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":129,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["db/seeds.rb:
.3&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":292,"columnNumber":0}],"argToCalls":[{"callName":"schedule = [ { user: \"jack@metacorp.com\", date_begin: Date.new","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":129,"columnNumber":0}]},{"targetObj":{"name":"retirements","typeFullName":"ANY","lineNumber":71,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { user: \"jack@metacorp.com\", employee_contrib: \"1000\", employer_contrib: \"2000\", total: \"4500\" }, { user: \"jim@metacorp.com\", employee_contrib: \"8000\", employer_contrib: \"16000\", total: \"30000\" }, { user: \"mike@metacorp.com\", employee_contrib: \"10000\", employer_contrib: \"20000\", total: \"40000\" }, { user: \"ken@metacorp.com\", employee_contrib: \"3000\", employer_contrib: \"6000\", total: \"12500\" } ]","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":71,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["db/seeds.rb:
.1&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":282,"columnNumber":0}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":132,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":132,"columnNumber":16}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":132,"columnNumber":16}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":141,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":141,"columnNumber":14}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":141,"columnNumber":14}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":239,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":239,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":239,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":246,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":246,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":246,"columnNumber":20}]},{"targetObj":{"name":"work_info","typeFullName":"ANY","lineNumber":164,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { user: \"jack@metacorp.com\", income: \"$50,000\", bonuses: \"$10,000\", years_worked: 2, SSN: \"555-55-5555\", DoB: \"01-01-1980\" }, { user: \"jim@metacorp.com\", income: \"$40,000\", bonuses: \"$10,000\", years_worked: 1, SSN: \"333-33-3333\", DoB: \"01-01-1979\" }, { user: \"mike@metacorp.com\", income: \"$60,000\", bonuses: \"$12,000\", years_worked: 3, SSN: \"444-44-4444\", DoB: \"01-01-1981\" }, { user: \"ken@metacorp.com\", income: \"$30,000\", bonuses: \"7,000\", years_worked: 1, SSN: \"222-22-2222\", DoB: \"01-01-1982\" } ]","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":164,"columnNumber":12,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["db/seeds.rb:
.6&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":308,"columnNumber":0}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":156,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":156,"columnNumber":16}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":156,"columnNumber":16}]},{"targetObj":{"name":"paid_time_off","typeFullName":"ANY","lineNumber":98,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { user: \"jack@metacorp.com\", sick_days_taken: 2, sick_days_earned: 5, pto_taken: 5, pto_earned: 30 }, { user: \"jim@metacorp.com\", sick_days_taken: 3, sick_days_earned: 6, pto_taken: 3, pto_earned: 20 }, { user: \"mike@metacorp.com\", sick_days_taken: 2, sick_days_earned: 5, pto_taken: 5, pto_earned: 30 }, { user: \"ken@metacorp.com\", sick_days_taken: 1, sick_days_earned: 5, pto_taken: 10, pto_earned: 30 } ]","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":98,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["db/seeds.rb:
.2&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":287,"columnNumber":0}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":225,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":225,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":225,"columnNumber":20}]},{"targetObj":{"name":"messages","typeFullName":"ANY","lineNumber":251,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { creator: \"ken@metacorp.com\", receiver: \"jack@metacorp.com\", message: \"Your benefits have been updated.\", read: false }, { creator: \"mike@metacorp.com\", receiver: \"jim@metacorp.com\", message: \"Please update your profile.\", read: false }, { creator: \"jim@metacorp.com\", receiver: \"mike@metacorp.com\", message: \"Welcome to Railsgoat.\", read: false }, { creator: \"jack@metacorp.com\", receiver: \"ken@metacorp.com\", message: \"Hello friend.\", read: false } ]","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":251,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["db/seeds.rb:
.5&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":302,"columnNumber":0}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":218,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":218,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":218,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":204,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":204,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":204,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":211,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":211,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":211,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":232,"columnNumber":20,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":232,"columnNumber":20}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":232,"columnNumber":20}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":148,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":148,"columnNumber":16}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":148,"columnNumber":16}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":140,"columnNumber":16,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":140,"columnNumber":16}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":140,"columnNumber":16}]},{"targetObj":{"name":"performance","typeFullName":"ANY","lineNumber":199,"columnNumber":0,"label":"LOCAL"},"definedBy":{"name":"[ { user: \"jack@metacorp.com\", reviewer: 1, comments: \"Great job! You are my hero\", date_submitted: Date.new","typeFullName":"","resolvedMethod":".arrayInitializer","isExternal":null,"lineNumber":199,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"each","resolvedMethod":null,"paramTypes":["db/seeds.rb:
.4&Proc"],"returnType":"ANY","isExternal":null,"lineNumber":297,"columnNumber":0}],"argToCalls":[{"callName":"performance = [ { user: \"jack@metacorp.com\", reviewer: 1, comments: \"Great job! You are my hero\", date_submitted: Date.new","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":199,"columnNumber":0}]},{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":6,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":6,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":149,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":149,"columnNumber":14}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":149,"columnNumber":14}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":133,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":133,"columnNumber":14}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":133,"columnNumber":14}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"Date.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":157,"columnNumber":14,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.Integer","__core.Kernel.Integer","__core.Kernel.Integer"],"returnType":"ANY","isExternal":null,"lineNumber":157,"columnNumber":14}],"argToCalls":[{"callName":" = Date.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":157,"columnNumber":14}]}]},{"code":"","fullName":"db/seeds.rb:
.0","signature":"","fileName":"db/seeds.rb","lineNumber":279,"columnNumber":2,"usages":[{"targetObj":{"name":"users.each_with_object({})","typeFullName":"ANY","lineNumber":279,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"users.each_with_object({})","typeFullName":"ANY","lineNumber":279,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"user_info","typeFullName":"ANY","position":1,"lineNumber":278,"columnNumber":42,"label":"PARAM"},"definedBy":{"name":"user_info","typeFullName":"ANY","position":1,"lineNumber":278,"columnNumber":42,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":279,"columnNumber":25}]},{"targetObj":{"name":"","typeFullName":"app/models/user.rb:
.User","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.User","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":279,"columnNumber":25,"label":"CALL"},"invokedCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":279,"columnNumber":25}],"argToCalls":[]}]},{"code":"","fullName":"db/seeds.rb:
.1","signature":"","fileName":"db/seeds.rb","lineNumber":283,"columnNumber":2,"usages":[{"targetObj":{"name":"retirements.each do |r| r[:user_id] = user_map.fetch(r.delete(:user)","typeFullName":"ANY","lineNumber":283,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"retirements.each do |r| r[:user_id] = user_map.fetch(r.delete(:user)","typeFullName":"ANY","lineNumber":283,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"r","typeFullName":"ANY","position":1,"lineNumber":282,"columnNumber":21,"label":"PARAM"},"definedBy":{"name":"r","typeFullName":"ANY","position":1,"lineNumber":282,"columnNumber":21,"label":"PARAM"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":283,"columnNumber":31}],"argToCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":284,"columnNumber":2}]},{"targetObj":{"name":"","typeFullName":"app/models/retirement.rb:
.Retirement","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Retirement","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":284,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":284,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"db/seeds.rb:
.2","signature":"","fileName":"db/seeds.rb","lineNumber":288,"columnNumber":2,"usages":[{"targetObj":{"name":"paid_time_off.each do |pto| pto[:user_id] = user_map.fetch(pto.delete(:user)","typeFullName":"ANY","lineNumber":288,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"paid_time_off.each do |pto| pto[:user_id] = user_map.fetch(pto.delete(:user)","typeFullName":"ANY","lineNumber":288,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"pto","typeFullName":"ANY","position":1,"lineNumber":287,"columnNumber":23,"label":"PARAM"},"definedBy":{"name":"pto","typeFullName":"ANY","position":1,"lineNumber":287,"columnNumber":23,"label":"PARAM"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":288,"columnNumber":33}],"argToCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":289,"columnNumber":2}]},{"targetObj":{"name":"","typeFullName":"app/models/paid_time_off.rb:
.PaidTimeOff","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.PaidTimeOff","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":289,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":289,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"db/seeds.rb:
.3","signature":"","fileName":"db/seeds.rb","lineNumber":293,"columnNumber":2,"usages":[{"targetObj":{"name":"schedule.each do |event| event[:user_id] = user_map.fetch(event.delete(:user)","typeFullName":"ANY","lineNumber":293,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"schedule.each do |event| event[:user_id] = user_map.fetch(event.delete(:user)","typeFullName":"ANY","lineNumber":293,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"event","typeFullName":"ANY","position":1,"lineNumber":292,"columnNumber":18,"label":"PARAM"},"definedBy":{"name":"event","typeFullName":"ANY","position":1,"lineNumber":292,"columnNumber":18,"label":"PARAM"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":293,"columnNumber":35}],"argToCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":294,"columnNumber":2}]},{"targetObj":{"name":"","typeFullName":"app/models/schedule.rb:
.Schedule","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Schedule","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":294,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":294,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"db/seeds.rb:
.4","signature":"","fileName":"db/seeds.rb","lineNumber":298,"columnNumber":2,"usages":[{"targetObj":{"name":"performance.each do |perf| perf[:user_id] = user_map.fetch(perf.delete(:user)","typeFullName":"ANY","lineNumber":298,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"performance.each do |perf| perf[:user_id] = user_map.fetch(perf.delete(:user)","typeFullName":"ANY","lineNumber":298,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"perf","typeFullName":"ANY","position":1,"lineNumber":297,"columnNumber":21,"label":"PARAM"},"definedBy":{"name":"perf","typeFullName":"ANY","position":1,"lineNumber":297,"columnNumber":21,"label":"PARAM"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":298,"columnNumber":34}],"argToCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":299,"columnNumber":2}]},{"targetObj":{"name":"","typeFullName":"app/models/performance.rb:
.Performance","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Performance","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":299,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":299,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"db/seeds.rb:
.5","signature":"","fileName":"db/seeds.rb","lineNumber":303,"columnNumber":2,"usages":[{"targetObj":{"name":"messages.each do |message| message[:creator_id] = user_map.fetch(message.delete(:creator)","typeFullName":"ANY","lineNumber":303,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"messages.each do |message| message[:creator_id] = user_map.fetch(message.delete(:creator)","typeFullName":"ANY","lineNumber":303,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"message","typeFullName":"ANY","position":1,"lineNumber":302,"columnNumber":18,"label":"PARAM"},"definedBy":{"name":"message","typeFullName":"ANY","position":1,"lineNumber":302,"columnNumber":18,"label":"PARAM"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":303,"columnNumber":40},{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":304,"columnNumber":41}],"argToCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":305,"columnNumber":2}]},{"targetObj":{"name":"","typeFullName":"app/models/message.rb:
.Message","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Message","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":305,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":305,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"db/seeds.rb:
.6","signature":"","fileName":"db/seeds.rb","lineNumber":309,"columnNumber":2,"usages":[{"targetObj":{"name":"work_info.each do |wi| wi[:user_id] = user_map.fetch(wi.delete(:user)","typeFullName":"ANY","lineNumber":309,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"work_info.each do |wi| wi[:user_id] = user_map.fetch(wi.delete(:user)","typeFullName":"ANY","lineNumber":309,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"wi","typeFullName":"ANY","position":1,"lineNumber":308,"columnNumber":19,"label":"PARAM"},"definedBy":{"name":"wi","typeFullName":"ANY","position":1,"lineNumber":308,"columnNumber":19,"label":"PARAM"},"invokedCalls":[{"callName":"delete","resolvedMethod":null,"paramTypes":["__core.Kernel.Symbol"],"returnType":"ANY","isExternal":null,"lineNumber":309,"columnNumber":32}],"argToCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":310,"columnNumber":2}]},{"targetObj":{"name":"","typeFullName":"app/models/work_info.rb:
.WorkInfo","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.WorkInfo","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":310,"columnNumber":2,"label":"CALL"},"invokedCalls":[{"callName":"create!","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":310,"columnNumber":2}],"argToCalls":[]}]},{"code":"","fullName":"lib/encryption.rb:
","signature":"","fileName":"lib/encryption.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"module Encryption # Added a re-usable encryption routine, shouldn't be an issue! def self.encrypt_sensitive_value(val = \"\")","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"module Encryption # Added a re-usable encryption routine, shouldn't be an issue! def self.encrypt_sensitive_value(val = \"\")","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/encryption.rb:
.Encryption.","signature":"","fileName":"lib/encryption.rb","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"","typeFullName":"","resolvedMethod":"lib/encryption.rb:
.Encryption.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"lib/encryption.rb:
.Encryption.","isExternal":false,"lineNumber":2,"columnNumber":0,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/encryption.rb:
.Encryption.cipher_type","signature":"","fileName":"lib/encryption.rb","lineNumber":33,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.cipher_type \"aes-256-cbc\" end","typeFullName":"ANY","lineNumber":33,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.cipher_type \"aes-256-cbc\" end","typeFullName":"ANY","lineNumber":33,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/encryption.rb:
.Encryption.decrypt_sensitive_value","signature":"","fileName":"lib/encryption.rb","lineNumber":14,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.decrypt_sensitive_value(val = \"\")","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.decrypt_sensitive_value(val = \"\")","typeFullName":"ANY","lineNumber":14,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"val","typeFullName":"ANY","position":1,"lineNumber":14,"columnNumber":35,"label":"PARAM"},"definedBy":{"name":"val","typeFullName":"ANY","position":1,"lineNumber":14,"columnNumber":35,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"defined?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":14,"columnNumber":41}]},{"targetObj":{"name":"","typeFullName":"Base64","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Base64","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":19,"columnNumber":15,"label":"CALL"},"invokedCalls":[{"callName":"strict_decode64","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":19,"columnNumber":15}],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"OpenSSL::Cipher.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":15,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":15,"columnNumber":11}],"argToCalls":[{"callName":" = OpenSSL::Cipher.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":15,"columnNumber":11}]}]},{"code":"","fullName":"lib/encryption.rb:
.Encryption.encrypt_sensitive_value","signature":"","fileName":"lib/encryption.rb","lineNumber":5,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.encrypt_sensitive_value(val = \"\")","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.encrypt_sensitive_value(val = \"\")","typeFullName":"ANY","lineNumber":5,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"new_val","typeFullName":"ANY","lineNumber":10,"columnNumber":5,"label":"LOCAL"},"definedBy":{"name":"aes.update","typeFullName":"","resolvedMethod":".addition","isExternal":null,"lineNumber":10,"columnNumber":15,"label":"CALL"},"invokedCalls":[],"argToCalls":[{"callName":"strict_encode64","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":11,"columnNumber":5}]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"OpenSSL::Cipher.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":6,"columnNumber":11,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":6,"columnNumber":11}],"argToCalls":[{"callName":" = OpenSSL::Cipher.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":6,"columnNumber":11}]},{"targetObj":{"name":"","typeFullName":"ANY","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"","typeFullName":"","resolvedMethod":"","isExternal":null,"lineNumber":11,"columnNumber":5,"label":"CALL"},"invokedCalls":[{"callName":"encode","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":11,"columnNumber":5}],"argToCalls":[]},{"targetObj":{"name":"val","typeFullName":"ANY","position":1,"lineNumber":5,"columnNumber":35,"label":"PARAM"},"definedBy":{"name":"val","typeFullName":"ANY","position":1,"lineNumber":5,"columnNumber":35,"label":"PARAM"},"invokedCalls":[],"argToCalls":[{"callName":"defined?","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","position":1,"isExternal":null,"lineNumber":5,"columnNumber":41}]},{"targetObj":{"name":"","typeFullName":"Base64","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"self.Base64","typeFullName":"ANY","resolvedMethod":".fieldAccess","isExternal":null,"lineNumber":11,"columnNumber":5,"label":"CALL"},"invokedCalls":[{"callName":"strict_encode64","resolvedMethod":null,"paramTypes":["ANY"],"returnType":"ANY","isExternal":null,"lineNumber":11,"columnNumber":5}],"argToCalls":[]}]},{"code":"","fullName":"lib/encryption.rb:
.Encryption.iv","signature":"","fileName":"lib/encryption.rb","lineNumber":29,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.iv RG_IV end","typeFullName":"ANY","lineNumber":29,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.iv RG_IV end","typeFullName":"ANY","lineNumber":29,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/encryption.rb:
.Encryption.key","signature":"","fileName":"lib/encryption.rb","lineNumber":24,"columnNumber":2,"usages":[{"targetObj":{"name":"def self.key raise \"Key Missing. Add one in initializers/key.rb\" if !(KEY)","typeFullName":"ANY","lineNumber":24,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"def self.key raise \"Key Missing. Add one in initializers/key.rb\" if !(KEY)","typeFullName":"ANY","lineNumber":24,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"","typeFullName":"","lineNumber":null,"columnNumber":null,"label":"LOCAL"},"definedBy":{"name":"StandardError.new","typeFullName":"","resolvedMethod":".alloc","isExternal":null,"lineNumber":25,"columnNumber":10,"label":"CALL"},"invokedCalls":[{"callName":"initialize","resolvedMethod":null,"paramTypes":["__core.Kernel.String"],"returnType":"ANY","isExternal":null,"lineNumber":25,"columnNumber":10}],"argToCalls":[{"callName":" = StandardError.initialize","resolvedMethod":null,"paramTypes":[],"returnType":"ANY","position":1,"isExternal":true,"lineNumber":25,"columnNumber":10}]}]},{"code":"","fullName":"lib/tasks/server.rake:
","signature":"","fileName":"lib/tasks/server.rake","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"namespace :server","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"namespace :server","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/tasks/server.rake:
.0","signature":"","fileName":"lib/tasks/server.rake","lineNumber":4,"columnNumber":5,"usages":[{"targetObj":{"name":"namespace :server do desc \"Start Rails\" task :start do pid_file = \"tmp/pids/server.pid\" if !(File.exist?(pid_file)","typeFullName":"ANY","lineNumber":4,"columnNumber":5,"label":"UNKNOWN"},"definedBy":{"name":"namespace :server do desc \"Start Rails\" task :start do pid_file = \"tmp/pids/server.pid\" if !(File.exist?(pid_file)","typeFullName":"ANY","lineNumber":4,"columnNumber":5,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/tasks/server.rake:
.0.1","signature":"","fileName":"lib/tasks/server.rake","lineNumber":6,"columnNumber":6,"usages":[{"targetObj":{"name":"task :start do pid_file = \"tmp/pids/server.pid\" if !(File.exist?(pid_file)","typeFullName":"ANY","lineNumber":6,"columnNumber":6,"label":"UNKNOWN"},"definedBy":{"name":"task :start do pid_file = \"tmp/pids/server.pid\" if !(File.exist?(pid_file)","typeFullName":"ANY","lineNumber":6,"columnNumber":6,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]},{"targetObj":{"name":"puts","typeFullName":"","resolvedMethod":"__core.Kernel.puts","isExternal":true,"lineNumber":20,"columnNumber":10,"label":"CALL"},"definedBy":{"name":"puts","typeFullName":"","resolvedMethod":"__core.Kernel.puts","isExternal":true,"lineNumber":20,"columnNumber":10,"label":"CALL"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/tasks/server.rake:
.0.2","signature":"","fileName":"lib/tasks/server.rake","lineNumber":16,"columnNumber":8,"usages":[{"targetObj":{"name":"task :stop do pid_file = \"tmp/pids/server.pid\" if File.exist?(pid_file)","typeFullName":"ANY","lineNumber":16,"columnNumber":8,"label":"UNKNOWN"},"definedBy":{"name":"task :stop do pid_file = \"tmp/pids/server.pid\" if File.exist?(pid_file)","typeFullName":"ANY","lineNumber":16,"columnNumber":8,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/tasks/traning.rake:
","signature":"","fileName":"lib/tasks/traning.rake","lineNumber":2,"columnNumber":0,"usages":[{"targetObj":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"definedBy":{"name":"(...)","typeFullName":"ANY","lineNumber":2,"columnNumber":0,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]},{"code":"","fullName":"lib/tasks/traning.rake:
.0","signature":"","fileName":"lib/tasks/traning.rake","lineNumber":4,"columnNumber":2,"usages":[{"targetObj":{"name":"task :training do Rake::Task[\"spec:vulnerabilities\"].invoke end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"definedBy":{"name":"task :training do Rake::Task[\"spec:vulnerabilities\"].invoke end","typeFullName":"ANY","lineNumber":4,"columnNumber":2,"label":"UNKNOWN"},"invokedCalls":[],"argToCalls":[]}]}],"userDefinedTypes":[{"name":"app/controllers/admin_controller.rb:
.AdminController.update_user.0&Proc","fields":[{"name":"call","typeFullName":"app/controllers/admin_controller.rb:
.AdminController.update_user.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/admin_controller.rb","lineNumber":37,"columnNumber":45},{"name":"app/controllers/admin_controller.rb:
.AdminController.update_user.1.2&Proc","fields":[{"name":"call","typeFullName":"app/controllers/admin_controller.rb:
.AdminController.update_user.1.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/admin_controller.rb","lineNumber":44,"columnNumber":20},{"name":"app/controllers/admin_controller.rb:
.AdminController.update_user.1&Proc","fields":[{"name":"call","typeFullName":"app/controllers/admin_controller.rb:
.AdminController.update_user.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/admin_controller.rb","lineNumber":44,"columnNumber":6},{"name":"app/controllers/admin_controller.rb:
.AdminController.delete_user.3.4&Proc","fields":[{"name":"call","typeFullName":"app/controllers/admin_controller.rb:
.AdminController.delete_user.3.4","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/admin_controller.rb","lineNumber":57,"columnNumber":20},{"name":"app/controllers/admin_controller.rb:
.AdminController.delete_user.3&Proc","fields":[{"name":"call","typeFullName":"app/controllers/admin_controller.rb:
.AdminController.delete_user.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/admin_controller.rb","lineNumber":57,"columnNumber":6},{"name":"app/controllers/admin_controller.rb:
.AdminController","fields":[{"name":"@users","typeFullName":"ANY","lineNumber":25,"columnNumber":4,"label":"LOCAL"},{"name":"@user","typeFullName":"ANY","lineNumber":29,"columnNumber":4,"label":"LOCAL"},{"name":"@admin_select","typeFullName":"ANY","lineNumber":31,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"dashboard","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.dashboard","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":7,"columnNumber":2},{"callName":"analytics","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.analytics","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":10,"columnNumber":2},{"callName":"get_all_users","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.get_all_users","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":24,"columnNumber":2},{"callName":"get_user","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.get_user","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":28,"columnNumber":2},{"callName":"update_user","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.update_user","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":34,"columnNumber":2},{"callName":"delete_user","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.delete_user","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":48,"columnNumber":2},{"callName":"custom_fields","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.custom_fields","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":63,"columnNumber":2},{"callName":"admin_param","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.admin_param","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":68,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/admin_controller.rb:
.AdminController.initialize","paramTypes":["app/controllers/admin_controller.rb:
.AdminController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/admin_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.","paramTypes":["app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"show","resolvedMethod":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.show","paramTypes":["app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController"],"returnType":"ANY","isExternal":false,"lineNumber":8,"columnNumber":2},{"callName":"index","resolvedMethod":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.index","paramTypes":["app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController"],"returnType":"ANY","isExternal":false,"lineNumber":15,"columnNumber":2},{"callName":"mobile_request?","resolvedMethod":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.mobile_request?","paramTypes":["app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController"],"returnType":"ANY","isExternal":false,"lineNumber":26,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController.initialize","paramTypes":["app/controllers/api/v1/mobile_controller.rb:
.Api.V1.MobileController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/api/v1/mobile_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.valid_api_token.0&Proc","fields":[{"name":"call","typeFullName":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.valid_api_token.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":22,"columnNumber":6},{"name":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController","fields":[{"name":"@clean_token","typeFullName":"ANY","lineNumber":49,"columnNumber":4,"label":"LOCAL"},{"name":"@user","typeFullName":"ANY","lineNumber":54,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.index","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":9,"columnNumber":2},{"callName":"show","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.show","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":13,"columnNumber":2},{"callName":"valid_api_token","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.valid_api_token","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":19,"columnNumber":2},{"callName":"identify_user","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.identify_user","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":30,"columnNumber":2},{"callName":"check_hash","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.check_hash","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController","ANY","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":41,"columnNumber":2},{"callName":"unescape_token","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.unescape_token","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":48,"columnNumber":2},{"callName":"extrapolate_user","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.extrapolate_user","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":53,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController.initialize","paramTypes":["app/controllers/api/v1/users_controller.rb:
.Api.V1.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/api/v1/users_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/application_controller.rb:
.ApplicationController","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"mailer_options","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.mailer_options","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":13,"columnNumber":2},{"callName":"current_user","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.current_user","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":18,"columnNumber":2},{"callName":"authenticated","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.authenticated","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":25,"columnNumber":2},{"callName":"is_admin?","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.is_admin?","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":30,"columnNumber":2},{"callName":"administrative","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.administrative","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":34,"columnNumber":2},{"callName":"has_info","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.has_info","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":40,"columnNumber":2},{"callName":"create_analytic","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.create_analytic","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":54,"columnNumber":2},{"callName":"sanitize_font","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.sanitize_font","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":58,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/application_controller.rb:
.ApplicationController.initialize","paramTypes":["app/controllers/application_controller.rb:
.ApplicationController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/application_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController","fields":[{"name":"@benefits","typeFullName":"ANY","lineNumber":5,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.","paramTypes":["app/controllers/benefit_forms_controller.rb:
.BenefitFormsController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.index","paramTypes":["app/controllers/benefit_forms_controller.rb:
.BenefitFormsController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"download","resolvedMethod":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.download","paramTypes":["app/controllers/benefit_forms_controller.rb:
.BenefitFormsController"],"returnType":"ANY","isExternal":false,"lineNumber":8,"columnNumber":2},{"callName":"upload","resolvedMethod":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.upload","paramTypes":["app/controllers/benefit_forms_controller.rb:
.BenefitFormsController"],"returnType":"ANY","isExternal":false,"lineNumber":18,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/benefit_forms_controller.rb:
.BenefitFormsController.initialize","paramTypes":["app/controllers/benefit_forms_controller.rb:
.BenefitFormsController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/controllers/benefit_forms_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/dashboard_controller.rb:
.DashboardController","fields":[{"name":"@user","typeFullName":"ANY","lineNumber":7,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/dashboard_controller.rb:
.DashboardController.","paramTypes":["app/controllers/dashboard_controller.rb:
.DashboardController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"home","resolvedMethod":"app/controllers/dashboard_controller.rb:
.DashboardController.home","paramTypes":["app/controllers/dashboard_controller.rb:
.DashboardController"],"returnType":"ANY","isExternal":false,"lineNumber":6,"columnNumber":2},{"callName":"change_graph","resolvedMethod":"app/controllers/dashboard_controller.rb:
.DashboardController.change_graph","paramTypes":["app/controllers/dashboard_controller.rb:
.DashboardController"],"returnType":"ANY","isExternal":false,"lineNumber":15,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/dashboard_controller.rb:
.DashboardController.initialize","paramTypes":["app/controllers/dashboard_controller.rb:
.DashboardController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/dashboard_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/messages_controller.rb:
.MessagesController.create.0.1&Proc","fields":[{"name":"call","typeFullName":"app/controllers/messages_controller.rb:
.MessagesController.create.0.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/messages_controller.rb","lineNumber":28,"columnNumber":22},{"name":"app/controllers/messages_controller.rb:
.MessagesController.create.0.2&Proc","fields":[{"name":"call","typeFullName":"app/controllers/messages_controller.rb:
.MessagesController.create.0.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/messages_controller.rb","lineNumber":29,"columnNumber":22},{"name":"app/controllers/messages_controller.rb:
.MessagesController.create.0&Proc","fields":[{"name":"call","typeFullName":"app/controllers/messages_controller.rb:
.MessagesController.create.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/messages_controller.rb","lineNumber":28,"columnNumber":8},{"name":"app/controllers/messages_controller.rb:
.MessagesController.create.3.4&Proc","fields":[{"name":"call","typeFullName":"app/controllers/messages_controller.rb:
.MessagesController.create.3.4","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/messages_controller.rb","lineNumber":33,"columnNumber":22},{"name":"app/controllers/messages_controller.rb:
.MessagesController.create.3.5&Proc","fields":[{"name":"call","typeFullName":"app/controllers/messages_controller.rb:
.MessagesController.create.3.5","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/messages_controller.rb","lineNumber":34,"columnNumber":22},{"name":"app/controllers/messages_controller.rb:
.MessagesController.create.3&Proc","fields":[{"name":"call","typeFullName":"app/controllers/messages_controller.rb:
.MessagesController.create.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/messages_controller.rb","lineNumber":33,"columnNumber":8},{"name":"app/controllers/messages_controller.rb:
.MessagesController","fields":[{"name":"@messages","typeFullName":"ANY","lineNumber":5,"columnNumber":4,"label":"LOCAL"},{"name":"@message","typeFullName":"ANY","lineNumber":6,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.","paramTypes":["app/controllers/messages_controller.rb:
.MessagesController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.index","paramTypes":["app/controllers/messages_controller.rb:
.MessagesController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"show","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.show","paramTypes":["app/controllers/messages_controller.rb:
.MessagesController"],"returnType":"ANY","isExternal":false,"lineNumber":10,"columnNumber":2},{"callName":"destroy","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.destroy","paramTypes":["app/controllers/messages_controller.rb:
.MessagesController"],"returnType":"ANY","isExternal":false,"lineNumber":14,"columnNumber":2},{"callName":"create","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.create","paramTypes":["app/controllers/messages_controller.rb:
.MessagesController"],"returnType":"ANY","isExternal":false,"lineNumber":25,"columnNumber":2},{"callName":"message_params","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.message_params","paramTypes":["app/controllers/messages_controller.rb:
.MessagesController"],"returnType":"ANY","isExternal":false,"lineNumber":41,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/messages_controller.rb:
.MessagesController.initialize","paramTypes":["app/controllers/messages_controller.rb:
.MessagesController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/controllers/messages_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController","fields":[{"name":"@pto","typeFullName":"ANY","lineNumber":5,"columnNumber":4,"label":"LOCAL"},{"name":"@schedule","typeFullName":"ANY","lineNumber":6,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.","paramTypes":["app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.index","paramTypes":["app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController.initialize","paramTypes":["app/controllers/paid_time_off_controller.rb:
.PaidTimeOffController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/controllers/paid_time_off_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/password_resets_controller.rb:
.PasswordResetsController","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"reset_password","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.reset_password","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController"],"returnType":"ANY","isExternal":false,"lineNumber":5,"columnNumber":2},{"callName":"confirm_token","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.confirm_token","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController"],"returnType":"ANY","isExternal":false,"lineNumber":19,"columnNumber":2},{"callName":"send_forgot_password","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.send_forgot_password","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController"],"returnType":"ANY","isExternal":false,"lineNumber":29,"columnNumber":2},{"callName":"password_reset_mailer","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.password_reset_mailer","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":42,"columnNumber":2},{"callName":"generate_token","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.generate_token","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController","ANY","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":47,"columnNumber":2},{"callName":"is_valid?","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.is_valid?","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":52,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/password_resets_controller.rb:
.PasswordResetsController.initialize","paramTypes":["app/controllers/password_resets_controller.rb:
.PasswordResetsController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/password_resets_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/pay_controller.rb:
.PayController.update_dd_info.0.1&Proc","fields":[{"name":"call","typeFullName":"app/controllers/pay_controller.rb:
.PayController.update_dd_info.0.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/pay_controller.rb","lineNumber":18,"columnNumber":20},{"name":"app/controllers/pay_controller.rb:
.PayController.update_dd_info.0&Proc","fields":[{"name":"call","typeFullName":"app/controllers/pay_controller.rb:
.PayController.update_dd_info.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/pay_controller.rb","lineNumber":18,"columnNumber":6},{"name":"app/controllers/pay_controller.rb:
.PayController.show.2.3&Proc","fields":[{"name":"call","typeFullName":"app/controllers/pay_controller.rb:
.PayController.show.2.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/pay_controller.rb","lineNumber":24,"columnNumber":19},{"name":"app/controllers/pay_controller.rb:
.PayController.show.2&Proc","fields":[{"name":"call","typeFullName":"app/controllers/pay_controller.rb:
.PayController.show.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/pay_controller.rb","lineNumber":24,"columnNumber":5},{"name":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num.4.5&Proc","fields":[{"name":"call","typeFullName":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num.4.5","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/pay_controller.rb","lineNumber":41,"columnNumber":20},{"name":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num.4&Proc","fields":[{"name":"call","typeFullName":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num.4","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/pay_controller.rb","lineNumber":41,"columnNumber":6},{"name":"app/controllers/pay_controller.rb:
.PayController","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.","paramTypes":["app/controllers/pay_controller.rb:
.PayController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.index","paramTypes":["app/controllers/pay_controller.rb:
.PayController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"update_dd_info","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.update_dd_info","paramTypes":["app/controllers/pay_controller.rb:
.PayController"],"returnType":"ANY","isExternal":false,"lineNumber":7,"columnNumber":2},{"callName":"show","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.show","paramTypes":["app/controllers/pay_controller.rb:
.PayController"],"returnType":"ANY","isExternal":false,"lineNumber":22,"columnNumber":2},{"callName":"destroy","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.destroy","paramTypes":["app/controllers/pay_controller.rb:
.PayController"],"returnType":"ANY","isExternal":false,"lineNumber":28,"columnNumber":2},{"callName":"decrypted_bank_acct_num","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.decrypted_bank_acct_num","paramTypes":["app/controllers/pay_controller.rb:
.PayController"],"returnType":"ANY","isExternal":false,"lineNumber":38,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/pay_controller.rb:
.PayController.initialize","paramTypes":["app/controllers/pay_controller.rb:
.PayController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/controllers/pay_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/performance_controller.rb:
.PerformanceController","fields":[{"name":"@perf","typeFullName":"ANY","lineNumber":5,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/performance_controller.rb:
.PerformanceController.","paramTypes":["app/controllers/performance_controller.rb:
.PerformanceController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/performance_controller.rb:
.PerformanceController.index","paramTypes":["app/controllers/performance_controller.rb:
.PerformanceController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/performance_controller.rb:
.PerformanceController.initialize","paramTypes":["app/controllers/performance_controller.rb:
.PerformanceController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/controllers/performance_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/retirement_controller.rb:
.RetirementController","fields":[{"name":"@info","typeFullName":"ANY","lineNumber":5,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/retirement_controller.rb:
.RetirementController.","paramTypes":["app/controllers/retirement_controller.rb:
.RetirementController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/retirement_controller.rb:
.RetirementController.index","paramTypes":["app/controllers/retirement_controller.rb:
.RetirementController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/retirement_controller.rb:
.RetirementController.initialize","paramTypes":["app/controllers/retirement_controller.rb:
.RetirementController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/controllers/retirement_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/schedule_controller.rb:
.ScheduleController.create.0.1&Proc","fields":[{"name":"call","typeFullName":"app/controllers/schedule_controller.rb:
.ScheduleController.create.0.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/schedule_controller.rb","lineNumber":18,"columnNumber":20},{"name":"app/controllers/schedule_controller.rb:
.ScheduleController.create.0&Proc","fields":[{"name":"call","typeFullName":"app/controllers/schedule_controller.rb:
.ScheduleController.create.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/schedule_controller.rb","lineNumber":18,"columnNumber":6},{"name":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.2&Proc","fields":[{"name":"call","typeFullName":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/schedule_controller.rb","lineNumber":27,"columnNumber":10},{"name":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.3.4&Proc","fields":[{"name":"call","typeFullName":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.3.4","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/schedule_controller.rb","lineNumber":37,"columnNumber":21},{"name":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.3&Proc","fields":[{"name":"call","typeFullName":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/schedule_controller.rb","lineNumber":37,"columnNumber":7},{"name":"app/controllers/schedule_controller.rb:
.ScheduleController.format_schedule_date.5&Proc","fields":[{"name":"call","typeFullName":"app/controllers/schedule_controller.rb:
.ScheduleController.format_schedule_date.5","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/schedule_controller.rb","lineNumber":50,"columnNumber":7},{"name":"app/controllers/schedule_controller.rb:
.ScheduleController","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.","paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"create","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.create","paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"get_pto_schedule","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.get_pto_schedule","paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController"],"returnType":"ANY","isExternal":false,"lineNumber":22,"columnNumber":2},{"callName":"format_schedule_date","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.format_schedule_date","paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":45,"columnNumber":2},{"callName":"schedule_params","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.schedule_params","paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController"],"returnType":"ANY","isExternal":false,"lineNumber":61,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/schedule_controller.rb:
.ScheduleController.initialize","paramTypes":["app/controllers/schedule_controller.rb:
.ScheduleController"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/controllers/schedule_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/sessions_controller.rb:
.SessionsController","fields":[{"name":"@url","typeFullName":"ANY","lineNumber":7,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/sessions_controller.rb:
.SessionsController.","paramTypes":["app/controllers/sessions_controller.rb:
.SessionsController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"new","resolvedMethod":"app/controllers/sessions_controller.rb:
.SessionsController.new","paramTypes":["app/controllers/sessions_controller.rb:
.SessionsController"],"returnType":"ANY","isExternal":false,"lineNumber":6,"columnNumber":2},{"callName":"create","resolvedMethod":"app/controllers/sessions_controller.rb:
.SessionsController.create","paramTypes":["app/controllers/sessions_controller.rb:
.SessionsController"],"returnType":"ANY","isExternal":false,"lineNumber":11,"columnNumber":2},{"callName":"destroy","resolvedMethod":"app/controllers/sessions_controller.rb:
.SessionsController.destroy","paramTypes":["app/controllers/sessions_controller.rb:
.SessionsController"],"returnType":"ANY","isExternal":false,"lineNumber":33,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/sessions_controller.rb:
.SessionsController.initialize","paramTypes":["app/controllers/sessions_controller.rb:
.SessionsController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/sessions_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/tutorials_controller.rb:
.TutorialsController","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/controllers/tutorials_controller.rb:
.TutorialsController.","paramTypes":["app/controllers/tutorials_controller.rb:
.TutorialsController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"initialize","resolvedMethod":"app/controllers/tutorials_controller.rb:
.TutorialsController.initialize","paramTypes":["app/controllers/tutorials_controller.rb:
.TutorialsController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/tutorials_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/users_controller.rb:
.UsersController.update.0.1&Proc","fields":[{"name":"call","typeFullName":"app/controllers/users_controller.rb:
.UsersController.update.0.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/users_controller.rb","lineNumber":38,"columnNumber":22},{"name":"app/controllers/users_controller.rb:
.UsersController.update.0.2&Proc","fields":[{"name":"call","typeFullName":"app/controllers/users_controller.rb:
.UsersController.update.0.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/users_controller.rb","lineNumber":39,"columnNumber":22},{"name":"app/controllers/users_controller.rb:
.UsersController.update.0&Proc","fields":[{"name":"call","typeFullName":"app/controllers/users_controller.rb:
.UsersController.update.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/controllers/users_controller.rb","lineNumber":38,"columnNumber":8},{"name":"app/controllers/users_controller.rb:
.UsersController","fields":[{"name":"@user","typeFullName":"ANY","lineNumber":7,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"new","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.new","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":6,"columnNumber":2},{"callName":"create","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.create","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":10,"columnNumber":2},{"callName":"account_settings","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.account_settings","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":22,"columnNumber":2},{"callName":"update","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.update","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":26,"columnNumber":2},{"callName":"user_params","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.user_params","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":49,"columnNumber":2},{"callName":"user_params_without_password","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.user_params_without_password","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":54,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/users_controller.rb:
.UsersController.initialize","paramTypes":["app/controllers/users_controller.rb:
.UsersController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/users_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/controllers/work_info_controller.rb:
.WorkInfoController","fields":[{"name":"@user","typeFullName":"ANY","lineNumber":4,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/controllers/work_info_controller.rb:
.WorkInfoController.","paramTypes":["app/controllers/work_info_controller.rb:
.WorkInfoController"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"index","resolvedMethod":"app/controllers/work_info_controller.rb:
.WorkInfoController.index","paramTypes":["app/controllers/work_info_controller.rb:
.WorkInfoController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/controllers/work_info_controller.rb:
.WorkInfoController.initialize","paramTypes":["app/controllers/work_info_controller.rb:
.WorkInfoController"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/controllers/work_info_controller.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/admin_helper.rb:
.AdminHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/admin_helper.rb:
.AdminHelper.","paramTypes":["app/helpers/admin_helper.rb:
.AdminHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/admin_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/api/v1/users_helper.rb:
.Api.V1.UsersHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/api/v1/users_helper.rb:
.Api.V1.UsersHelper.","paramTypes":["app/helpers/api/v1/users_helper.rb:
.Api.V1.UsersHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/api/v1/users_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/application_helper.rb:
.ApplicationHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/application_helper.rb:
.ApplicationHelper.","paramTypes":["app/helpers/application_helper.rb:
.ApplicationHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/application_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/benefit_forms_helper.rb:
.BenefitFormsHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/benefit_forms_helper.rb:
.BenefitFormsHelper.","paramTypes":["app/helpers/benefit_forms_helper.rb:
.BenefitFormsHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/benefit_forms_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/dashboard_helper.rb:
.DashboardHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/dashboard_helper.rb:
.DashboardHelper.","paramTypes":["app/helpers/dashboard_helper.rb:
.DashboardHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/dashboard_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/messages_helper.rb:
.MessagesHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/messages_helper.rb:
.MessagesHelper.","paramTypes":["app/helpers/messages_helper.rb:
.MessagesHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/messages_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/paid_time_off_helper.rb:
.PaidTimeOffHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/paid_time_off_helper.rb:
.PaidTimeOffHelper.","paramTypes":["app/helpers/paid_time_off_helper.rb:
.PaidTimeOffHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/paid_time_off_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/password_resets_helper.rb:
.PasswordResetsHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/password_resets_helper.rb:
.PasswordResetsHelper.","paramTypes":["app/helpers/password_resets_helper.rb:
.PasswordResetsHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/password_resets_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/pay_helper.rb:
.PayHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/pay_helper.rb:
.PayHelper.","paramTypes":["app/helpers/pay_helper.rb:
.PayHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/pay_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/performance_helper.rb:
.PerformanceHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/performance_helper.rb:
.PerformanceHelper.","paramTypes":["app/helpers/performance_helper.rb:
.PerformanceHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/performance_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/retirement_helper.rb:
.RetirementHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/retirement_helper.rb:
.RetirementHelper.","paramTypes":["app/helpers/retirement_helper.rb:
.RetirementHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/retirement_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/schedule_helper.rb:
.ScheduleHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/schedule_helper.rb:
.ScheduleHelper.","paramTypes":["app/helpers/schedule_helper.rb:
.ScheduleHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/schedule_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/sessions_helper.rb:
.SessionsHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/sessions_helper.rb:
.SessionsHelper.","paramTypes":["app/helpers/sessions_helper.rb:
.SessionsHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/sessions_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/tutorials_helper.rb:
.TutorialsHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/tutorials_helper.rb:
.TutorialsHelper.","paramTypes":["app/helpers/tutorials_helper.rb:
.TutorialsHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/tutorials_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/users_helper.rb:
.UsersHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/users_helper.rb:
.UsersHelper.","paramTypes":["app/helpers/users_helper.rb:
.UsersHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/users_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/helpers/work_info_helper.rb:
.WorkInfoHelper","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/helpers/work_info_helper.rb:
.WorkInfoHelper.","paramTypes":["app/helpers/work_info_helper.rb:
.WorkInfoHelper"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0}],"fileName":"app/helpers/work_info_helper.rb","lineNumber":2,"columnNumber":0},{"name":"app/mailers/user_mailer.rb:
.UserMailer","fields":[{"name":"@token","typeFullName":"ANY","lineNumber":6,"columnNumber":4,"label":"LOCAL"},{"name":"@url","typeFullName":"ANY","lineNumber":7,"columnNumber":4,"label":"LOCAL"}],"procedures":[{"callName":"","resolvedMethod":"app/mailers/user_mailer.rb:
.UserMailer.","paramTypes":["app/mailers/user_mailer.rb:
.UserMailer"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"forgot_password","resolvedMethod":"app/mailers/user_mailer.rb:
.UserMailer.forgot_password","paramTypes":["app/mailers/user_mailer.rb:
.UserMailer","ANY","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":5,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/mailers/user_mailer.rb:
.UserMailer.initialize","paramTypes":["app/mailers/user_mailer.rb:
.UserMailer"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/mailers/user_mailer.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/analytics.rb:
.Analytics..0&Proc","fields":[{"name":"call","typeFullName":"app/models/analytics.rb:
.Analytics..0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/models/analytics.rb","lineNumber":3,"columnNumber":41},{"name":"app/models/analytics.rb:
.Analytics","fields":[],"procedures":[{"callName":"0","resolvedMethod":"app/models/analytics.rb:
.Analytics..0","paramTypes":["app/models/analytics.rb:
.Analytics","ANY","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":41},{"callName":"","resolvedMethod":"app/models/analytics.rb:
.Analytics.","paramTypes":["app/models/analytics.rb:
.Analytics"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"count_by_col","resolvedMethod":"app/models/analytics.rb:
.Analytics.count_by_col","paramTypes":["app/models/analytics.rb:
.Analytics","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":5,"columnNumber":2},{"callName":"parse_field","resolvedMethod":"app/models/analytics.rb:
.Analytics.parse_field","paramTypes":["app/models/analytics.rb:
.Analytics","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":9,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/analytics.rb:
.Analytics.initialize","paramTypes":["app/models/analytics.rb:
.Analytics"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/analytics.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/application_record.rb:
.ApplicationRecord","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/application_record.rb:
.ApplicationRecord.","paramTypes":["app/models/application_record.rb:
.ApplicationRecord"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"initialize","resolvedMethod":"app/models/application_record.rb:
.ApplicationRecord.initialize","paramTypes":["app/models/application_record.rb:
.ApplicationRecord"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/application_record.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/benefits.rb:
.Benefits.make_backup.0&Proc","fields":[{"name":"call","typeFullName":"app/models/benefits.rb:
.Benefits.make_backup.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/models/benefits.rb","lineNumber":15,"columnNumber":32},{"name":"app/models/benefits.rb:
.Benefits.silence_streams.1&Proc","fields":[{"name":"call","typeFullName":"app/models/benefits.rb:
.Benefits.silence_streams.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/models/benefits.rb","lineNumber":20,"columnNumber":41},{"name":"app/models/benefits.rb:
.Benefits.silence_streams.2&Proc","fields":[{"name":"call","typeFullName":"app/models/benefits.rb:
.Benefits.silence_streams.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/models/benefits.rb","lineNumber":22,"columnNumber":6},{"name":"app/models/benefits.rb:
.Benefits.silence_streams.3&Proc","fields":[{"name":"call","typeFullName":"app/models/benefits.rb:
.Benefits.silence_streams.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/models/benefits.rb","lineNumber":28,"columnNumber":6},{"name":"app/models/benefits.rb:
.Benefits","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/benefits.rb:
.Benefits.","paramTypes":["app/models/benefits.rb:
.Benefits"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"save","resolvedMethod":"app/models/benefits.rb:
.Benefits.save","paramTypes":["app/models/benefits.rb:
.Benefits","ANY","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2},{"callName":"make_backup","resolvedMethod":"app/models/benefits.rb:
.Benefits.make_backup","paramTypes":["app/models/benefits.rb:
.Benefits","ANY","ANY","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":13,"columnNumber":2},{"callName":"silence_streams","resolvedMethod":"app/models/benefits.rb:
.Benefits.silence_streams","paramTypes":["app/models/benefits.rb:
.Benefits","__core.Kernel.Array","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":19,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/benefits.rb:
.Benefits.initialize","paramTypes":["app/models/benefits.rb:
.Benefits"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/models/benefits.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/key_management.rb:
.KeyManagement","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/key_management.rb:
.KeyManagement.","paramTypes":["app/models/key_management.rb:
.KeyManagement"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"initialize","resolvedMethod":"app/models/key_management.rb:
.KeyManagement.initialize","paramTypes":["app/models/key_management.rb:
.KeyManagement"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/key_management.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/message.rb:
.Message","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/message.rb:
.Message.","paramTypes":["app/models/message.rb:
.Message"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"creator_name","resolvedMethod":"app/models/message.rb:
.Message.creator_name","paramTypes":["app/models/message.rb:
.Message"],"returnType":"ANY","isExternal":false,"lineNumber":6,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/message.rb:
.Message.initialize","paramTypes":["app/models/message.rb:
.Message"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/message.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/paid_time_off.rb:
.PaidTimeOff","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/paid_time_off.rb:
.PaidTimeOff.","paramTypes":["app/models/paid_time_off.rb:
.PaidTimeOff"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"sick_days_remaining","resolvedMethod":"app/models/paid_time_off.rb:
.PaidTimeOff.sick_days_remaining","paramTypes":["app/models/paid_time_off.rb:
.PaidTimeOff"],"returnType":"ANY","isExternal":false,"lineNumber":6,"columnNumber":2},{"callName":"pto_days_remaining","resolvedMethod":"app/models/paid_time_off.rb:
.PaidTimeOff.pto_days_remaining","paramTypes":["app/models/paid_time_off.rb:
.PaidTimeOff"],"returnType":"ANY","isExternal":false,"lineNumber":10,"columnNumber":2},{"callName":"sick_days_taken_percentage","resolvedMethod":"app/models/paid_time_off.rb:
.PaidTimeOff.sick_days_taken_percentage","paramTypes":["app/models/paid_time_off.rb:
.PaidTimeOff"],"returnType":"ANY","isExternal":false,"lineNumber":14,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/paid_time_off.rb:
.PaidTimeOff.initialize","paramTypes":["app/models/paid_time_off.rb:
.PaidTimeOff"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/paid_time_off.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/pay.rb:
.Pay","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/pay.rb:
.Pay.","paramTypes":["app/models/pay.rb:
.Pay"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"as_json","resolvedMethod":"app/models/pay.rb:
.Pay.as_json","paramTypes":["app/models/pay.rb:
.Pay"],"returnType":"ANY","isExternal":false,"lineNumber":14,"columnNumber":2},{"callName":"encrypt_bank_account_num","resolvedMethod":"app/models/pay.rb:
.Pay.encrypt_bank_account_num","paramTypes":["app/models/pay.rb:
.Pay"],"returnType":"ANY","isExternal":false,"lineNumber":18,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/pay.rb:
.Pay.initialize","paramTypes":["app/models/pay.rb:
.Pay"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":2}],"fileName":"app/models/pay.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/performance.rb:
.Performance","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/performance.rb:
.Performance.","paramTypes":["app/models/performance.rb:
.Performance"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"reviewer_name","resolvedMethod":"app/models/performance.rb:
.Performance.reviewer_name","paramTypes":["app/models/performance.rb:
.Performance"],"returnType":"ANY","isExternal":false,"lineNumber":5,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/performance.rb:
.Performance.initialize","paramTypes":["app/models/performance.rb:
.Performance"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/performance.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/retirement.rb:
.Retirement","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/retirement.rb:
.Retirement.","paramTypes":["app/models/retirement.rb:
.Retirement"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"initialize","resolvedMethod":"app/models/retirement.rb:
.Retirement.initialize","paramTypes":["app/models/retirement.rb:
.Retirement"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/retirement.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/schedule.rb:
.Schedule","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/schedule.rb:
.Schedule.","paramTypes":["app/models/schedule.rb:
.Schedule"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"initialize","resolvedMethod":"app/models/schedule.rb:
.Schedule.initialize","paramTypes":["app/models/schedule.rb:
.Schedule"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/schedule.rb","lineNumber":2,"columnNumber":0},{"name":"app/models/user.rb:
.User..0&Proc","fields":[{"name":"call","typeFullName":"app/models/user.rb:
.User..0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"app/models/user.rb","lineNumber":23,"columnNumber":17},{"name":"app/models/user.rb:
.User","fields":[],"procedures":[{"callName":"0","resolvedMethod":"app/models/user.rb:
.User..0","paramTypes":["app/models/user.rb:
.User"],"returnType":"ANY","isExternal":false,"lineNumber":23,"columnNumber":17},{"callName":"","resolvedMethod":"app/models/user.rb:
.User.","paramTypes":["app/models/user.rb:
.User"],"returnType":"ANY","isExternal":false,"lineNumber":4,"columnNumber":0},{"callName":"build_benefits_data","resolvedMethod":"app/models/user.rb:
.User.build_benefits_data","paramTypes":["app/models/user.rb:
.User"],"returnType":"ANY","isExternal":false,"lineNumber":26,"columnNumber":2},{"callName":"full_name","resolvedMethod":"app/models/user.rb:
.User.full_name","paramTypes":["app/models/user.rb:
.User"],"returnType":"ANY","isExternal":false,"lineNumber":35,"columnNumber":2},{"callName":"authenticate","resolvedMethod":"app/models/user.rb:
.User.authenticate","paramTypes":["app/models/user.rb:
.User","ANY","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":41,"columnNumber":2},{"callName":"hash_password","resolvedMethod":"app/models/user.rb:
.User.hash_password","paramTypes":["app/models/user.rb:
.User"],"returnType":"ANY","isExternal":false,"lineNumber":53,"columnNumber":2},{"callName":"generate_token","resolvedMethod":"app/models/user.rb:
.User.generate_token","paramTypes":["app/models/user.rb:
.User","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":59,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/user.rb:
.User.initialize","paramTypes":["app/models/user.rb:
.User"],"returnType":"ANY","isExternal":false,"lineNumber":5,"columnNumber":2}],"fileName":"app/models/user.rb","lineNumber":4,"columnNumber":0},{"name":"app/models/work_info.rb:
.WorkInfo","fields":[],"procedures":[{"callName":"","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"last_four","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.last_four","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":8,"columnNumber":2},{"callName":"encrypt_ssn","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.encrypt_ssn","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":12,"columnNumber":2},{"callName":"decrypt_ssn","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.decrypt_ssn","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":21,"columnNumber":2},{"callName":"key","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.key","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":29,"columnNumber":2},{"callName":"iv","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.iv","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":34,"columnNumber":2},{"callName":"cipher_type","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.cipher_type","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":39,"columnNumber":2},{"callName":"initialize","resolvedMethod":"app/models/work_info.rb:
.WorkInfo.initialize","paramTypes":["app/models/work_info.rb:
.WorkInfo"],"returnType":"ANY","isExternal":false,"lineNumber":3,"columnNumber":2}],"fileName":"app/models/work_info.rb","lineNumber":2,"columnNumber":0},{"name":"config/application.rb:
.Railsgoat.Application","fields":[],"procedures":[{"callName":"","resolvedMethod":"config/application.rb:
.Railsgoat.Application.","paramTypes":["config/application.rb:
.Railsgoat.Application"],"returnType":"ANY","isExternal":false,"lineNumber":11,"columnNumber":2},{"callName":"initialize","resolvedMethod":"config/application.rb:
.Railsgoat.Application.initialize","paramTypes":["config/application.rb:
.Railsgoat.Application"],"returnType":"ANY","isExternal":false,"lineNumber":35,"columnNumber":4}],"fileName":"config/application.rb","lineNumber":11,"columnNumber":2},{"name":"config/application.rb:
.Railsgoat","fields":[],"procedures":[{"callName":"","resolvedMethod":"config/application.rb:
.Railsgoat.","paramTypes":["config/application.rb:
.Railsgoat"],"returnType":"ANY","isExternal":false,"lineNumber":10,"columnNumber":0}],"fileName":"config/application.rb","lineNumber":10,"columnNumber":0},{"name":"config/environments/development.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"config/environments/development.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/environments/development.rb","lineNumber":4,"columnNumber":2},{"name":"config/environments/mysql.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"config/environments/mysql.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/environments/mysql.rb","lineNumber":8,"columnNumber":2},{"name":"config/environments/openshift.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"config/environments/openshift.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/environments/openshift.rb","lineNumber":4,"columnNumber":2},{"name":"config/environments/production.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"config/environments/production.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/environments/production.rb","lineNumber":6,"columnNumber":2},{"name":"config/environments/test.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"config/environments/test.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/environments/test.rb","lineNumber":9,"columnNumber":2},{"name":"config/initializers/wrap_parameters.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"config/initializers/wrap_parameters.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/initializers/wrap_parameters.rb","lineNumber":9,"columnNumber":2},{"name":"config/initializers/wrap_parameters.rb:
.1&Proc","fields":[{"name":"call","typeFullName":"config/initializers/wrap_parameters.rb:
.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/initializers/wrap_parameters.rb","lineNumber":14,"columnNumber":2},{"name":"config/routes.rb:
.0.1.2.3&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.1.2.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":29,"columnNumber":8},{"name":"config/routes.rb:
.0.1.2&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.1.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":28,"columnNumber":6},{"name":"config/routes.rb:
.0.1&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":18,"columnNumber":4},{"name":"config/routes.rb:
.0.4.5&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.4.5","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":41,"columnNumber":6},{"name":"config/routes.rb:
.0.4&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.4","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":40,"columnNumber":4},{"name":"config/routes.rb:
.0.6.7&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.6.7","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":47,"columnNumber":6},{"name":"config/routes.rb:
.0.6&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.6","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":46,"columnNumber":4},{"name":"config/routes.rb:
.0.8&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.8","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":52,"columnNumber":4},{"name":"config/routes.rb:
.0.9.10&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.9.10","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":62,"columnNumber":6},{"name":"config/routes.rb:
.0.9&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.9","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":61,"columnNumber":4},{"name":"config/routes.rb:
.0.11.12&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.11.12","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":69,"columnNumber":6},{"name":"config/routes.rb:
.0.11&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0.11","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":68,"columnNumber":4},{"name":"config/routes.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"config/routes.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"config/routes.rb","lineNumber":4,"columnNumber":2},{"name":"db/schema.rb:
.0.1&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":17,"columnNumber":4},{"name":"db/schema.rb:
.0.2&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":25,"columnNumber":4},{"name":"db/schema.rb:
.0.3&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":30,"columnNumber":4},{"name":"db/schema.rb:
.0.4&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.4","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":37,"columnNumber":4},{"name":"db/schema.rb:
.0.5&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.5","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":46,"columnNumber":4},{"name":"db/schema.rb:
.0.6&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.6","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":56,"columnNumber":4},{"name":"db/schema.rb:
.0.7&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.7","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":65,"columnNumber":4},{"name":"db/schema.rb:
.0.8&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.8","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":75,"columnNumber":4},{"name":"db/schema.rb:
.0.9&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.9","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":84,"columnNumber":4},{"name":"db/schema.rb:
.0.10&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.10","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":95,"columnNumber":4},{"name":"db/schema.rb:
.0.11&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0.11","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":106,"columnNumber":4},{"name":"db/schema.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"db/schema.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/schema.rb","lineNumber":16,"columnNumber":2},{"name":"db/seeds.rb:
.0&Proc","fields":[{"name":"call","typeFullName":"db/seeds.rb:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/seeds.rb","lineNumber":279,"columnNumber":2},{"name":"db/seeds.rb:
.1&Proc","fields":[{"name":"call","typeFullName":"db/seeds.rb:
.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/seeds.rb","lineNumber":283,"columnNumber":2},{"name":"db/seeds.rb:
.2&Proc","fields":[{"name":"call","typeFullName":"db/seeds.rb:
.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/seeds.rb","lineNumber":288,"columnNumber":2},{"name":"db/seeds.rb:
.3&Proc","fields":[{"name":"call","typeFullName":"db/seeds.rb:
.3","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/seeds.rb","lineNumber":293,"columnNumber":2},{"name":"db/seeds.rb:
.4&Proc","fields":[{"name":"call","typeFullName":"db/seeds.rb:
.4","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/seeds.rb","lineNumber":298,"columnNumber":2},{"name":"db/seeds.rb:
.5&Proc","fields":[{"name":"call","typeFullName":"db/seeds.rb:
.5","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/seeds.rb","lineNumber":303,"columnNumber":2},{"name":"db/seeds.rb:
.6&Proc","fields":[{"name":"call","typeFullName":"db/seeds.rb:
.6","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"db/seeds.rb","lineNumber":309,"columnNumber":2},{"name":"lib/encryption.rb:
.Encryption","fields":[],"procedures":[{"callName":"","resolvedMethod":"lib/encryption.rb:
.Encryption.","paramTypes":["lib/encryption.rb:
.Encryption"],"returnType":"ANY","isExternal":false,"lineNumber":2,"columnNumber":0},{"callName":"encrypt_sensitive_value","resolvedMethod":"lib/encryption.rb:
.Encryption.encrypt_sensitive_value","paramTypes":["lib/encryption.rb:
.Encryption","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":5,"columnNumber":2},{"callName":"decrypt_sensitive_value","resolvedMethod":"lib/encryption.rb:
.Encryption.decrypt_sensitive_value","paramTypes":["lib/encryption.rb:
.Encryption","ANY"],"returnType":"ANY","isExternal":false,"lineNumber":14,"columnNumber":2},{"callName":"key","resolvedMethod":"lib/encryption.rb:
.Encryption.key","paramTypes":["lib/encryption.rb:
.Encryption"],"returnType":"ANY","isExternal":false,"lineNumber":24,"columnNumber":2},{"callName":"iv","resolvedMethod":"lib/encryption.rb:
.Encryption.iv","paramTypes":["lib/encryption.rb:
.Encryption"],"returnType":"ANY","isExternal":false,"lineNumber":29,"columnNumber":2},{"callName":"cipher_type","resolvedMethod":"lib/encryption.rb:
.Encryption.cipher_type","paramTypes":["lib/encryption.rb:
.Encryption"],"returnType":"ANY","isExternal":false,"lineNumber":33,"columnNumber":2}],"fileName":"lib/encryption.rb","lineNumber":2,"columnNumber":0},{"name":"lib/tasks/server.rake:
.0.1&Proc","fields":[{"name":"call","typeFullName":"lib/tasks/server.rake:
.0.1","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"lib/tasks/server.rake","lineNumber":6,"columnNumber":6},{"name":"lib/tasks/server.rake:
.0.2&Proc","fields":[{"name":"call","typeFullName":"lib/tasks/server.rake:
.0.2","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"lib/tasks/server.rake","lineNumber":16,"columnNumber":8},{"name":"lib/tasks/server.rake:
.0&Proc","fields":[{"name":"call","typeFullName":"lib/tasks/server.rake:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"lib/tasks/server.rake","lineNumber":4,"columnNumber":5},{"name":"lib/tasks/traning.rake:
.0&Proc","fields":[{"name":"call","typeFullName":"lib/tasks/traning.rake:
.0","lineNumber":null,"columnNumber":null,"label":"LOCAL"}],"procedures":[],"fileName":"lib/tasks/traning.rake","lineNumber":4,"columnNumber":2}]} \ No newline at end of file diff --git a/test/test_converter.py b/test/test_converter.py index 6ddba52..516629c 100644 --- a/test/test_converter.py +++ b/test/test_converter.py @@ -2,7 +2,7 @@ from atom_tools.lib.converter import filter_calls, OpenAPI from atom_tools.lib.utils import sort_list - +from atom_tools.lib.ruby_converter import convert as ruby_convert def sort_openapi_result(result): for k, v in result.items(): @@ -48,6 +48,9 @@ def py_usages_1(): def py_usages_2(): return OpenAPI('openapi3.0.1', 'py', 'test/data/py-breakable-flask-usages.json') +@pytest.fixture +def rb_usages_1(): + return OpenAPI('openapi3.0.1', 'rb', 'test/data/rb-railsgoat-usages.json') def test_populate_endpoints(js_usages_1, js_usages_2): # The populate_endpoints method is the final operation in convert_usages. @@ -5751,3 +5754,8 @@ def test_js(js_usages_1): 'schema': {'pattern': 'ftp(?!/quarantine)', 'type': 'string'}}], 'x-atom-usages': {'call': {'server.ts': [250]}}}} + + +def test_rb(rb_usages_1): + result = ruby_convert(rb_usages_1.usages) + assert result diff --git a/test/test_ruby_semantics.py b/test/test_ruby_semantics.py new file mode 100644 index 0000000..37cd64b --- /dev/null +++ b/test/test_ruby_semantics.py @@ -0,0 +1,133 @@ +import pytest +from atom_tools.lib import HttpRoute +from atom_tools.lib.ruby_semantics import code_to_routes + + +def test_code_to_routes(): + assert code_to_routes(None) == [] + assert code_to_routes("") == [] + assert code_to_routes("Railsgoat::Application.routes.draw do") == [] + assert code_to_routes('create_table \"analytics\", force: :cascade do |t| t.string \"ip_address\" t.string \"referrer\" t.string \"user_agent\" t.datetime \"created_at\" t.datetime \"updated_at\" end') == [] + assert code_to_routes('Railsgoat::Application.routes.draw do get \"login\" => ...') == [ + HttpRoute(url_pattern='/login', method='GET')] + assert code_to_routes( + 'Railsgoat::Application.routes.draw do get \"login\" => \"sessions#new\" get \"signup\" => \"users#new\" get \"logout\" => \"sessions#destroy\" get \"forgot_password\" => \"password_resets#forgot_password\" post \"forgot_password\" => \"password_resets#send_forgot_password\" get \"password_resets\" => \"password_resets#confirm_token\" post \"password_resets\" => \"password_resets#reset_password\" get \"dashboard/doc\" => \"dashboard#doc\"') == [ + HttpRoute(url_pattern='/login', method='GET'), + HttpRoute(url_pattern='/signup', method='GET'), + HttpRoute(url_pattern='/logout', method='GET'), + HttpRoute(url_pattern='/forgot_password', method='GET'), + HttpRoute(url_pattern='/forgot_password', method='POST'), + HttpRoute(url_pattern='/password_resets', method='GET'), + HttpRoute(url_pattern='/password_resets', method='POST'), + HttpRoute(url_pattern='/dashboard/doc', method='GET')] + + +def test_code_to_routes_dangling(): + assert code_to_routes( + 'Railsgoat::Application.routes.draw do get \"login\" => \"sessions#new\" get \"signup\" => \"users#new\" get \"logout\" => \"sessions#destroy\" get \"forgot_password\" => \"password_resets#forgot_password\" post \"forgot_password\" => \"password_resets#send_forgot_password\" get \"password_resets\" => \"password_resets#confirm_token\" post \"password_resets\" => \"password_resets#reset_password\" get \"dashboard/doc\" => \"dashboard#doc\" resources :sessions') == [ + HttpRoute(url_pattern='/login', method='GET'), + HttpRoute(url_pattern='/signup', method='GET'), + HttpRoute(url_pattern='/logout', method='GET'), + HttpRoute(url_pattern='/forgot_password', method='GET'), + HttpRoute(url_pattern='/forgot_password', method='POST'), + HttpRoute(url_pattern='/password_resets', method='GET'), + HttpRoute(url_pattern='/password_resets', method='POST'), + HttpRoute(url_pattern='/dashboard/doc', method='GET'), + HttpRoute(url_pattern='/sessions', method='GET'), + HttpRoute(url_pattern='/sessions/new', method='GET'), + HttpRoute(url_pattern='/sessions', method='POST'), + HttpRoute(url_pattern='/sessions/:id', method='GET'), + HttpRoute(url_pattern='/sessions/:id/edit', method='GET'), + HttpRoute(url_pattern='/sessions/:id', method='PUT'), + HttpRoute(url_pattern='/sessions/:id', method='DELETE')] + + +def test_code_to_routes_resources(): + assert code_to_routes( + 'resources :users do get \"account_settings\" resources :retirement resources :paid_time_off resources :work_info resources :performance resources :benefit_forms resources :messages resources :pay do collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end end end') == [ + HttpRoute(url_pattern='/users/account_settings', method='GET'), + HttpRoute(url_pattern='/users/retirement', method='GET'), + HttpRoute(url_pattern='/users/retirement/new', method='GET'), + HttpRoute(url_pattern='/users/retirement', method='POST'), + HttpRoute(url_pattern='/users/retirement/:id', method='GET'), + HttpRoute(url_pattern='/users/retirement/:id/edit', method='GET'), + HttpRoute(url_pattern='/users/retirement/:id', method='PUT'), + HttpRoute(url_pattern='/users/retirement/:id', method='DELETE'), + HttpRoute(url_pattern='/users/paid_time_off', method='GET'), + HttpRoute(url_pattern='/users/paid_time_off/new', method='GET'), + HttpRoute(url_pattern='/users/paid_time_off', method='POST'), + HttpRoute(url_pattern='/users/paid_time_off/:id', method='GET'), + HttpRoute(url_pattern='/users/paid_time_off/:id/edit', method='GET'), + HttpRoute(url_pattern='/users/paid_time_off/:id', method='PUT'), + HttpRoute(url_pattern='/users/paid_time_off/:id', method='DELETE'), + HttpRoute(url_pattern='/users/work_info', method='GET'), + HttpRoute(url_pattern='/users/work_info/new', method='GET'), + HttpRoute(url_pattern='/users/work_info', method='POST'), + HttpRoute(url_pattern='/users/work_info/:id', method='GET'), + HttpRoute(url_pattern='/users/work_info/:id/edit', method='GET'), + HttpRoute(url_pattern='/users/work_info/:id', method='PUT'), + HttpRoute(url_pattern='/users/work_info/:id', method='DELETE'), + HttpRoute(url_pattern='/users/performance', method='GET'), + HttpRoute(url_pattern='/users/performance/new', method='GET'), + HttpRoute(url_pattern='/users/performance', method='POST'), + HttpRoute(url_pattern='/users/performance/:id', method='GET'), + HttpRoute(url_pattern='/users/performance/:id/edit', method='GET'), + HttpRoute(url_pattern='/users/performance/:id', method='PUT'), + HttpRoute(url_pattern='/users/performance/:id', method='DELETE'), + HttpRoute(url_pattern='/users/benefit_forms', method='GET'), + HttpRoute(url_pattern='/users/benefit_forms/new', method='GET'), + HttpRoute(url_pattern='/users/benefit_forms', method='POST'), + HttpRoute(url_pattern='/users/benefit_forms/:id', method='GET'), + HttpRoute(url_pattern='/users/benefit_forms/:id/edit', method='GET'), + HttpRoute(url_pattern='/users/benefit_forms/:id', method='PUT'), + HttpRoute(url_pattern='/users/benefit_forms/:id', method='DELETE'), + HttpRoute(url_pattern='/users/messages', method='GET'), + HttpRoute(url_pattern='/users/messages/new', method='GET'), + HttpRoute(url_pattern='/users/messages', method='POST'), + HttpRoute(url_pattern='/users/messages/:id', method='GET'), + HttpRoute(url_pattern='/users/messages/:id/edit', method='GET'), + HttpRoute(url_pattern='/users/messages/:id', method='PUT'), + HttpRoute(url_pattern='/users/messages/:id', method='DELETE'), + HttpRoute(url_pattern='/users/pay/update_dd_info', method='POST'), + HttpRoute(url_pattern='/users/pay/decrypted_bank_acct_num', method='POST')] + assert code_to_routes('resources :tutorials do collection do get \"credentials\" end end') == [ + HttpRoute(url_pattern='/tutorials/credentials', method='GET')] + assert code_to_routes('resources :schedule do collection do get \"get_pto_schedule\" end end') == [ + HttpRoute(url_pattern='/schedule/get_pto_schedule', method='GET')] + assert code_to_routes( + 'resources :admin do get \"dashboard\" get \"get_user\" post \"delete_user\" patch \"update_user\" get \"get_all_users\" get \"analytics\" end') == [ + HttpRoute(url_pattern='/admin/dashboard', method='GET'), + HttpRoute(url_pattern='/admin/get_user', method='GET'), + HttpRoute(url_pattern='/admin/delete_user', method='POST'), + HttpRoute(url_pattern='/admin/update_user', method='PUT'), + HttpRoute(url_pattern='/admin/get_all_users', method='GET'), + HttpRoute(url_pattern='/admin/analytics', method='GET')] + + +def test_code_to_routes_collection(): + assert code_to_routes('collection do post \"update_dd_info\" post \"decrypted_bank_acct_num\" end') == [ + HttpRoute(url_pattern='/update_dd_info', method='POST'), + HttpRoute(url_pattern='/decrypted_bank_acct_num', method='POST')] + assert code_to_routes('collection do get \"credentials\" end') == [ + HttpRoute(url_pattern='/credentials', method='GET')] + + +def test_code_to_routes_namespace(): + assert code_to_routes( + 'namespace :api, defaults: {format: \"json\"} do namespace :v1 do resources :users resources :mobile end end') == [ + HttpRoute(url_pattern='/api/v1/users', method='GET'), + HttpRoute(url_pattern='/api/v1/users/new', method='GET'), + HttpRoute(url_pattern='/api/v1/users', method='POST'), + HttpRoute(url_pattern='/api/v1/users/:id', method='GET'), + HttpRoute(url_pattern='/api/v1/users/:id/edit', method='GET'), + HttpRoute(url_pattern='/api/v1/users/:id', method='PUT'), + HttpRoute(url_pattern='/api/v1/users/:id', method='DELETE')] + + assert code_to_routes('namespace :v1 do resources :users resources :mobile end') == [ + HttpRoute(url_pattern='/v1/users', method='GET'), + HttpRoute(url_pattern='/v1/users/new', method='GET'), + HttpRoute(url_pattern='/v1/users', method='POST'), + HttpRoute(url_pattern='/v1/users/:id', method='GET'), + HttpRoute(url_pattern='/v1/users/:id/edit', method='GET'), + HttpRoute(url_pattern='/v1/users/:id', method='PUT'), + HttpRoute(url_pattern='/v1/users/:id', method='DELETE')] From e39f018b6213e35b9bcc49b716e4b3957a475ce0 Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Thu, 23 Jan 2025 13:55:19 +0000 Subject: [PATCH 2/6] Linting Signed-off-by: Prabhu Subramanian --- atom_tools/lib/converter.py | 9 ++------- atom_tools/lib/ruby_semantics.py | 10 +++++----- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/atom_tools/lib/converter.py b/atom_tools/lib/converter.py index 3ce916b..a151401 100644 --- a/atom_tools/lib/converter.py +++ b/atom_tools/lib/converter.py @@ -10,7 +10,6 @@ import jmespath -from atom_tools.lib import HttpRoute from atom_tools.lib.regex_utils import ( py_helper, path_param_repl, @@ -20,7 +19,6 @@ OpenAPIRegexCollection ) from atom_tools.lib.slices import AtomSlice -from atom_tools.lib.ruby_semantics import code_to_routes from atom_tools.lib.ruby_converter import convert as ruby_convert logger = logging.getLogger(__name__) @@ -246,7 +244,7 @@ def _create_param_object(self, ep: str, orig_ep: str, call: Dict | None) -> List params = [{'name': param, 'in': 'header'} for param in ptypes] return params - def _extract_endpoints(self, method: str) -> List[str] | List[HttpRoute]: + def _extract_endpoints(self, method: str) -> List[str]: """ Extracts endpoints from the given code based on the specified language. @@ -545,10 +543,7 @@ def _process_resolved_methods(self, resolved_methods: Dict) -> Dict: resolved_map = {} for method in resolved_methods: if endpoints := self._extract_endpoints(method): - if self.usages.origin_type in ("rb", "ruby"): - eps = endpoints - else: - eps = [self._parse_path_regexes(ep) for ep in endpoints] + eps = [self._parse_path_regexes(ep) for ep in endpoints] resolved_map[method] = {'endpoints': eps} return resolved_map diff --git a/atom_tools/lib/ruby_semantics.py b/atom_tools/lib/ruby_semantics.py index e63ff8c..14e69fd 100644 --- a/atom_tools/lib/ruby_semantics.py +++ b/atom_tools/lib/ruby_semantics.py @@ -2,7 +2,7 @@ Ruby semantic utils """ import re -from typing import Any, Dict, List, Tuple +from typing import List from atom_tools.lib import HttpRoute @@ -28,8 +28,8 @@ def code_to_routes(code: str, file_name: str | None = None, method_full_name: st return [] keyword_found = False for keyword in ( - "namespace", "scope", "concern", "resource", "resources", "get", "post", "patch", "delete", "put", "head", - "options"): + "namespace", "scope", "concern", "resource", "resources", "get", "post", "patch", "delete", "put", "head", + "options"): if f"{keyword} " in code: keyword_found = True break @@ -41,7 +41,7 @@ def code_to_routes(code: str, file_name: str | None = None, method_full_name: st url_prefix = "" for i, part in enumerate(code_parts): if part in ("resource", "resources", "namespace") and len(code_parts) >= i + 1 and code_parts[i + 1].startswith( - ":"): + ":"): url_pattern = f"/{re.sub('^:', '', code_parts[i + 1])}" url_pattern = re.sub('[,/]$', '', url_pattern) if len(code_parts) > i + 2 and code_parts[i + 2] in ("resources", "resource"): @@ -66,7 +66,7 @@ def code_to_routes(code: str, file_name: str | None = None, method_full_name: st for i, part in enumerate(code_parts): for m in ("resource", "resources"): if part == m and code_parts[i + 1].startswith(':') and ( - i == len(code_parts) - 2 or (len(code_parts) > i + 2 and code_parts[i + 1] != "do")): + i == len(code_parts) - 2 or (len(code_parts) > i + 2 and code_parts[i + 1] != "do")): routes += _get_dangling_routes(i, m, code, code_parts, "/") return routes From 8094036209625a7356c9c1d78601318f1cd1e2a3 Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Thu, 23 Jan 2025 14:01:07 +0000 Subject: [PATCH 3/6] Linting Signed-off-by: Prabhu Subramanian --- atom_tools/lib/__init__.py | 3 +++ atom_tools/lib/ruby_converter.py | 3 +++ atom_tools/lib/ruby_semantics.py | 26 ++++++++++++++++++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/atom_tools/lib/__init__.py b/atom_tools/lib/__init__.py index 88b3d78..6f4c98d 100644 --- a/atom_tools/lib/__init__.py +++ b/atom_tools/lib/__init__.py @@ -1,3 +1,6 @@ +""" +Common dataclasses +""" from dataclasses import dataclass diff --git a/atom_tools/lib/ruby_converter.py b/atom_tools/lib/ruby_converter.py index 4b42762..7bc617e 100644 --- a/atom_tools/lib/ruby_converter.py +++ b/atom_tools/lib/ruby_converter.py @@ -1,3 +1,6 @@ +""" +Ruby converter helper +""" from atom_tools.lib.slices import AtomSlice from atom_tools.lib.ruby_semantics import code_to_routes diff --git a/atom_tools/lib/ruby_semantics.py b/atom_tools/lib/ruby_semantics.py index 14e69fd..18df748 100644 --- a/atom_tools/lib/ruby_semantics.py +++ b/atom_tools/lib/ruby_semantics.py @@ -8,6 +8,19 @@ def _get_dangling_routes(i, kind, code, code_parts, url_prefix="/"): + """ + Internal method + + Args: + i: + kind: + code: + code_parts: + url_prefix: + + Returns: + + """ routes = [] url_pattern = f"{url_prefix}{re.sub('^:', '', code_parts[i + 1])}" if kind == "resources": @@ -22,13 +35,22 @@ def _get_dangling_routes(i, kind, code, code_parts, url_prefix="/"): return routes -def code_to_routes(code: str, file_name: str | None = None, method_full_name: str | None = None) -> List[HttpRoute]: +def code_to_routes(code: str) -> List[HttpRoute]: + """ + Convert code string to routes + Args: + code: Code snippet + + Returns: + List of http routes + """ routes = [] if not code: return [] keyword_found = False for keyword in ( - "namespace", "scope", "concern", "resource", "resources", "get", "post", "patch", "delete", "put", "head", + "namespace", "scope", "concern", "resource", "resources", "get", + "post", "patch", "delete", "put", "head", "options"): if f"{keyword} " in code: keyword_found = True From b08aae7666a15618879862e1f39d634adaf1e93b Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Thu, 23 Jan 2025 14:14:49 +0000 Subject: [PATCH 4/6] Linting Signed-off-by: Prabhu Subramanian --- atom_tools/lib/ruby_semantics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atom_tools/lib/ruby_semantics.py b/atom_tools/lib/ruby_semantics.py index 18df748..7bbeae0 100644 --- a/atom_tools/lib/ruby_semantics.py +++ b/atom_tools/lib/ruby_semantics.py @@ -80,7 +80,7 @@ def code_to_routes(code: str) -> List[HttpRoute]: for m in ("get", "post", "delete", "patch", "put", "head", "options"): if part == m and len(code_parts) > i + 1 and code_parts[i + 1].startswith('"'): routes.append( - HttpRoute(url_pattern=f"{url_prefix}/{code_parts[i + 1].replace('"', "")}", + HttpRoute(url_pattern=f"""{url_prefix}/{code_parts[i + 1].replace('"', "")}""", method=m.upper() if m != "patch" else "PUT")) break if has_resources: From 1e989ddd272598f97d509ab272bf9c51d48bc788 Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Thu, 23 Jan 2025 14:17:59 +0000 Subject: [PATCH 5/6] Linting Signed-off-by: Prabhu Subramanian --- .github/workflows/pre-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 089426f..ef2bed3 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -1,4 +1,4 @@ -on: [push, pull_request] +on: [workflow_dispatch] permissions: contents: read From a3c42702543e50154234e2b9f431200c83b1bbdb Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Thu, 23 Jan 2025 15:50:02 +0000 Subject: [PATCH 6/6] More tests Signed-off-by: Prabhu Subramanian --- atom_tools/lib/ruby_semantics.py | 37 ++++++++++++++++++++++++-------- test/test_ruby_semantics.py | 28 +++++++++++++++++++++++- 2 files changed, 55 insertions(+), 10 deletions(-) diff --git a/atom_tools/lib/ruby_semantics.py b/atom_tools/lib/ruby_semantics.py index 7bbeae0..6654794 100644 --- a/atom_tools/lib/ruby_semantics.py +++ b/atom_tools/lib/ruby_semantics.py @@ -22,10 +22,10 @@ def _get_dangling_routes(i, kind, code, code_parts, url_prefix="/"): """ routes = [] - url_pattern = f"{url_prefix}{re.sub('^:', '', code_parts[i + 1])}" + url_pattern = _clean_url(f"{url_prefix}{re.sub('^:', '', code_parts[i + 1])}") if kind == "resources": routes.append(HttpRoute(url_pattern=url_pattern, method="GET")) - if "only: [" not in code and "shallow:" not in code: + if ("match " in code and "via: :all" in code) or ("only: [" not in code and "shallow:" not in code): routes.append(HttpRoute(url_pattern=f"{url_pattern}/new", method="GET")) routes.append(HttpRoute(url_pattern=url_pattern, method="POST")) routes.append(HttpRoute(url_pattern=f"{url_pattern}/:id", method="GET")) @@ -35,6 +35,10 @@ def _get_dangling_routes(i, kind, code, code_parts, url_prefix="/"): return routes +def _clean_url(url_pattern): + return re.sub('[,/]$', '', url_pattern) + + def code_to_routes(code: str) -> List[HttpRoute]: """ Convert code string to routes @@ -50,7 +54,7 @@ def code_to_routes(code: str) -> List[HttpRoute]: keyword_found = False for keyword in ( "namespace", "scope", "concern", "resource", "resources", "get", - "post", "patch", "delete", "put", "head", + "post", "patch", "delete", "put", "head", "match", "options"): if f"{keyword} " in code: keyword_found = True @@ -61,11 +65,25 @@ def code_to_routes(code: str) -> List[HttpRoute]: # Dangling resources - leads to many kinds of automatic routes has_resources = "resources " in code or "resource " in code url_prefix = "" + has_scope = False for i, part in enumerate(code_parts): - if part in ("resource", "resources", "namespace") and len(code_parts) >= i + 1 and code_parts[i + 1].startswith( - ":"): - url_pattern = f"/{re.sub('^:', '', code_parts[i + 1])}" - url_pattern = re.sub('[,/]$', '', url_pattern) + if not part or len(part) < 2: + continue + if part in ("scope",) or part.startswith("scope("): + has_scope = True + if len(code_parts) >= i + 1 and code_parts[i + 1].startswith('":'): + url_prefix = f"""/{re.sub('[:",]', '', code_parts[i + 1])}""" + continue + if (part in ("resource", "resources", "namespace", "member") + and len(code_parts) >= i + 1 + and code_parts[i + 1].startswith(":")): + url_pattern = _clean_url(f"/{re.sub('^:', '', code_parts[i + 1])}") + # Is there an alias for this patten + if len(code_parts) > i + 3 and code_parts[i + 2] in ("path:", "path", "path("): + url_pattern = _clean_url(code_parts[i + 3].replace('"', "")) + routes += _get_dangling_routes(i, part, code, code_parts, + f"{url_prefix}/{url_pattern}/") + continue if len(code_parts) > i + 2 and code_parts[i + 2] in ("resources", "resource"): routes += _get_dangling_routes(i, code_parts[i + 2], code, code_parts, f"{url_prefix}/") elif i == len(code_parts) - 2 and part in ("resource", "resources"): @@ -73,7 +91,8 @@ def code_to_routes(code: str) -> List[HttpRoute]: else: url_prefix = f"{url_prefix}{url_pattern}" continue - if part in ("collection", "concern", "do") or part.startswith(":") or part.startswith('"'): + if part in ("collection", "member", "concern", "do", "as:", "constraints:") or part.startswith( + ":") or part.startswith('"'): continue if part == "end" and url_prefix: url_prefix = "/".join(url_prefix.split("/")[:-1]) @@ -89,6 +108,6 @@ def code_to_routes(code: str) -> List[HttpRoute]: for m in ("resource", "resources"): if part == m and code_parts[i + 1].startswith(':') and ( i == len(code_parts) - 2 or (len(code_parts) > i + 2 and code_parts[i + 1] != "do")): - routes += _get_dangling_routes(i, m, code, code_parts, "/") + routes += _get_dangling_routes(i, m, code, code_parts, f"{url_prefix}/" if has_scope else "/") return routes diff --git a/test/test_ruby_semantics.py b/test/test_ruby_semantics.py index 37cd64b..30d0ce0 100644 --- a/test/test_ruby_semantics.py +++ b/test/test_ruby_semantics.py @@ -7,7 +7,8 @@ def test_code_to_routes(): assert code_to_routes(None) == [] assert code_to_routes("") == [] assert code_to_routes("Railsgoat::Application.routes.draw do") == [] - assert code_to_routes('create_table \"analytics\", force: :cascade do |t| t.string \"ip_address\" t.string \"referrer\" t.string \"user_agent\" t.datetime \"created_at\" t.datetime \"updated_at\" end') == [] + assert code_to_routes( + 'create_table \"analytics\", force: :cascade do |t| t.string \"ip_address\" t.string \"referrer\" t.string \"user_agent\" t.datetime \"created_at\" t.datetime \"updated_at\" end') == [] assert code_to_routes('Railsgoat::Application.routes.draw do get \"login\" => ...') == [ HttpRoute(url_pattern='/login', method='GET')] assert code_to_routes( @@ -131,3 +132,28 @@ def test_code_to_routes_namespace(): HttpRoute(url_pattern='/v1/users/:id/edit', method='GET'), HttpRoute(url_pattern='/v1/users/:id', method='PUT'), HttpRoute(url_pattern='/v1/users/:id', method='DELETE')] + + +def test_code_to_routes_advanced(): + assert code_to_routes('resources :photos do member do get "preview" end end') == [ + HttpRoute(url_pattern='/photos/preview', method='GET')] + assert code_to_routes('get "こんにちは", to: "welcome#index"') == [ + HttpRoute(url_pattern='/こんにちは,', method='GET')] + assert code_to_routes( + 'scope ":account_id", as: "account", constraints: { account_id: /\d+/ } do resources :articles end') == [ + HttpRoute(url_pattern='/account_id/articles', method='GET'), + HttpRoute(url_pattern='/account_id/articles/new', method='GET'), + HttpRoute(url_pattern='/account_id/articles', method='POST'), + HttpRoute(url_pattern='/account_id/articles/:id', method='GET'), + HttpRoute(url_pattern='/account_id/articles/:id/edit', method='GET'), + HttpRoute(url_pattern='/account_id/articles/:id', method='PUT'), + HttpRoute(url_pattern='/account_id/articles/:id', method='DELETE')] + assert code_to_routes( + 'scope(path_names: { new: "neu", edit: "bearbeiten" }) do resources :categories, path: "kategorien" end') == [ + HttpRoute(url_pattern='/kategorien/categories', method='GET'), + HttpRoute(url_pattern='/kategorien/categories/new', method='GET'), + HttpRoute(url_pattern='/kategorien/categories', method='POST'), + HttpRoute(url_pattern='/kategorien/categories/:id', method='GET'), + HttpRoute(url_pattern='/kategorien/categories/:id/edit', method='GET'), + HttpRoute(url_pattern='/kategorien/categories/:id', method='PUT'), + HttpRoute(url_pattern='/kategorien/categories/:id', method='DELETE')]