mutils 1.0.0 → 1.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
2
  SHA256:
3
- metadata.gz: e38e7ca1f83b872f6a72819355f44ef30a1de7b6c3756abd27e3ec66e256b90a
4
- data.tar.gz: a3267a83c8a82770d84f7636f3f8b19aa5039eabcfc6b2953b605981d21e1d6b
3
+ metadata.gz: 4af2ef0147adcbbbd24128d3af1214bad8f13c379f8ec411a11691e11dc8010b
4
+ data.tar.gz: fdb0af64961644ac7b433e8c24de95895ac62a8da7f638b6cda52042ce44956c
5
5
  SHA512:
6
- metadata.gz: 2a423ea8de2ccf77982fdfec8a9dd9b164a42b0da5b2aa4664889d1e13bae2eba384344bc25c7a24ec8267218a98170c0f7b92c7695926cb72a8b2d6ad695d9b
7
- data.tar.gz: 3f1f7b51833b2cb57d8ad2da72aebbca7799ac9f86f61380ab2a9cce5af15bc642591fe5b483d78054a37b4e9ff8b5cbcfe4776537bd8c7da650b83a8ba59679
6
+ metadata.gz: '008315c5d7101af58c4c5efd49e555f962d33097f25b3aef286a96b941025b761e55f644a13fe6776d831cd9c2f7bbd0da0edb6d2e49700b513c94db06e0a6ed'
7
+ data.tar.gz: 2b049ce4370955401074e41a970fbdd1f4921d211860cb1d82491815118ce937678f0f8650e90e8fde4bc5f34fc60f81681886a615f1269848ec400ffdf4dbe0
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
7
+ - package-ecosystem: "npm"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "daily"
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
  .rspec_status
