legion-json 0.1.0 → 1.1.1

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: 7fc66ec01a80c1d2f22776515bd09207a5a99141
4
- data.tar.gz: 5dc901b48f5a20303d102367d7d6bb6ba0042355
2
+ SHA256:
3
+ metadata.gz: 075666ae837d9b387872a4723e3c28d41e33a2b790ebc5fb409dd9dee7e3d158
4
+ data.tar.gz: e1794428fa93b05562b51a5b29f27315fb26c120894414418575ad5e60bd86d3
5
5
  SHA512:
6
- metadata.gz: 2da309a5d787f236506b51fd122163453d838f5d6a7345faf68840248946b30344e7c7ba12fa12f7de93770eb05637e4623378adb2de5f8cb9d2c2871f537013
7
- data.tar.gz: f2bfaff8d1efafdcdf4fd5845701d96a5b562e49ca6315f33f5bba80aaca32a339efd166884568b1133a92a5fbae50ade0d5b07c0143ba6c9422fb8854626a1a
6
+ metadata.gz: c7d192bc73376b82f198d49293a5f634e0100ad24fe94a0241ff8bc73787ba450a27dafa2b871977bd04132c58e31bafa9cc2fa5eb547e59ee558bcf09be1e9b
7
+ data.tar.gz: 16039e051d56c19efb5962839f39e5b9c870dee3e30eda054980edef0fd73fba9f1b3b388db21c8384978bee3e8a03fb4b1d592db6ec748fa1e8bd8bf701a352
@@ -1,91 +1,56 @@
1
- version: 2 # use CircleCI 2.0
1
+ version: 2.1
2
+ orbs:
3
+ ruby: circleci/ruby@0.2.1
4
+ sonarcloud: sonarsource/sonarcloud@1.0.1
5
+
2
6
  jobs:
3
7
  "rubocop":
4
8
  docker:
5
- - image: circleci/ruby:2.4-node
9
+ - image: circleci/ruby:2.7-node
6
10
  steps:
7
11
  - checkout
8
- - run: gem install rubocop
12
+ - ruby/load-cache
13
+ - ruby/install-deps
9
14
  - run:
10
15
  name: Run Rubocop
11
- command: rubocop
12
- - store_test_results:
13
- path: test_results
14
- "ruby-2.0":
16
+ command: bundle exec rubocop
17
+ - ruby/save-cache
18
+ "ruby-two-five":
15
19
  docker:
16
- - image: circleci/ruby:2.0
20
+ - image: circleci/ruby:2.5
17
21
  steps:
18
22
  - checkout
19
- - run:
20
- name: Bundle Install
21
- command: bundle install
22
- - run:
23
- name: Run RSpec
24
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
25
- when: always
26
- - store_test_results:
27
- path: test-results
28
- "ruby-2.1":
29
- docker:
30
- - image: circleci/ruby:2.1
31
- steps:
32
- - checkout
33
- - run:
34
- name: Bundle Install
35
- command: bundle install
36
- - run:
37
- name: Run RSpec
38
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
39
- when: always
40
- - store_test_results:
41
- path: test-results
42
- "ruby-2.2":
43
- docker:
44
- - image: circleci/ruby:2.2
45
- steps:
46
- - checkout
47
- - run:
48
- name: Bundle Install
49
- command: bundle install
50
- - run:
51
- name: Run RSpec
52
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
53
- when: always
54
- - store_test_results:
55
- path: test-results
56
-
57
- "ruby-2.3":
23
+ - ruby/load-cache
24
+ - run:
25
+ name: update bundler
26
+ command: gem update bundler
27
+ - ruby/install-deps
28
+ - ruby/run-tests
29
+ - ruby/save-cache
30
+ "ruby-two-six":
58
31
  docker:
59
- - image: circleci/ruby:2.3
32
+ - image: circleci/ruby:2.6
60
33
  steps:
61
34
  - checkout
