onsi 1.2.1 → 1.2.2

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: 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