onsi 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a2ce3b040362d032c1863fff32fd82c3dcbd73ce314e0e49dbb9f046d5c7032
4
- data.tar.gz: 645cd3ecf2ed88e41e630f66886f007a8679f092b936b47ebd21984b252cfae5
3
+ metadata.gz: 41e4b2c3caea614e07445ce5f8cebfb029e90d50363ee2992dc6d501a4bde8a8
4
+ data.tar.gz: 077312dc74b1a1a59e9f74f177eb19d125510c8bc92ee9aba764fc9d8e6f307a
5
5
  SHA512:
6
- metadata.gz: cd9937602a2b2c3981f713c0ff49b666e4434a8439d469021e58495bf5ca25d92af167fef818eea012a93e47620f6de00ad11e3f65d57f2752d04b5bef5e7b47
7
- data.tar.gz: 04033eb91e5f143d7344268f448f7bda1c4ee42b9f3c26030d7dd83b62d3306712676f00d98cae99daac799e11a6f6b600f1312316ddf341d109001ecb811a44
6
+ metadata.gz: 8e56e2876b77fef3113a6b961639a43dc0fb5d3a3ea5eeb11df3123097a9d1f6fbdb7911342b46c783ad1de9f9684c237b3153e4e8af15586d16bfc021ee1218
7
+ data.tar.gz: e11ac33a1540d39c59b05545ad6562c0cac2db54e9cb68f992bfaa02b2d2a21bfa72bd6a18b743da266180454df76b1315f7aed1072e1b59288910daf413db6e
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ # Version 1.2.2
2
+
3
+ ## Released February 23, 2019
4
+
5
+ ###
6
+
7
+ - Feat: Allow passing in a metadata object to `#render_resource`.
8
+
9
+ ---
10
+
1
11
  # Version 1.2.1
2
12
 
3
13
  ## Released February 23, 2019
@@ -49,8 +49,10 @@ module Onsi
49
49
  #
50
50
  # - The other keys for opts will be passed directly the #render method.
51
51
  def render_resource(resource, opts = {})
52
+ metadata = opts.delete(:meta)
52
53
  version = opts.delete(:version) || self.class.render_version || Model::DEFAULT_API_VERSION
53
54
  payload = Resource.render(resource, version)
55
+ payload[Resource::META_KEY].merge!(metadata) if metadata
54
56
  render_options = {}
55
57
  render_options[:json] = payload
56
58
  render_options.merge!(opts)
data/lib/onsi/resource.rb CHANGED
@@ -32,16 +32,16 @@ module Onsi
32
32
  RELATIONSHIPS_KEY = 'relationships'.freeze
33
33
 
34
34
  ##
35
- # Root object meta key
35
+ # Root object data key
36
36
  #
37
37
  # @private
38
- META_KEY = 'meta'.freeze
38
+ DATA_KEY = 'data'.freeze
39
39
 
40
40
  ##
41
- # Root object data key
41
+ # Metadata key
42
42
  #
43
43
  # @private
44
- DATA_KEY = 'data'.freeze
44
+ META_KEY = 'meta'.freeze
45
45
 
46
46
  ##
47
47
  # Root object included key
@@ -95,6 +95,9 @@ module Onsi
95
95
  if included.any?
96
96
  root[INCLUDED_KEY] = included
97
97
  end
98
+ root[META_KEY] = {}.tap do |meta|
99
+ meta[:count] = resources.count if resources.respond_to?(:count)
100
+ end
98
101
  end
99
102
  end
100
103
 
data/lib/onsi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Onsi
2
2
  ##
3
3
  # The current version of Onsi
4
- VERSION = '1.2.1'.freeze
4
+ VERSION = '1.2.2'.freeze
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onsi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maddie Schipper