62
- - run:
63
- name: Bundle Install
64
- command: bundle install
65
- - run:
66
- name: Run RSpec
67
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
68
- when: always
69
- - store_test_results:
70
- path: test-results
71
-
72
- "ruby-2.4":
35
+ - ruby/load-cache
36
+ - run:
37
+ name: update bundler
38
+ command: gem update bundler
39
+ - ruby/install-deps
40
+ - ruby/run-tests
41
+ - ruby/save-cache
42
+ "ruby-two-seven":
73
43
  docker:
74
- - image: circleci/ruby:2.4-node
44
+ - image: circleci/ruby:2.7
75
45
  steps:
76
46
  - checkout
77
- - run:
78
- name: Bundle Install
79
- command: bundle install
80
- - run:
81
- name: Run RSpec
82
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
83
- when: always
84
- - store_test_results:
85
- path: test-results
86
- "ruby-2.5":
47
+ - ruby/load-cache
48
+ - ruby/install-deps
49
+ - ruby/run-tests
50
+ - ruby/save-cache
51
+ "jruby-nine-two":
87
52
  docker:
88
- - image: circleci/ruby:2.5-node
53
+ - image: circleci/jruby:9.2-jre
89
54
  steps:
90
55
  - checkout
91
56
  - run:
@@ -97,9 +62,10 @@ jobs:
97
62
  when: always
98
63
  - store_test_results:
99
64
  path: test-results
100
- "ruby-2.6":
65
+ - sonarcloud/scan
66
+ "jruby-nine-two-e":
101
67
  docker:
102
- - image: circleci/ruby:2.6-node
68
+ - image: circleci/jruby:9.2.11-jre
103
69
  steps:
104
70
  - checkout
105
71
  - run:
@@ -111,57 +77,42 @@ jobs:
111
77
  when: always
112
78
  - store_test_results:
113
79
  path: test-results
114
- "jruby-9.2":
80
+ "sonarcloud":
115
81
  docker:
116
- - image: circleci/jruby:9.2
82
+ - image: circleci/ruby:2.7
117
83
  steps:
118
84
  - checkout
85
+ - ruby/load-cache
86
+ - ruby/install-deps
87
+ - ruby/run-tests
119
88
  - run:
120
- name: Bundle Install
121
- command: bundle install
122
- - run:
123
- name: Run RSpec
124
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
125
- when: always
126
- - store_test_results:
127
- path: test-results
89
+ name: Run Rubocop
90
+ command: bundle exec rubocop --format=json --out=rubocop-result.json
91
+ - sonarcloud/scan
92
+ - ruby/save-cache
128
93
 
129
94
  workflows:
130
95
  version: 2
131
- cop_rake_deploy:
96
+ rubocop-rspec:
132
97
  jobs:
133
98
  - rubocop
134
- - ruby-2.2:
99
+ - ruby-two-five:
135
100
  requires:
136
- - ruby-2.4
137
- filters:
138
- branches:
139
- only: /\bdevelop\b|\bmaster\b/
140
- - ruby-2.3:
101
+ - rubocop
102
+ - ruby-two-six:
141
103
  requires:
142
- - ruby-2.4
143
- filters:
144
- branches:
145
- only: /\bdevelop\b|\bmaster\b/
146
- - ruby-2.4:
104
+ - ruby-two-five
105
+ - ruby-two-seven:
147
106
  requires:
148
- - rubocop
149
- - ruby-2.5:
107
+ - ruby-two-five
108
+ - sonarcloud:
150
109
  requires:
151
- - ruby-2.4
152
- filters:
153
- branches:
154
- only: /\bdevelop\b|\bmaster\b/
155
- - ruby-2.6:
110
+ - ruby-two-seven
111
+ - ruby-two-six
112
+ - jruby-nine-two:
156
113
  requires:
157
- - ruby-2.4
158
- filters:
159
- branches:
160
- only: /\bdevelop\b|\bmaster\b/
161
- - jruby-9.2:
114
+ - ruby-two-seven
115
+ - ruby-two-six
116
+ - jruby-nine-two-e:
162
117
  requires:
163
- - ruby-2.2
164
- - ruby-2.3
165
- - ruby-2.4
166
- - ruby-2.5
167
- - ruby-2.6
118
+ - jruby-nine-two
@@ -0,0 +1,2 @@
1
+ echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
2
+ chmod 0600 ~/.gem/credentials
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
@@ -9,6 +8,10 @@
9
8
  /tmp/
