json_api_query_parser 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7b01567a702f210351f2a5eea62e5d941773470a
4
- data.tar.gz: 934a9f48b31731c1aac81d7779e79576eb84edb3
2
+ SHA256:
3
+ metadata.gz: a4b869f637162457b7cb4086bf27560160a14b133c7fe4ab5eb113bb69c27501
4
+ data.tar.gz: cd5c8aea7c79c27cd670b38ca4966bb926011c26659344afd1cb884667b3f694
5
5
  SHA512:
6
- metadata.gz: 1cea6b857f4d71c9c7fd3c3ce2e3d497466393d5978fbbd10416f00c7c3ad4c87b87061e2fe791592671469d39b86369e79ac8977c9b77bfd151b0a5ce031fec
7
- data.tar.gz: 955e1f56e524b131fa682ce309226fdf14b22aa8064498120e48e9ed2e7331283c87ec8e3196a18eb6084d128cb48bab049351e7579b71470f9e4c0bdc34c4a2
6
+ metadata.gz: 8a1f0a7c32071e0bce8f6e1aefc939e69ed7784a4c740e254f8582cf4dbceb58885c5e30c1ebf57f16324332cc877a16a2d41c77d21fd04677775dd4ed8156a1
7
+ data.tar.gz: bfd81c6375da0f478ae20d54df362f548fccea33707dc7aa4715971b3688547b00365e557f5c49850a27e7219e95d10a49602cbc0202262495cd3b29349f035a
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- json_api_query_parser (0.1.1)
4
+ json_api_query_parser (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # JSON API query parser
2
2
 
3
- [![Build Status](https://travis-ci.org/g13ydson/json_api_query_parser.svg?branch=master)](https://travis-ci.org/g13ydson/json_api_query_parser)[![Maintainability](https://api.codeclimate.com/v1/badges/c29beeab2c474cbe15d0/maintainability)](https://codeclimate.com/github/g13ydson/json_api_query_parser/maintainability)
3
+ [![Gem Version](https://badge.fury.io/rb/json_api_query_parser.svg)](https://badge.fury.io/rb/json_api_query_parser) [![Build Status](https://travis-ci.org/g13ydson/json_api_query_parser.svg?branch=master)](https://travis-ci.org/g13ydson/json_api_query_parser) [![Maintainability](https://api.codeclimate.com/v1/badges/c29beeab2c474cbe15d0/maintainability)](https://codeclimate.com/github/g13ydson/json_api_query_parser/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/c29beeab2c474cbe15d0/test_coverage)](https://codeclimate.com/github/g13ydson/json_api_query_parser/test_coverage)
4
4
 
5
5
  To be used for ruby projects that make use of [JSON API](http://jsonapi.org/)
6
6
 
@@ -4,94 +4,94 @@ require "json_api_query_parser/version"
4
4
 
5
5
  module JsonApiQueryParser
6
6
  PARSE_PARAM = {
7
- parseInclude: /^include\=(.*?)/i,
8
- parseFields: /^fields\[(.*?)\]\=.*?$/i,
9
- parsePage: /^page\[(.*?)\]\=.*?$/i
7
+ parse_include: /^include\=(.*?)/i,
8
+ parse_fields: /^fields\[(.*?)\]\=.*?$/i,
9
+ parse_page: /^page\[(.*?)\]\=.*?$/i
10
10
  }.freeze
11
11
 
12
- def self.parseRequest(url)
13
- requestData = {
14
- resourceType: nil,
12
+ def self.parse_request(url)
13
+ request_data = {
14
+ resource_type: nil,
15
15
  identifier: nil,
16
- queryData: {
16
+ query_data: {
17
17
  include: [],
18
18
  fields: {},
19
19
  page: {}
20
20
  }
21
21
  }
22
22
 
23
- urlSplit = url.split("?")
24
- requestData = parseEndpoint(urlSplit[0], requestData) if urlSplit[0]
23
+ url_split = url.split("?")
24
+ request_data = parse_endpoint(url_split[0], request_data) if url_split[0]
25
25
 
26
- if urlSplit[1]
27
- requestData[:queryData] = parseQueryParameters(urlSplit[1], requestData[:queryData])
26
+ if url_split[1]
27
+ request_data[:query_data] = parse_query_parameters(url_split[1], request_data[:query_data])
28
28
  end
29
29
 
30
- requestData
30
+ request_data
31
31
  end
32
32
 
33
- def self.parseQueryParameters(queryString, requestData)
34
- querySplit = queryString.split("&")
33
+ def self.parse_query_parameters(query_string, request_data)
34
+ query_split = query_string.split("&")
35
35
 
36
- querySplit.each do |query|
37
- delegateToParser(query, requestData)
36
+ query_split.each do |query|
37
+ delegate_to_parser(query, request_data)
38
38
  end
39
39
 
40
- requestData
40
+ request_data
41
41
  end
42
42
 
43
- def self.parseEndpoint(endpointString, requestData)
44
- requestSplit = endpointString.split("/")
43
+ def self.parse_endpoint(endpoint_string, request_data)
44
+ request_split = endpoint_string.split("/")
45
45
 
46
- requestData[:resourceType] = requestSplit[0]
47
- requestData[:identifier] = requestSplit.length >= 2 ? requestSplit[1] : nil
46
+ request_data[:resource_type] = request_split[0]
47
+ request_data[:identifier] = request_split.length >= 2 ? request_split[1] : nil
48
48
 
49
- requestData
49
+ request_data
50
50
  end
51
51
 
52
- def self.delegateToParser(query, requestData)
53
- PARSE_PARAM.each do |functionName, _value|
54
- if query =~ PARSE_PARAM[functionName.to_sym]
55
- requestData = send(functionName, query, requestData)
52
+ def self.delegate_to_parser(query, request_data)
53
+ PARSE_PARAM.each do |function_name, _value|
54
+ if query =~ PARSE_PARAM[function_name.to_sym]
55
+ request_data = send(function_name, query, request_data)
56
56
  end
57
57
  end
58
58
  end
59
59
 
60
- def self.parseInclude(includeString, requestData)
61
- targetString = includeString.split("=")[1]
62
- requestData[:include] = targetString.split(",")
60
+ def self.parse_include(include_string, request_data)
61
+ target_string = include_string.split("=")[1]
62
+ request_data[:include] = target_string.split(",")
63
63
 
64
- requestData
64
+ request_data
65
65
  end
66
66
 
67
- def self.parseFields(fieldsString, requestData)
68
- targetResource, targetFields, targetFieldsString = ""
69
- fieldNameRegex = /^fields.*?\=(.*?)$/i
67
+ def self.parse_fields(fields_string, request_data)
68
+ target_resource, target_fields, target_fields_string = ""
69
+ field_name_regex = /^fields.*?\=(.*?)$/i
70
70
 
71
- targetResource = fieldsString.scan(PARSE_PARAM[:parseFields])
71
+ target_resource = fields_string.scan(PARSE_PARAM[:parse_fields])
72
72
 
73
- targetFieldsString = fieldsString.scan(fieldNameRegex)
73
+ target_fields_string = fields_string.scan(field_name_regex)
74
74
 
75
- requestData[:fields][targetResource[0][0]] = !requestData[:fields][targetResource[0][0]] ? [] : targetResource[0][0]
76
- targetFields = targetFieldsString[0][0].split(",")
75
+ request_data[:fields][target_resource[0][0]] = !request_data[:fields][target_resource[0][0]] ? [] : target_resource[0][0]
76
+ target_fields = target_fields_string[0][0].split(",")
77
77
 
78
- targetFields.each do |targetField|
79
- requestData[:fields][targetResource[0][0]] << targetField
78
+ target_fields.each do |targetField|
79
+ request_data[:fields][target_resource[0][0]] << targetField
80
80
  end
81
81
 
82
- requestData
82
+ request_data
83
83
  end
84
84
 
85
- def self.parsePage (pageString, requestData)
86
- pageSettingKey, pageSettingValue = ""
87
- pageValueRegex = /^page.*?\=(.*?)$/i
85
+ def self.parse_page (page_string, request_data)
86
+ page_setting_key, page_setting_value = ""
87
+ page_value_regex = /^page.*?\=(.*?)$/i
88
88
 
89
- pageSettingKey = pageString.scan(PARSE_PARAM[:parsePage])
89
+ page_setting_key = page_string.scan(PARSE_PARAM[:parse_page])
90
90
 
91
- pageSettingValue = pageString.scan(pageValueRegex)
91
+ page_setting_value = page_string.scan(page_value_regex)
92
92
 
93
- requestData[:page][pageSettingKey[0][0]] = pageSettingValue[0][0]
93
+ request_data[:page][page_setting_key[0][0]] = page_setting_value[0][0]
94
94
 
95
- requestData
95
+ request_data
96
96
  end
97
97
  end
@@ -1,3 +1,3 @@
1
1
  module JsonApiQueryParser
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_api_query_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gleydson Tavares
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-29 00:00:00.000000000 Z
11
+ date: 2019-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
93
  version: '0'
94
94
  requirements: []
95
95
  rubyforge_project:
96
- rubygems_version: 2.6.14
96
+ rubygems_version: 2.7.8
97
97
  signing_key:
98
98
  specification_version: 4
99
99
  summary: Parse JSON API endpoint and its query parameters to a usable Hash