12
12
  .idea/*
13
13
  *.gem
14
+ /node_modules
@@ -0,0 +1,7 @@
1
+ {
2
+ "husky": {
3
+ "hooks": {
4
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
5
+ }
6
+ }
7
+ }
@@ -12,7 +12,18 @@ cache: bundler
12
12
  before_install:
13
13
  - gem install bundler -v 2.0.1
14
14
  - gem install rspec
15
- script: bundle exec rspec
15
+ - nvm use 11
16
+ - npm install
17
+ script: bundle exec rubocop lib && bundle exec rspec
16
18
  branches:
17
19
  only: master
18
- bundler_args: --with=development,test --jobs=3 --retry=3
20
+ bundler_args: --with=development,test --jobs=3 --retry=3
21
+ jobs:
22
+ include:
23
+ - stage: release
24
+ rvm: 2.6.5
25
+ script: npx semantic-release
26
+ stages:
27
+ - test
28
+ - name: release
29
+ if: (NOT type IN (pull_request)) AND (branch = master)
@@ -1,5 +1,39 @@
1
- # Changelog
2
- ## [v1.0.0](https://github.com/code-vedas/mutils/tree/v0.2.36) (2020-04-17)
1
+ ## [1.1.3](https://github.com/Code-Vedas/mutils/compare/v1.1.2...v1.1.3) (2020-10-18)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Gemfile to reduce vulnerabilities ([#65](https://github.com/Code-Vedas/mutils/issues/65)) ([49b5ae2](https://github.com/Code-Vedas/mutils/commit/49b5ae2ba795d16976425ddbaf1e1c372a940c1f))
7
+
8
+ ## [1.1.2](https://github.com/Code-Vedas/mutils/compare/v1.1.1...v1.1.2) (2020-10-15)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **coveralls:** gemfile to reduce vulnerabilities ([#64](https://github.com/Code-Vedas/mutils/issues/64)) ([7d4e592](https://github.com/Code-Vedas/mutils/commit/7d4e59214d5c9aced1c4beb1a6b9f929367d84da))
14
+
15
+ ## [1.1.1](https://github.com/Code-Vedas/mutils/compare/v1.1.0...v1.1.1) (2020-10-05)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **params:** always send hash in params ([7d71b6d](https://github.com/Code-Vedas/mutils/commit/7d71b6d2c89f39883745a40e5472c444b5673e8b))
21
+
22
+ # [1.1.0](https://github.com/Code-Vedas/mutils/compare/v1.0.1...v1.1.0) (2020-08-15)
23
+
24
+
25
+ ### Features
26
+
27
+ * **params:** conditional if:Proc get params as second attribute ([55a3b08](https://github.com/Code-Vedas/mutils/commit/55a3b08fee52c0dbef2b22c6e4f468389f8c53a4))
28
+
29
+ ## [1.0.1](https://github.com/Code-Vedas/mutils/compare/v1.0.0...v1.0.1) (2020-07-24)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * **semantic-release:** enable semantic-release ([aa9c28f](https://github.com/Code-Vedas/mutils/commit/aa9c28fb8da7fcd1915a189bda22f8421a566eee))
35
+
36
+ ## [1.0.0](https://github.com/code-vedas/mutils/tree/v0.2.36) (2020-04-17)
3
37
 
4
38
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.36...v1.0.0)
5
39
 
@@ -12,7 +46,7 @@
12
46
  - Code refactored
13
47
  - Using cache for expensive operations
14
48
 
15
- ## [v0.2.36](https://github.com/code-vedas/mutils/tree/v0.2.36) (2020-04-14)
49
+ ## [0.2.36](https://github.com/code-vedas/mutils/tree/v0.2.36) (2020-04-14)
16
50
 
17
51
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.35...v0.2.36)
18
52
 
@@ -22,7 +56,7 @@
22
56
  - Conditional attributes and relations [\#32](https://github.com/code-vedas/mutils/pull/32) ([niteshpurohit](https://github.com/niteshpurohit))
23
57
  - chore: add more ruby version and os to test [\#31](https://github.com/code-vedas/mutils/pull/31) ([niteshpurohit](https://github.com/niteshpurohit))
24
58
 
25
- ## [v0.2.35](https://github.com/code-vedas/mutils/tree/v0.2.35) (2020-03-30)
59
+ ## [0.2.35](https://github.com/code-vedas/mutils/tree/v0.2.35) (2020-03-30)
26
60
 
27
61
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.34...v0.2.35)
28
62
 
@@ -32,7 +66,7 @@
32
66
  - added custom\_method and attribute example [\#29](https://github.com/code-vedas/mutils/pull/29) ([niteshpurohit](https://github.com/niteshpurohit))
33
67
  - chore: update changelog [\#28](https://github.com/code-vedas/mutils/pull/28) ([niteshpurohit](https://github.com/niteshpurohit))
34
68
 
35
- ## [v0.2.34](https://github.com/code-vedas/mutils/tree/v0.2.34) (2020-03-29)
69
+ ## [0.2.34](https://github.com/code-vedas/mutils/tree/v0.2.34) (2020-03-29)
36
70
 
37
71
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.33...v0.2.34)
38
72
 
@@ -40,7 +74,7 @@
40
74
 
41
75
  - Feature/attribute can be optional [\#27](https://github.com/code-vedas/mutils/pull/27) ([niteshpurohit](https://github.com/niteshpurohit))
42
76
 
43
- ## [v0.2.33](https://github.com/code-vedas/mutils/tree/v0.2.33) (2020-03-29)
77
+ ## [0.2.33](https://github.com/code-vedas/mutils/tree/v0.2.33) (2020-03-29)
44
78
 
45
79
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.32...v0.2.33)
46
80
 
@@ -51,7 +85,7 @@
51
85
  - Create .codeclimate.yml [\#24](https://github.com/code-vedas/mutils/pull/24) ([niteshpurohit](https://github.com/niteshpurohit))
52
86
  - changelog: v0.2.32 [\#22](https://github.com/code-vedas/mutils/pull/22) ([niteshpurohit](https://github.com/niteshpurohit))
53
87
 
54
- ## [v0.2.32](https://github.com/code-vedas/mutils/tree/v0.2.32) (2020-03-18)
88
+ ## [0.2.32](https://github.com/code-vedas/mutils/tree/v0.2.32) (2020-03-18)
55
89
 
56
90
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.31...v0.2.32)
57
91
 
@@ -59,7 +93,7 @@
59
93
 
60
94
  - Feature/improve performance [\#21](https://github.com/code-vedas/mutils/pull/21) ([niteshpurohit](https://github.com/niteshpurohit))
61
95
 
62
- ## [v0.2.31](https://github.com/code-vedas/mutils/tree/v0.2.31) (2020-03-18)
96
+ ## [0.2.31](https://github.com/code-vedas/mutils/tree/v0.2.31) (2020-03-18)
63
97
 
64
98
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.30...v0.2.31)
65
99
 
@@ -68,7 +102,7 @@
68
102
  - Update version.rb [\#20](https://github.com/code-vedas/mutils/pull/20) ([niteshpurohit](https://github.com/niteshpurohit))
69
103
  - Rake 13.0 [\#19](https://github.com/code-vedas/mutils/pull/19) ([niteshpurohit](https://github.com/niteshpurohit))
70
104
 
71
- ## [v0.2.30](https://github.com/code-vedas/mutils/tree/v0.2.30) (2020-03-17)
105
+ ## [0.2.30](https://github.com/code-vedas/mutils/tree/v0.2.30) (2020-03-17)
72
106
 
73
107
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.29...v0.2.30)
74
108
 
@@ -76,7 +110,7 @@
76
110
 
77
111
  - Deps [\#18](https://github.com/code-vedas/mutils/pull/18) ([niteshpurohit](https://github.com/niteshpurohit))
78
112
 
79
- ## [v0.2.29](https://github.com/code-vedas/mutils/tree/v0.2.29) (2019-12-07)
113
+ ## [0.2.29](https://github.com/code-vedas/mutils/tree/v0.2.29) (2019-12-07)
80
114
 
81
115
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.28...v0.2.29)
82
116
 
@@ -84,7 +118,7 @@
84
118
 
85
119
  - Scope Variable bug [\#14](https://github.com/code-vedas/mutils/pull/14) ([niteshpurohit](https://github.com/niteshpurohit))
86
120
 
87
- ## [v0.2.28](https://github.com/code-vedas/mutils/tree/v0.2.28) (2019-11-26)
121
+ ## [0.2.28](https://github.com/code-vedas/mutils/tree/v0.2.28) (2019-11-26)
88
122
 
89
123
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.27...v0.2.28)
90
124
 
@@ -92,7 +126,7 @@
92
126
 
93
127
  - Feature/scoped generator [\#13](https://github.com/code-vedas/mutils/pull/13) ([niteshpurohit](https://github.com/niteshpurohit))
94
128
 
95
- ## [v0.2.27](https://github.com/code-vedas/mutils/tree/v0.2.27) (2019-11-25)
129
+ ## [0.2.27](https://github.com/code-vedas/mutils/tree/v0.2.27) (2019-11-25)
96
130
 
97
131
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.26...v0.2.27)
98
132
 
@@ -109,15 +143,15 @@
109
143
  - Update README.md [\#7](https://github.com/code-vedas/mutils/pull/7) ([niteshpurohit](https://github.com/niteshpurohit))
110
144
  - Update README.md [\#6](https://github.com/code-vedas/mutils/pull/6) ([niteshpurohit](https://github.com/niteshpurohit))
111
145
 
112
- ## [v0.2.26](https://github.com/code-vedas/mutils/tree/v0.2.26) (2019-11-24)
146
+ ## [0.2.26](https://github.com/code-vedas/mutils/tree/v0.2.26) (2019-11-24)
113
147
 
114
148
  [Full Changelog](https://github.com/code-vedas/mutils/compare/v0.2.25...v0.2.26)
115
149
 
116
- ## [v0.2.25](https://github.com/code-vedas/mutils/tree/v0.2.25) (2019-11-24)
150
+ ## [0.2.25](https://github.com/code-vedas/mutils/tree/v0.2.25) (2019-11-24)
117
151
 
118
152
  [Full Changelog](https://github.com/code-vedas/mutils/compare/885f96959dd3701ac20ed0981b920be753c00db0...v0.2.25)
119
153
 
120
154
  **Merged pull requests:**
121
155
 
122
156
  - Feature/improve concurrency [\#4](https://github.com/code-vedas/mutils/pull/4) ([niteshpurohit](https://github.com/niteshpurohit))
123
- - Testing Deploy [\#3](https://github.com/code-vedas/mutils/pull/3) ([niteshpurohit](https://github.com/niteshpurohit))
157
+ - Testing Deploy [\#3](https://github.com/code-vedas/mutils/pull/3) ([niteshpurohit](https://github.com/niteshpurohit))
data/Gemfile CHANGED
@@ -3,4 +3,10 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in mutils.gemspec
6
+ gem 'coveralls', '>= 0.8.23'
7
+ gem 'pre-commit', require: false
8
+ gem 'rspec'
9
+ gem 'rspec-benchmark'
10
+ gem 'rspec-json_expectations'
11
+ gem 'rubocop'
6
12
  gemspec
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mutils (1.0.0)
4
+ mutils (1.1.2)
5
5
  dry-inflector
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
+ ast (2.4.1)
10
11
  benchmark-malloc (0.2.0)
11
12
  benchmark-perf (0.6.0)
12
13
  benchmark-trend (0.4.0)
@@ -21,7 +22,16 @@ GEM
21
22
  dry-inflector (0.2.0)
22
23
  json (2.3.0)
23
24
  json (2.3.0-java)
25
+ parallel (1.19.2)
26
+ parser (2.7.1.4)
27
+ ast (~> 2.4.1)
28
+ pluginator (1.5.0)
29
+ pre-commit (0.39.0)
30
+ pluginator (~> 1.5)
31
+ rainbow (3.0.0)
24
32
  rake (13.0.1)
33
+ regexp_parser (1.7.1)
34
+ rexml (3.2.4)
25
35
  rspec (3.9.0)
26
36
  rspec-core (~> 3.9.0)
27
37
  rspec-expectations (~> 3.9.0)
@@ -41,6 +51,18 @@ GEM
41
51
  diff-lcs (>= 1.2.0, < 2.0)
42
52
  rspec-support (~> 3.9.0)
43
53
  rspec-support (3.9.2)
54
+ rubocop (0.89.1)
55
+ parallel (~> 1.10)
56
+ parser (>= 2.7.1.1)
57
+ rainbow (>= 2.2.2, < 4.0)
58
+ regexp_parser (>= 1.7)
59
+ rexml
60
+ rubocop-ast (>= 0.3.0, < 1.0)
61
+ ruby-progressbar (~> 1.7)
62
+ unicode-display_width (>= 1.4.0, < 2.0)
63
+ rubocop-ast (0.3.0)
64
+ parser (>= 2.7.1.4)
65
+ ruby-progressbar (1.10.1)
44
66
  simplecov (0.16.1)
45
67
  docile (~> 1.1)
46
68
  json (>= 1.8, < 3)
@@ -52,6 +74,7 @@ GEM
52
74
  thor (1.0.1)
53
75
  tins (1.24.1)
54
76
  sync
77
+ unicode-display_width (1.7.0)
55
78
 
56
79
  PLATFORMS
57
80
  java
@@ -59,12 +82,14 @@ PLATFORMS
59
82
 
60
83
  DEPENDENCIES
61
84
  bundler (~> 2.0)
62
- coveralls
85
+ coveralls (>= 0.8.23)
63
86
  mutils!
87
+ pre-commit
64
88
  rake (~> 13.0)
65
89
  rspec
66
90
  rspec-benchmark
67
91
  rspec-json_expectations
92
+ rubocop
68
93
 
69
94
  BUNDLED WITH
70
95
  2.1.4
data/README.md CHANGED
@@ -26,7 +26,7 @@ These collection of modules are built by developer for developers :-)
26
26
 
27
27
  ## Features
28
28
  * Simple declaration syntax similar to Active Model Serializer
29
- * Realtionships support `belongs_to', `has_many`, `has_one`
29
+ * Realtionships support `belongs_to`, `has_many`, `has_one`
30
30
  * Block style attributes with params
31
31
 
32
32
  ## Installation
@@ -89,7 +89,7 @@ class UserSerializer < Mutils::Serialization::BaseSerializer
89
89
  attributes :id, :first_name, :last_name, :email
90
90
 
91
91
  belongs_to :company, serializer: CompanySerializer, always_include: true
92
- ##OR
92
+ ## OR
93
93
  belongs_to :company, serializer: CompanySerializer, always_include: true, label: 'organization' ##<== important to give singular name
94
94
 
95
95
  has_many :comments, serializer: CommentSerializer
@@ -101,7 +101,11 @@ class UserSerializer < Mutils::Serialization::BaseSerializer
101
101
  end
102
102
  ```
103
103
  ### Conditional Attributes
104
- Attributes are fields in the model itself. You can reference them by below example
104
+ Serializer can have conditional attributes with `if: Proc`
105
+ `if: Proc` block can receive `scope` and `params` as arguments
106
+
107
+ - __in proc {|scope|}__, scope is object which is being serialized
108
+ - __in proc {|scope,params|}__, scope is object which is being serialized and params is hash given to Serializer as second arguments in {params:anything}
105
109
  ```ruby
106
110
  # frozen_string_literal: true
107
111
 
@@ -109,11 +113,20 @@ Attributes are fields in the model itself. You can reference them by below examp
109
113
  class UserSerializer < Mutils::Serialization::BaseSerializer
110
114
  attributes :id, :first_name, :last_name
111
115
  attribute :email, if: proc { |scope| scope.name == 'mutils' } ## Email will only serialize if user's name is 'mutils'
116
+ # OR with Params
117
+ attribute :email, if: proc { |scope,params| params && params[:show_email] == true } ## Email will only serialize if params[:show_email] is true
112
118
  end
119
+
120
+ UserSerializer.new(user) # Without params
121
+ UserSerializer.new(user,{params:{show_email:true}}) # With params
113
122
  ```
114
- in proc {|scope|}, scope is object which is being serialized
123
+
115
124
  ### Conditional Relations
116
- Attributes are fields in the model itself. You can reference them by below example
125
+ Serializer can have conditional relations with `if: Proc`
126
+ `if: Proc` block can receive `scope` and `params` as arguments
127
+
128
+ - __in proc {|scope|}__, scope is object which is being serialized
129
+ - __in proc {|scope,params|}__, scope is object which is being serialized and params is hash given to Serializer as second arguments in {params:anything}
117
130
  ```ruby
118
131
  # frozen_string_literal: true
119
132
 
@@ -122,9 +135,15 @@ class UserSerializer < Mutils::Serialization::BaseSerializer
122
135
  attributes :id, :first_name, :last_name
123
136
  has_many :comments, serializer: CommentSerializer, if: proc { |scope| scope.name == 'mutils' } ## comments will only serialize if user's name is 'mutils'
124
137
  belongs_to :account, serializer: AccountSerializer, if: proc { |scope| scope.name != 'mutils' } ## account will only serialize if user's name is not 'mutils'
138
+ # OR with Params
139
+ belongs_to :account, serializer: AccountSerializer, if: proc { |scope,params| params && params[:show_account] == true } ## account will only serialize if params[:show_account] is true
125
140
  end
141
+
142
+ UserSerializer.new(user) # Without params
143
+ UserSerializer.new(user,{params:{show_account:true}}) # With params
144
+
126
145
  ```
127
- in proc {|scope|}, scope is object which is being serialized
146
+
128
147
  ### Attributes Blocks
129
148
  While writting attribute a block can be provided for useful transformations like `full_name` as shown below
130
149
  ```ruby
@@ -209,13 +228,13 @@ user = User.first
209
228
  options = {includes: [:comments,:account]}
210
229
  UserSerializer.new(user,options).to_h
211
230
  ```
212
- ###or
231
+ ### or
213
232
  ```ruby
214
233
  users = User.all
215
234
  options = {includes: [:account]}
216
235
  UserSerializer.new(users,options).to_json
217
236
  ```
218
- ###or in controllers
237
+ ### or in controllers
219
238
  ```ruby
220
239
  users = User.all
221
240
  options = {includes: [:account]}
@@ -234,3 +253,7 @@ The gem is available as open source under the terms of the [MIT License](https:/
234
253
  ## Code of Conduct
235
254
 
236
255
  Everyone interacting in the Mutils project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/code-vedas/mutils/blob/master/CODE_OF_CONDUCT.md).
256
+
257
+ ## Security
258
+
259
+ For security refer to [security](https://github.com/Code-Vedas/mutils/blob/master/SECURITY.md) document.
@@ -0,0 +1,13 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ Versions currently being supported with security updates.
6
+
7
+ | Version | Supported |
8
+ | ------- | ------------------ |
9
+ | 1.x.x | :white_check_mark: |
10
+
11
+ ## Reporting a Vulnerability
12
+
13
+ Create an issue or email at security@codevedas.com
data/Version ADDED
@@ -0,0 +1 @@
1
+ v1.1.3
@@ -0,0 +1 @@
1
+ module.exports = {extends: ['@commitlint/config-angular']};
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+
3
+ set -euo pipefail
4
+
5
+ mkdir -p $HOME/.gem
6
+ touch $HOME/.gem/credentials
7
+ chmod 0600 $HOME/.gem/credentials
8
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
9
+ gem build *.gemspec
10
+ gem push *.gem
@@ -9,7 +9,7 @@ module Mutils
9
9
  module Attributes
10
10
  def fetch_block_attributes(attributes, result_hash)
11
11
  attributes&.each do |key, s_options|
12
- result_hash[key] = s_options[:block].call(scope, options[:params])
12
+ result_hash[key] = s_options[:block].call(scope, options[:params] || {})
13
13
  end
14
14
  end
15
15
 
@@ -29,7 +29,7 @@ module Mutils
29
29
  end
30
30
 
31
31
  def check_if_included(s_options, key)
32
- return s_options[:if].call(scope) unless s_options[:if].nil? || scope_is_collection?
32
+ return s_options[:if].call(scope, options[:params] || {}) unless s_options[:if].nil? || scope_is_collection?
33
33
 
34
34
  s_options[:always_include] || options[:includes]&.include?(key)
35
35
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mutils
4
- VERSION = '1.0.0'
4
+ VERSION = File.read('Version').split("\n").first.gsub('v', '')
5
5
  end
@@ -24,11 +24,8 @@ Gem::Specification.new do |spec|
24
24
  spec.required_rubygems_version = '>= 1.8.11'
25
25
  spec.add_dependency('dry-inflector')
26
26
  spec.add_development_dependency 'bundler', '~> 2.0'
27
- spec.add_development_dependency 'coveralls'
28
27
  spec.add_development_dependency 'rake', '~> 13.0'
29
- spec.add_development_dependency 'rspec'
30
- spec.add_development_dependency 'rspec-benchmark'
31
- spec.add_development_dependency 'rspec-json_expectations'
28
+
32
29
 
33
30
  spec.metadata = {
34
31
  'bug_tracker_uri' => 'https://github.com/code-vedas/mutils/issues',