10
9
  /rspec/
11
10
  /test-results/
11
+ /.scannerwork
12
+ rubocop-result.json
13
+ *.gem
14
+ *.pem
12
15
 
13
16
  # rspec failure tracking
14
17
  .rspec_status
@@ -1,4 +1,5 @@
1
- Metrics/LineLength:
1
+ require: rubocop-performance
2
+ Layout/LineLength:
2
3
  Max: 120
3
4
  Metrics/MethodLength:
4
5
  Max: 30
@@ -8,17 +9,18 @@ Metrics/BlockLength:
8
9
  Max: 50
9
10
  Layout/SpaceAroundEqualsInParameterDefault:
10
11
  EnforcedStyle: space
12
+ Style/OptionalBooleanParameter:
13
+ Enabled: false
11
14
  Style/SymbolArray:
12
15
  Enabled: true
13
- Layout/AlignHash:
16
+ Layout/HashAlignment:
14
17
  EnforcedHashRocketStyle: table
15
18
  EnforcedColonStyle: table
16
- Style/HashSyntax:
17
- EnforcedStyle: ruby19_no_mixed_keys
18
19
  Style/Documentation:
19
20
  Enabled: false
20
21
  AllCops:
21
- TargetRubyVersion: 2.2
22
+ TargetRubyVersion: 2.5
23
+ NewCops: enable
22
24
  Style/FrozenStringLiteralComment:
23
25
  Enabled: false
24
26
  Naming/FileName:
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in legion-json.gemspec
4
3
  gemspec
@@ -0,0 +1,76 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ legion-json (1.1.1)
5
+ multi_json
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ ast (2.4.1)
11
+ codecov (0.2.8)
12
+ json
13
+ simplecov
14
+ diff-lcs (1.4.4)
15
+ docile (1.3.2)
16
+ json (2.3.1)
17
+ multi_json (1.15.0)
18
+ parallel (1.19.2)
19
+ parser (2.7.1.4)
20
+ ast (~> 2.4.1)
21
+ rainbow (3.0.0)
22
+ rake (13.0.1)
23
+ regexp_parser (1.7.1)
24
+ rexml (3.2.4)
25
+ rspec (3.9.0)
26
+ rspec-core (~> 3.9.0)
27
+ rspec-expectations (~> 3.9.0)
28
+ rspec-mocks (~> 3.9.0)
29
+ rspec-core (3.9.2)
30
+ rspec-support (~> 3.9.3)
31
+ rspec-expectations (3.9.2)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.9.0)
34
+ rspec-mocks (3.9.1)
35
+ diff-lcs (>= 1.2.0, < 2.0)
36
+ rspec-support (~> 3.9.0)
37
+ rspec-support (3.9.3)
38
+ rspec_junit_formatter (0.4.1)
39
+ rspec-core (>= 2, < 4, != 2.12.0)
40
+ rubocop (0.89.1)
41
+ parallel (~> 1.10)
42
+ parser (>= 2.7.1.1)
43
+ rainbow (>= 2.2.2, < 4.0)
44
+ regexp_parser (>= 1.7)
45
+ rexml
46
+ rubocop-ast (>= 0.3.0, < 1.0)
47
+ ruby-progressbar (~> 1.7)
48
+ unicode-display_width (>= 1.4.0, < 2.0)
49
+ rubocop-ast (0.3.0)
50
+ parser (>= 2.7.1.4)
51
+ rubocop-performance (1.7.1)
52
+ rubocop (>= 0.82.0)
53
+ ruby-progressbar (1.10.1)
54
+ simplecov (0.17.1)
55
+ docile (~> 1.1)
56
+ json (>= 1.8, < 3)
57
+ simplecov-html (~> 0.10.0)
58
+ simplecov-html (0.10.2)
59
+ unicode-display_width (1.7.0)
60
+
61
+ PLATFORMS
62
+ ruby
63
+
64
+ DEPENDENCIES
65
+ bundler
66
+ codecov (~> 0)
67
+ legion-json!
68
+ rake
69
+ rspec
70
+ rspec_junit_formatter
71
+ rubocop
72
+ rubocop-performance
73
+ simplecov (< 0.18.0)
74
+
75
+ BUNDLED WITH
76
+ 2.1.4
data/README.md CHANGED
@@ -2,41 +2,10 @@
2
2
 
3
3
  Legion::Json is part of the Legion Framework
4
4
 
5
-
6
- ## Installation
7
-
8
- Add this line to your application's Gemfile:
9
-
10
- ```ruby
11
- gem 'legion-json'
12
- ```
13
-
14
- And then execute:
15
-
16
- $ bundle
17
-
18
- Or install it yourself as:
19
-
20
- $ gem install legion-json
21
-
22
5
  ## Usage
23
6
 
24
7
  This library provides the Legion JSON parser abstraction, enabling the use of platform specific JSON parsers.
25
8
 
26
- ## Development
27
-
28
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
29
-
30
- To install this gem onto your local machine, run `bundle exec install`.
31
-
32
- ## Contributing
33
-
34
- Bug reports and pull requests are welcome on GitHub at https://bitbucket.org/legion-io/legion-json/issues This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
35
-
36
9
  ## License
37
10
 
38
11
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
39
-
40
- ## Credit
41
-
42
- This gem was based on the Sensu JSON gem. You can find the original gem [here](https://github.com/sensu/sensu-json)
@@ -1,16 +1,16 @@
1
1
  image: ruby:2.4.0
2
2
 
3
3
  pipelines:
4
- branches:
5
- master:
6
- - step:
7
- caches:
8
- - bundler
9
- script:
10
- - gem install bundle rubocop
11
- - bundle install
12
- - rubocop
13
- - rake
4
+ tags:
5
+ '0.1.1':
6
+ - step:
7
+ name: Deploy to Rubygems MRI
8
+ image: ruby:2.5.0
9
+ deployment: production
10
+ script:
11
+ - bash .circleci/setup-rubygems.sh
12
+ - gem build legion-json.gemspec
13
+ - gem push "legion-json-$(git describe --tags).gem"
14
14
  definitions:
15
15
  caches:
16
16
  bundler: vendor/bundle
@@ -0,0 +1,3 @@
1
+ codecov:
2
+ notify:
3
+ require_ci_to_pass: yes
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'legion/json/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'legion-json'
6
+ spec.name = 'legion-json'
7
7
  spec.version = Legion::Json::VERSION
8
8
  spec.authors = ['Esity']
9
9
  spec.email = ['matthewdiverson@gmail.com']
@@ -12,25 +12,29 @@ Gem::Specification.new do |spec|
12
12
  spec.description = 'A gem used to load and use JSON objects inside the Legion framework'
13
13
  spec.homepage = 'https://bitbucket.org/legion-io/legion-json'
14
14
  spec.license = 'MIT'
15
- spec.required_ruby_version = '~> 2.2'
15
+ spec.required_ruby_version = '>= 2.5'
16
+ spec.metadata = {
17
+ 'bug_tracker_uri' => 'https://legionio.atlassian.net/projects/JSON/issues',
18
+ 'changelog_uri' => 'https://legionio.atlassian.net/wiki/spaces/LEGION/pages/24674324/JSON',
19
+ 'documentation_uri' => 'https://legionio.atlassian.net/wiki/spaces/LEGION/pages/24674324/JSON',
20
+ 'homepage_uri' => 'https://legionio.atlassian.net/wiki/spaces/LEGION',
21
+ 'source_code_uri' => 'https://bitbucket.org/legion-io/legion-json',
22
+ 'wiki_uri' => 'https://legionio.atlassian.net/wiki/spaces/LEGION/pages/24674324/JSON'
23
+ }
16
24
 
17
25
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
26
  f.match(%r{^(test|spec|features)/})
19
27
  end
20
- spec.bindir = 'exe'
21
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
29
  spec.require_paths = ['lib']
23
30
 
24
- spec.add_development_dependency 'bundler', '~> 1'
31
+ spec.add_development_dependency 'bundler'
25
32
  spec.add_development_dependency 'codecov', '~> 0'
26
- spec.add_development_dependency 'rake', '~> 10.0'
27
- spec.add_development_dependency 'rspec', '~> 3.0'
28
- spec.add_development_dependency 'rspec_junit_formatter', '~> 0'
29
- spec.add_development_dependency 'rubocop', '~> 0'
30
- spec.add_dependency 'json', '~> 2.1'
31
- if RUBY_ENGINE == 'jruby'
32
- spec.add_dependency('jrjackson', '~> 0.4')
33
- else
34
- spec.add_dependency('oj', '~> 2.18')
35
- end
33
+ spec.add_development_dependency 'rake'
34
+ spec.add_development_dependency 'rspec'
35
+ spec.add_development_dependency 'rspec_junit_formatter'
36
+ spec.add_development_dependency 'rubocop'
37
+ spec.add_development_dependency 'rubocop-performance'
38
+ spec.add_development_dependency 'simplecov', '< 0.18.0'
39
+ spec.add_dependency 'multi_json'
36
40
  end
@@ -1,45 +1,23 @@
1
1
  require 'legion/json/version'
2
2
  require 'legion/json/parse_error'
3
+ require 'multi_json'
3
4
 
4
5
  module Legion
5
- # Used to create JSON objects
6
6
  module JSON
7
7
  class << self
8
- # Set up the JSON parser. This method must be called before any
9
- # attempt to use the parser. This method is currently called at
10
- # the bottom of this file. The appropriate JSON parser will be
11
- # loaded for the current platform.
12
- #
13
- # @return [Object] parser.
14
- def setup!
15
- if RUBY_ENGINE == 'jruby'
16
- require 'legion/json/jrjackson'
17
- @parser = Legion::JSON::JrJackson.new
18
- else
19
- require 'legion/json/oj'
20
- @parser = Legion::JSON::Oj.new
21
- end
8
+ def parser
9
+ @parser ||= MultiJson
22
10
  end
23
11
 
24
- # Load (and parse) a JSON string.
25
- #
26
- # @param string [String]
27
- # @return [Object]
28
- def load(string)
29
- @parser.load(string)
30
- rescue StandardError => error
31
- raise Legion::JSON::ParseError.build(error, string)
12
+ def load(string, symbolize_keys = true)
13
+ parser.load(string, symbolize_keys: symbolize_keys)
14
+ rescue StandardError => e
15
+ raise Legion::JSON::ParseError.build(e, string)
32
16
  end
33
17
 
34
- # Dump (generate) a JSON string from a Ruby object.
35
- #
36
- # @param object [Object]
37
- # @param options [Hash]
38
- def dump(object, options = {})
39
- @parser.dump(object, options)
18
+ def dump(object, pretty = false)
19
+ parser.dump(object, pretty: pretty)
40
20
  end
41
21
  end
42
22
  end
43
23
  end
44
-
45
- Legion::JSON.setup!
@@ -1,5 +1,5 @@
1
1
  module Legion
2
2
  module Json
3
- VERSION = '0.1.0'.freeze
3
+ VERSION = '1.1.1'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1,11 @@
1
+ sonar.projectKey=legion-io_legion-json
2
+ sonar.organization=legion-io
3
+ sonar.sources=.
4
+ sonar.exclusions=vendor/**
5
+ sonar.coverage.exclusions=spec/**
6
+ sonar.ruby.coverage.reportPath=coverage/.resultset.json
7
+ sonar.ruby.file.suffixes=rb,ruby
8
+ sonar.ruby.coverage.framework=RSpec
9
+ sonar.ruby.rubocopConfig=.rubocop.yml
10
+ sonar.ruby.rubocop.reportPath=rubocop-result.json
11
+ sonar.ruby.rubocop.filePath=.
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
8
- autorequire:
9
- bindir: exe
8
+ autorequire:
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-29 00:00:00.000000000 Z
11
+ date: 2020-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: codecov
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,86 +42,100 @@ dependencies:
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec_junit_formatter
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: json
98
+ name: rubocop-performance
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '2.1'
104
- type: :runtime
103
+ version: '0'
104
+ type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '2.1'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: oj
112
+ name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - "<"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.18.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "<"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.18.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: multi_json
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
116
130
  - !ruby/object:Gem::Version
117
- version: '2.18'
131
+ version: '0'
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - "~>"
136
+ - - ">="
123
137
  - !ruby/object:Gem::Version
124
- version: '2.18'
138
+ version: '0'
125
139
  description: A gem used to load and use JSON objects inside the Legion framework
126
140
  email:
127
141
  - matthewdiverson@gmail.com
@@ -130,43 +144,50 @@ extensions: []
130
144
  extra_rdoc_files: []
131
145
  files:
132
146
  - ".circleci/config.yml"
147
+ - ".circleci/setup-rubygems.sh"
133
148
  - ".gitignore"
134
- - ".rubocop"
149
+ - ".rubocop.yml"
135
150
  - Gemfile
151
+ - Gemfile.lock
136
152
  - LICENSE.txt
137
153
  - README.md
138
154
  - Rakefile
139
155
  - bin/console
140
156
  - bin/setup
141
157
  - bitbucket-pipelines.yml
158
+ - codecov.yml
142
159
  - legion-json.gemspec
143
160
  - lib/legion/json.rb
144
- - lib/legion/json/jrjackson.rb
145
- - lib/legion/json/oj.rb
146
161
  - lib/legion/json/parse_error.rb
147
162
  - lib/legion/json/version.rb
163
+ - sonar-project.properties
148
164
  homepage: https://bitbucket.org/legion-io/legion-json
149
165
  licenses:
150
166
  - MIT
151
- metadata: {}
152
- post_install_message:
167
+ metadata:
168
+ bug_tracker_uri: https://legionio.atlassian.net/projects/JSON/issues
169
+ changelog_uri: https://legionio.atlassian.net/wiki/spaces/LEGION/pages/24674324/JSON
170
+ documentation_uri: https://legionio.atlassian.net/wiki/spaces/LEGION/pages/24674324/JSON
171
+ homepage_uri: https://legionio.atlassian.net/wiki/spaces/LEGION
172
+ source_code_uri: https://bitbucket.org/legion-io/legion-json
173
+ wiki_uri: https://legionio.atlassian.net/wiki/spaces/LEGION/pages/24674324/JSON
174
+ post_install_message:
153
175
  rdoc_options: []
154
176
  require_paths:
155
177
  - lib
156
178
  required_ruby_version: !ruby/object:Gem::Requirement
157
179
  requirements:
158
- - - "~>"
180
+ - - ">="
159
181
  - !ruby/object:Gem::Version
160
- version: '2.2'
182
+ version: '2.5'
161
183
  required_rubygems_version: !ruby/object:Gem::Requirement
162
184
  requirements:
163
185
  - - ">="
164
186
  - !ruby/object:Gem::Version
165
187
  version: '0'
166
188
  requirements: []
167
- rubyforge_project:
168
- rubygems_version: 2.6.14
169
- signing_key:
189
+ rubygems_version: 3.1.2
190
+ signing_key:
170
191
  specification_version: 4
171
192
  summary: Legion JSON
172
193
  test_files: []
@@ -1,16 +0,0 @@
1
- require 'jrjackson'
2
-
3
- module Legion
4
- module JSON
5
- # The Legion JSON parser when running on JRuby.
6
- class JrJackson
7
- def load(string)
8
- ::JrJackson::Json.load(string, symbolize_keys: true, raw: true)
9
- end
10
-
11
- def dump(object, options = {})
12
- ::JrJackson::Json.dump(object, options)
13
- end
14
- end
15
- end
16
- end
@@ -1,18 +0,0 @@
1
- require 'oj'
2
- Oj.default_options = { mode: :compat }
3
-
4
- module Legion
5
- module JSON
6
- # The Legion JSON parser when running on MRI.
7
- class Oj
8
- def load(string)
9
- ::Oj.load(string, symbol_keys: true)
10
- end
11
-
12
- def dump(object, options = {})
13
- options[:indent] = 2 if options[:pretty]
14
- ::Oj.dump(object, options)
15
- end
16
- end
17
- end
18
- end