contentful-management 2.5.0 → 2.6.0

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: 683b48fdab7cafe30ccbc6ba4359db731ce08a97f59b83cae82397a3982f03bf
4
- data.tar.gz: bf94afa87c07baa3daca8e6b70dad36000fadffcd41334e625ddadfe4f25197f
3
+ metadata.gz: 3cfd74c3a04e3793e905a34376d42fb480b87db5c90e54d139139f4487502dd3
4
+ data.tar.gz: 59e6df1fcb94c5f2d0bc5332ed47432c28fd0430df70a2a72b0bb14f484a20c2
5
5
  SHA512:
6
- metadata.gz: bbebbb891e59e74e85919ea4e8e992ace7c467b652a098d8668cf5b587744789ac8fc4de1dff1026a1a010ad0d85aa33c99bfbfb01fd0a437e2c8e287841fb56
7
- data.tar.gz: 6e0af2ee33543eab79af415edaa8939a6ab747d858d8717d16a621aaf45a898e50dca21cb0fdf2282c2b691b599d3935a4d87f2781c5c57da85baaed05157025
6
+ metadata.gz: ef4905fce5b2beedf604320370e9f90bdc1f784e8cf02f36bd831a11e73db29d55a9f67865481da39c38974bfa43f828266b7f031bfcde4da7cb9ff957aa59ec
7
+ data.tar.gz: bfb19ea973172df0fd8578eb780efd94a3ac931526b9e0646c9d9cac03e4bbeea0ad5a7faa5d5bc2154c8fc77b4cce85cdbc15bfce01b9a7dfabdc7a9b52f69e
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## Master
4
4
 
5
+ ## 2.6.0
6
+ ### Added
7
+ * Added Usage Periods API.
8
+ * Added API Usages API.
9
+
5
10
  ## 2.5.0
6
11
 
7
12
  As `RichText` moves from `alpha` to `beta`, we're treating this as a feature release.
data/README.md CHANGED
@@ -8,6 +8,7 @@ Ruby client for the Contentful Content Management API.
8
8
  ## Setup
9
9
 
10
10
  Add this line to your application's Gemfile:
11
+
11
12
  ```ruby
12
13
  gem 'contentful-management'
13
14
  ```
@@ -15,7 +16,7 @@ gem 'contentful-management'
15
16
  ## Usage
16
17
 
17
18
  ### Examples
18
- Some examples can be found in the ```examples/``` directory or you take a look at this [extended example script](https://github.com/contentful/cma_import_script).
19
+ Some examples can be found in the `examples/` directory or you take a look at this [extended example script](https://github.com/contentful/cma_import_script).
19
20
 
20
21
  ### Client
21
22
 
@@ -597,12 +598,24 @@ Creating a locale:
597
598
  environment.locales.create(name: 'German', code: 'de-DE')
598
599
  ```
599
600
 
601
+ Creating a locale with fallback:
602
+
603
+ ```ruby
604
+ environment.locales.create(name: 'German', code: 'de-DE', fallback_code: 'en-US')
605
+ ```
606
+
600
607
  Updating a locale:
601
608
 
602
609
  ```ruby
603
610
  blog_post_locale.update(name: 'German', code: 'de-DE')
604
611
  ```
605
612
 
613
+ Updating a locale with fallback:
614
+
615
+ ```ruby
616
+ blog_post_locale.update(name: 'German', code: 'de-DE', fallback_code: 'en-US')
617
+ ```
618
+
606
619
  Destroying a locale:
607
620
 
608
621
  ```ruby
@@ -796,6 +809,42 @@ Retrieving all organization details:
796
809
  organizations = client.organizations.all
797
810
  ```
798
811
 
812
+ ### Usage Periods (ALPHA)
813
+
814
+ *Note*: This feature is available only to Commited v2 customers.
815
+
816
+ Retrieving all Usage Periods for an Organizations you belong to:
817
+
818
+ ```ruby
819
+ usage_periods = client.usage_periods('organization_id').all
820
+ ```
821
+
822
+ Alternatively, if you have an already fetched organization:
823
+
824
+ ```ruby
825
+ usage_periods = organization.usage_periods().all()
826
+ ```
827
+
828
+ ### API Usage (ALPHA)
829
+
830
+ *Note*: This feature is available only to Commited v2 customers.
831
+
832
+ Retrieving all API Usage statistics for an Organizations during a given usage period, broken down by organization for all APIs:
833
+
834
+ ```ruby
835
+ # Valid usage types are by 'organization' and by 'space'.
836
+ # Usage period IDs are numerical and can be fetched from the Usage Periods API.
837
+ # Valid API breakdowns are: 'cda', 'cpa', 'cma' or 'all_apis'.
838
+ usage = client.api_usage('organization_id').all('organization', usage_period_id, 'all_apis')
839
+ ```
840
+
841
+ Alternatively, if you have an already fetched organization:
842
+
843
+ ```ruby
844
+ # Breaking down CMA usage by space, for a given period.
845
+ usage = organization.api_usage().all('space', usage_period_id, 'cma')
846
+ ```
847
+
799
848
  ### Users
800
849
 
801
850
  Retrieving current user details:
@@ -0,0 +1,67 @@
1
+ require_relative 'resource'
2
+
3
+ module Contentful
4
+ module Management
5
+ # Resource class for ApiUsage.
6
+ # @see _ https://www.contentful.com/developers/docs/references/content-management-api/#/reference/api-usages
7
+ class ApiUsage
8
+ include Contentful::Management::Resource
9
+ include Contentful::Management::Resource::Refresher
10
+ include Contentful::Management::Resource::SystemProperties
11
+
12
+ property :unitOfMeasure
13
+ property :interval
14
+ property :usage
15
+ property :startDate, :date
16
+ property :endDate, :date
17
+
18
+ # @private
19
+ def self.build_endpoint(endpoint_options)
20
+ organization_id = endpoint_options[:organization_id]
21
+ usage_type = endpoint_options[:usage_type]
22
+
23
+ "organizations/#{organization_id}/usages/#{usage_type}"
24
+ end
25
+
26
+ # Gets all api usage statistics for a given organization and usage type, filtered by usage period and api.
27
+ #
28
+ # @param [Contentful::Management::Client] client
29
+ # @param [String] organization_id
30
+ # @param [String] usage_type
31
+ # @param [Integer] usage_period_id
32
+ # @param [String] api
33
+ # @param [Hash] params
34
+ #
35
+ # @return [Contentful::Management::Array<Contentful::Management::ApiUsage>]
36
+ # rubocop:disable Metrics/ParameterLists
37
+ def self.all(client, organization_id, usage_type, usage_period_id, api, params = {})
38
+ ClientApiUsageMethodsFactory.new(client, organization_id).all(usage_type, usage_period_id, api, params)
39
+ end
40
+
41
+ # Not supported
42
+ def self.find(*)
43
+ fail 'Not supported'
44
+ end
45
+
46
+ # @private
47
+ def self.endpoint
48
+ 'usages'
49
+ end
50
+
51
+ # Not supported
52
+ def self.create(*)
53
+ fail 'Not supported'
54
+ end
55
+
56
+ # Not supported
57
+ def destroy
58
+ fail 'Not supported'
59
+ end
60
+
61
+ # Not supported
62
+ def update(*)
63
+ fail 'Not supported'
64
+ end
65
+ end
66
+ end
67
+ end
@@ -20,7 +20,9 @@ require 'contentful/management/client_upload_methods_factory'
20
20
  require 'contentful/management/client_api_key_methods_factory'
21
21
  require 'contentful/management/client_webhook_methods_factory'
22
22
  require 'contentful/management/client_snapshot_methods_factory'
23
+ require 'contentful/management/client_api_usage_methods_factory'
23
24
  require 'contentful/management/client_environment_methods_factory'
25
+ require 'contentful/management/client_usage_period_methods_factory'
24
26
  require 'contentful/management/client_organization_methods_factory'
25
27
  require 'contentful/management/client_content_type_methods_factory'
26
28
  require 'contentful/management/client_ui_extension_methods_factory'
@@ -131,6 +133,24 @@ module Contentful
131
133
  ClientOrganizationMethodsFactory.new(self)
132
134
  end
133
135
 
136
+ # Allows viewing of usage periods in context of the current client
137
+ # Allows listing all usage periods for client.
138
+ # @see _ README for details.
139
+ #
140
+ # @return [Contentful::Management::ClientUsagePeriodMethodsFactory]
141
+ def usage_periods(organization_id)
142
+ ClientUsagePeriodMethodsFactory.new(self, organization_id)
143
+ end
144
+
145
+ # Allows viewing of api usage in context of the current client
146
+ # Allows listing all api usage for client.
147
+ # @see _ README for details.
148
+ #
149
+ # @return [Contentful::Management::ClientApiUsageMethodsFactory]
150
+ def api_usage(organization_id)
151
+ ClientApiUsageMethodsFactory.new(self, organization_id)
152
+ end
153
+
134
154
  # Allows viewing of users in context of the current client
135
155
  # Allows listing all users for client.
136
156
  # @see _ README for details.
@@ -0,0 +1,44 @@
1
+ require_relative 'client_association_methods_factory'
2
+
3
+ module Contentful
4
+ module Management
5
+ # Wrapper for API Usage for usage from within Client
6
+ # @private
7
+ class ClientApiUsageMethodsFactory
8
+ include Contentful::Management::ClientAssociationMethodsFactory
9
+
10
+ def initialize(client, organization_id)
11
+ super(client)
12
+ @organization_id = organization_id
13
+ end
14
+
15
+ def all(usage_type, usage_period_id, api, params = {})
16
+ mandatory_params = {
17
+ 'filters[usagePeriod]' => usage_period_id,
18
+ 'filters[metric]' => api
19
+ }
20
+
21
+ @resource_requester.all(
22
+ {
23
+ usage_type: usage_type,
24
+ organization_id: @organization_id
25
+ },
26
+ mandatory_params.merge(params),
27
+ 'x-contentful-enable-alpha-feature' => 'usage-insights'
28
+ )
29
+ end
30
+
31
+ def new(*)
32
+ fail 'Not supported'
33
+ end
34
+
35
+ def find(*)
36
+ fail 'Not supported'
37
+ end
38
+
39
+ def create(*)
40
+ fail 'Not supported'
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,38 @@
1
+ require_relative 'client_association_methods_factory'
2
+
3
+ module Contentful
4
+ module Management
5
+ # Wrapper for Usage Period for usage from within Client
6
+ # @private
7
+ class ClientUsagePeriodMethodsFactory
8
+ include Contentful::Management::ClientAssociationMethodsFactory
9
+
10
+ def initialize(client, organization_id)
11
+ super(client)
12
+ @organization_id = organization_id
13
+ end
14
+
15
+ def all(params = {})
16
+ @resource_requester.all(
17
+ {
18
+ organization_id: @organization_id
19
+ },
20
+ params,
21
+ 'x-contentful-enable-alpha-feature' => 'usage-insights'
22
+ )
23
+ end
24
+
25
+ def new(*)
26
+ fail 'Not supported'
27
+ end
28
+
29
+ def find(*)
30
+ fail 'Not supported'
31
+ end
32
+
33
+ def create(*)
34
+ fail 'Not supported'
35
+ end
36
+ end
37
+ end
38
+ end
@@ -15,6 +15,22 @@ module Contentful
15
15
  def self.build_endpoint(_endpoint_options)
16
16
  'organizations'
17
17
  end
18
+
19
+ # Allows listing all usage periods for organization.
20
+ # @see _ README for details.
21
+ #
22
+ # @return [Contentful::Management::ClientApiUsageMethodsFactory]
23
+ def usage_periods
24
+ ClientApiUsageMethodsFactory.new(client, id)
25
+ end
26
+
27
+ # Allows listing all api usage for organization.
28
+ # @see _ README for details.
29
+ #
30
+ # @return [Contentful::Management::ClientApiUsageMethodsFactory]
31
+ def api_usage
32
+ ClientApiUsageMethodsFactory.new(client, id)
33
+ end
18
34
  end
19
35
  end
20
36
  end
@@ -12,7 +12,9 @@ require_relative 'webhook'
12
12
  require_relative 'api_key'
13
13
  require_relative 'resource'
14
14
  require_relative 'snapshot'
15
+ require_relative 'api_usage'
15
16
  require_relative 'environment'
17
+ require_relative 'usage_period'
16
18
  require_relative 'organization'
17
19
  require_relative 'content_type'
18
20
  require_relative 'webhook_call'
@@ -35,6 +37,8 @@ module Contentful
35
37
  'Space' => Contentful::Management::Space,
36
38
  'SpaceMembership' => Contentful::Management::SpaceMembership,
37
39
  'Organization' => Contentful::Management::Organization,
40
+ 'ApiUsage' => Contentful::Management::ApiUsage,
41
+ 'UsagePeriod' => Contentful::Management::UsagePeriod,
38
42
  'User' => Contentful::Management::User,
39
43
  'Environment' => Contentful::Management::Environment,
40
44
  'ContentType' => Contentful::Management::ContentType,
@@ -10,9 +10,9 @@ module Contentful
10
10
  @resource_class = resource_class
11
11
  end
12
12
 
13
- def all(endpoint_options = {}, query = {})
13
+ def all(endpoint_options = {}, query = {}, headers = {})
14
14
  query = resource_class.pre_process_params(query)
15
- get(endpoint_options, query)
15
+ get(endpoint_options, query, headers)
16
16
  end
17
17
 
18
18
  def find(endpoint_options = {})
@@ -60,11 +60,13 @@ module Contentful
60
60
  false
61
61
  end
62
62
 
63
- def get(endpoint_options = {}, query = {})
63
+ def get(endpoint_options = {}, query = {}, headers = {})
64
64
  request = Request.new(
65
65
  client,
66
66
  resource_class.build_endpoint(endpoint_options),
67
- query
67
+ query,
68
+ nil,
69
+ headers
68
70
  )
69
71
  ResourceBuilder.new(request.get, client).run
70
72
  end
@@ -0,0 +1,59 @@
1
+ require_relative 'resource'
2
+
3
+ module Contentful
4
+ module Management
5
+ # Resource class for UsagePeriod.
6
+ # @see _ https://www.contentful.com/developers/docs/references/content-management-api/#/reference/api-usages
7
+ class UsagePeriod
8
+ include Contentful::Management::Resource
9
+ include Contentful::Management::Resource::Refresher
10
+ include Contentful::Management::Resource::SystemProperties
11
+
12
+ property :startDate, :date
13
+ property :endDate, :date
14
+
15
+ # @private
16
+ def self.build_endpoint(endpoint_options)
17
+ organization_id = endpoint_options[:organization_id]
18
+
19
+ "organizations/#{organization_id}/usage_periods"
20
+ end
21
+
22
+ # Gets all usage periods for a given organization.
23
+ #
24
+ # @param [Contentful::Management::Client] client
25
+ # @param [String] organization_id
26
+ # @param [Hash] params
27
+ #
28
+ # @return [Contentful::Management::Array<Contentful::Management::UsagePeriod>]
29
+ def self.all(client, organization_id, params = {})
30
+ ClientUsagePeriodMethodsFactory.new(client, organization_id).all(params)
31
+ end
32
+
33
+ # Not supported
34
+ def self.find(*)
35
+ fail 'Not supported'
36
+ end
37
+
38
+ # @private
39
+ def self.endpoint
40
+ 'usages'
41
+ end
42
+
43
+ # Not supported
44
+ def self.create(*)
45
+ fail 'Not supported'
46
+ end
47
+
48
+ # Not supported
49
+ def destroy
50
+ fail 'Not supported'
51
+ end
52
+
53
+ # Not supported
54
+ def update(*)
55
+ fail 'Not supported'
56
+ end
57
+ end
58
+ end
59
+ end
@@ -3,6 +3,6 @@ module Contentful
3
3
  # Management Namespace
4
4
  module Management
5
5
  # Gem Version
6
- VERSION = '2.5.0'.freeze
6
+ VERSION = '2.6.0'.freeze
7
7
  end
8
8
  end
@@ -0,0 +1,155 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.contentful.com/organizations/org_id/usages/organization?filters%5Bmetric%5D=cda&filters%5BusagePeriod%5D=1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Contentful-User-Agent:
11
+ - sdk contentful-management.rb/2.5.0; platform ruby/2.4.1; os macOS/16;
12
+ Authorization:
13
+ - Bearer <ACCESS_TOKEN>
14
+ Content-Type:
15
+ - application/vnd.contentful.management.v1+json
16
+ X-Contentful-Enable-Alpha-Feature:
17
+ - usage-insights
18
+ Connection:
19
+ - close
20
+ Host:
21
+ - api.contentful.com
22
+ User-Agent:
23
+ - http.rb/2.2.2
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Accept-Ranges:
30
+ - bytes
31
+ Access-Control-Allow-Headers:
32
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent,X-Contentful-Enable-Alpha-Feature
33
+ Access-Control-Allow-Methods:
34
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Expose-Headers:
38
+ - Etag
39
+ Access-Control-Max-Age:
40
+ - '1728000'
41
+ Cache-Control:
42
+ - max-age=0
43
+ Content-Type:
44
+ - application/vnd.contentful.management.v1+json
45
+ Contentful-Api:
46
+ - cma
47
+ Date:
48
+ - Sat, 10 Nov 2018 10:47:53 GMT
49
+ Etag:
50
+ - W/"efdf341b30e8c442ecb1bfe1b7f21817"
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
53
+ Server:
54
+ - Contentful
55
+ Strict-Transport-Security:
56
+ - max-age=15768000
57
+ X-Content-Type-Options:
58
+ - nosniff
59
+ X-Contentful-Request-Id:
60
+ - 26c4437bd5b8c12ee6b71ad955dd7339
61
+ X-Download-Options:
62
+ - noopen
63
+ X-Frame-Options:
64
+ - ALLOWALL
65
+ X-Permitted-Cross-Domain-Policies:
66
+ - none
67
+ X-Xss-Protection:
68
+ - 1; mode=block
69
+ Content-Length:
70
+ - '959'
71
+ Connection:
72
+ - Close
73
+ Set-Cookie:
74
+ - incap_ses_728_673446=17XUL5vN1wivb82OzmAaCli35lsAAAAAbBLg2M0OjfGoassR05osmA==;
75
+ path=/; Domain=.contentful.com
76
+ - nlbi_673446=r1SmH3jioiwG5xWr6lKYhQAAAAB3pI+2F+Uz7kJVuxNgDetk; path=/; Domain=.contentful.com
77
+ - visid_incap_673446=BbPQYzUTTGyyIO44A0XYili35lsAAAAAQUIPAAAAAABSSTQWr6HEWN7pTaZKxfmU;
78
+ expires=Sat, 09 Nov 2019 14:12:09 GMT; path=/; Domain=.contentful.com
79
+ X-Iinfo:
80
+ - 3-12615349-12615354 NNNN CT(0 0 0) RT(1541846872399 65) q(0 0 0 -1) r(1 1)
81
+ U5
82
+ X-Cdn:
83
+ - Incapsula
84
+ body:
85
+ encoding: ASCII-8BIT
86
+ string: |+
87
+ {
88
+ "total":1,
89
+ "limit":25,
90
+ "skip":0,
91
+ "sys":{
92
+ "type":"Array"
93
+ },
94
+ "items":[
95
+ {
96
+ "unitOfMeasure":"apiRequests",
97
+ "interval":"daily",
98
+ "usage":[
99
+ 0,
100
+ 0,
101
+ 0,
102
+ 0,
103
+ 0,
104
+ 0,
105
+ 0,
106
+ 0,
107
+ 0,
108
+ 0,
109
+ 9423,
110
+ 49300,
111
+ 12546,
112
+ 0,
113
+ 0,
114
+ 0,
115
+ 0,
116
+ 0,
117
+ 0,
118
+ 0,
119
+ 0,
120
+ 0,
121
+ 0,
122
+ 0,
123
+ 0,
124
+ 0,
125
+ 0,
126
+ 0,
127
+ 0,
128
+ 0,
129
+ 0
130
+ ],
131
+ "sys":{
132
+ "type":"ApiUsage",
133
+ "id":"1_org_id",
134
+ "organization":{
135
+ "sys":{
136
+ "type":"Link",
137
+ "linkType":"Organization",
138
+ "id":"org_id"
139
+ }
140
+ },
141
+ "usagePeriod":{
142
+ "sys":{
143
+ "type":"Link",
144
+ "linkType":"UsagePeriod",
145
+ "id":"1"
146
+ }
147
+ }
148
+ }
149
+ }
150
+ ]
151
+ }
152
+
153
+ http_version:
154
+ recorded_at: Sat, 10 Nov 2018 10:47:53 GMT
155
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,114 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.contentful.com/organizations/org_id/usage_periods
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Contentful-User-Agent:
11
+ - sdk contentful-management.rb/2.5.0; platform ruby/2.4.1; os macOS/16;
12
+ Authorization:
13
+ - Bearer <ACCESS_TOKEN>
14
+ Content-Type:
15
+ - application/vnd.contentful.management.v1+json
16
+ X-Contentful-Enable-Alpha-Feature:
17
+ - usage-insights
18
+ Connection:
19
+ - close
20
+ Host:
21
+ - api.contentful.com
22
+ User-Agent:
23
+ - http.rb/2.2.2
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Accept-Ranges:
30
+ - bytes
31
+ Access-Control-Allow-Headers:
32
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent,X-Contentful-Enable-Alpha-Feature
33
+ Access-Control-Allow-Methods:
34
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Expose-Headers:
38
+ - Etag
39
+ Access-Control-Max-Age:
40
+ - '1728000'
41
+ Cache-Control:
42
+ - max-age=0
43
+ Content-Type:
44
+ - application/vnd.contentful.management.v1+json
45
+ Contentful-Api:
46
+ - cma
47
+ Date:
48
+ - Sat, 10 Nov 2018 10:59:12 GMT
49
+ Etag:
50
+ - W/"0e32a37f3690af7bd68571521823b4c3"
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
53
+ Server:
54
+ - Contentful
55
+ Strict-Transport-Security:
56
+ - max-age=15768000
57
+ X-Content-Type-Options:
58
+ - nosniff
59
+ X-Contentful-Request-Id:
60
+ - 9e2af1c902719cf6251824eb8bad9a5b
61
+ X-Download-Options:
62
+ - noopen
63
+ X-Frame-Options:
64
+ - ALLOWALL
65
+ X-Permitted-Cross-Domain-Policies:
66
+ - none
67
+ X-Xss-Protection:
68
+ - 1; mode=block
69
+ Content-Length:
70
+ - '347'
71
+ Connection:
72
+ - Close
73
+ Set-Cookie:
74
+ - incap_ses_728_673446=emwoQG4P7gsAZ9COzmAaCv+55lsAAAAA12p7HXlIfXdD2z8IqJzDPw==;
75
+ path=/; Domain=.contentful.com
76
+ - nlbi_673446=JuK/CqPU8mAD0NE+6lKYhQAAAAAeh+9STttZdZDE0eCH49c3; path=/; Domain=.contentful.com
77
+ - visid_incap_673446=3rYhv3e6Tf2l54SFmGsgOP+55lsAAAAAQUIPAAAAAAA6Tug0qWXjQ5TjaPxx4YJR;
78
+ expires=Sat, 09 Nov 2019 14:12:09 GMT; path=/; Domain=.contentful.com
79
+ X-Iinfo:
80
+ - 6-10352937-10352945 NNNN CT(90 182 0) RT(1541847550884 85) q(0 0 3 -1) r(5
81
+ 5) U5
82
+ X-Cdn:
83
+ - Incapsula
84
+ body:
85
+ encoding: ASCII-8BIT
86
+ string: |+
87
+ {
88
+ "total":2,
89
+ "sys":{
90
+ "type":"Array"
91
+ },
92
+ "items":[
93
+ {
94
+ "startDate":"2018-11-01",
95
+ "endDate":null,
96
+ "sys":{
97
+ "type":"UsagePeriod",
98
+ "id":"2"
99
+ }
100
+ },
101
+ {
102
+ "startDate":"2018-10-01",
103
+ "endDate":"2018-10-31",
104
+ "sys":{
105
+ "type":"UsagePeriod",
106
+ "id":"1"
107
+ }
108
+ }
109
+ ]
110
+ }
111
+
112
+ http_version:
113
+ recorded_at: Sat, 10 Nov 2018 10:59:12 GMT
114
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+ require 'contentful/management/space'
3
+ require 'contentful/management/client'
4
+
5
+ module Contentful
6
+ module Management
7
+ describe ApiKey do
8
+ let(:token) { ENV.fetch('CF_TEST_CMA_TOKEN', '<ACCESS_TOKEN>') }
9
+ let(:organization_id) { 'org_id' }
10
+
11
+ let!(:client) { Client.new(token ) }
12
+
13
+ subject { client.api_usage(organization_id) }
14
+
15
+ describe '.all' do
16
+ it 'class method also works' do
17
+ vcr('api_usage/all') { expect(Contentful::Management::ApiUsage.all(client, organization_id, 'organization', 1, 'cda')).to be_kind_of Contentful::Management::Array }
18
+ end
19
+ it 'returns a Contentful::Array' do
20
+ vcr('api_usage/all') { expect(subject.all('organization', 1, 'cda')).to be_kind_of Contentful::Management::Array }
21
+ end
22
+ it 'builds a Contentful::Management::ApiUsage object' do
23
+ vcr('api_usage/all') { expect(subject.all('organization', 1, 'cda').first).to be_kind_of Contentful::Management::ApiUsage }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+ require 'contentful/management/client'
3
+
4
+ module Contentful
5
+ module Management
6
+ describe ApiKey do
7
+ let(:token) { ENV.fetch('CF_TEST_CMA_TOKEN', '<ACCESS_TOKEN>') }
8
+ let(:organization_id) { 'org_id' }
9
+
10
+ let!(:client) { Client.new(token ) }
11
+
12
+ subject { client.usage_periods(organization_id) }
13
+
14
+ describe '.all' do
15
+ it 'class method also works' do
16
+ vcr('usage_period/all') { expect(Contentful::Management::UsagePeriod.all(client, organization_id)).to be_kind_of Contentful::Management::Array }
17
+ end
18
+ it 'returns a Contentful::Array' do
19
+ vcr('usage_period/all') { expect(subject.all).to be_kind_of Contentful::Management::Array }
20
+ end
21
+ it 'builds a Contentful::Management::UsagePeriod object' do
22
+ vcr('usage_period/all') { expect(subject.all.first).to be_kind_of Contentful::Management::UsagePeriod }
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contentful-management
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Protas
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-10-15 00:00:00.000000000 Z
13
+ date: 2018-11-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: http
@@ -293,10 +293,12 @@ files:
293
293
  - examples/create_space.rb
294
294
  - lib/contentful/management.rb
295
295
  - lib/contentful/management/api_key.rb
296
+ - lib/contentful/management/api_usage.rb
296
297
  - lib/contentful/management/array.rb
297
298
  - lib/contentful/management/asset.rb
298
299
  - lib/contentful/management/client.rb
299
300
  - lib/contentful/management/client_api_key_methods_factory.rb
301
+ - lib/contentful/management/client_api_usage_methods_factory.rb
300
302
  - lib/contentful/management/client_asset_methods_factory.rb
301
303
  - lib/contentful/management/client_association_all_published_method_factory.rb
302
304
  - lib/contentful/management/client_association_methods_factory.rb
@@ -314,6 +316,7 @@ files:
314
316
  - lib/contentful/management/client_space_methods_factory.rb
315
317
  - lib/contentful/management/client_ui_extension_methods_factory.rb
316
318
  - lib/contentful/management/client_upload_methods_factory.rb
319
+ - lib/contentful/management/client_usage_period_methods_factory.rb
317
320
  - lib/contentful/management/client_user_methods_factory.rb
318
321
  - lib/contentful/management/client_webhook_call_methods_factory.rb
319
322
  - lib/contentful/management/client_webhook_health_methods_factory.rb
@@ -374,6 +377,7 @@ files:
374
377
  - lib/contentful/management/support.rb
375
378
  - lib/contentful/management/ui_extension.rb
376
379
  - lib/contentful/management/upload.rb
380
+ - lib/contentful/management/usage_period.rb
377
381
  - lib/contentful/management/user.rb
378
382
  - lib/contentful/management/validation.rb
379
383
  - lib/contentful/management/version.rb
@@ -414,6 +418,7 @@ files:
414
418
  - spec/fixtures/vcr_cassettes/api_key/find.yml
415
419
  - spec/fixtures/vcr_cassettes/api_key/find_for_space_not_found.yml
416
420
  - spec/fixtures/vcr_cassettes/api_key/preview.yml
421
+ - spec/fixtures/vcr_cassettes/api_usage/all.yml
417
422
  - spec/fixtures/vcr_cassettes/array_page_1.yml
418
423
  - spec/fixtures/vcr_cassettes/asset/143_assets_next_page.yml
419
424
  - spec/fixtures/vcr_cassettes/asset/all.yml
@@ -703,6 +708,7 @@ files:
703
708
  - spec/fixtures/vcr_cassettes/upload/destroy.yml
704
709
  - spec/fixtures/vcr_cassettes/upload/find.yml
705
710
  - spec/fixtures/vcr_cassettes/upload/find_not_found.yml
711
+ - spec/fixtures/vcr_cassettes/usage_period/all.yml
706
712
  - spec/fixtures/vcr_cassettes/user/find.yml
707
713
  - spec/fixtures/vcr_cassettes/webhook/all.yml
708
714
  - spec/fixtures/vcr_cassettes/webhook/create.yml
@@ -720,6 +726,7 @@ files:
720
726
  - spec/fixtures/vcr_cassettes/webhook_call/find_not_found.yml
721
727
  - spec/fixtures/vcr_cassettes/webhook_health/find.yml
722
728
  - spec/lib/contentful/management/api_key_spec.rb
729
+ - spec/lib/contentful/management/api_usage_spec.rb
723
730
  - spec/lib/contentful/management/array_spec.rb
724
731
  - spec/lib/contentful/management/asset_spec.rb
725
732
  - spec/lib/contentful/management/client_spec.rb
@@ -737,6 +744,7 @@ files:
737
744
  - spec/lib/contentful/management/space_spec.rb
738
745
  - spec/lib/contentful/management/ui_extension_spec.rb
739
746
  - spec/lib/contentful/management/upload_spec.rb
747
+ - spec/lib/contentful/management/usage_period_spec.rb
740
748
  - spec/lib/contentful/management/user_spec.rb
741
749
  - spec/lib/contentful/management/webhook_calls_spec.rb
742
750
  - spec/lib/contentful/management/webhook_health_spec.rb
@@ -801,6 +809,7 @@ test_files:
801
809
  - spec/fixtures/vcr_cassettes/api_key/find.yml
802
810
  - spec/fixtures/vcr_cassettes/api_key/find_for_space_not_found.yml
803
811
  - spec/fixtures/vcr_cassettes/api_key/preview.yml
812
+ - spec/fixtures/vcr_cassettes/api_usage/all.yml
804
813
  - spec/fixtures/vcr_cassettes/array_page_1.yml
805
814
  - spec/fixtures/vcr_cassettes/asset/143_assets_next_page.yml
806
815
  - spec/fixtures/vcr_cassettes/asset/all.yml
@@ -1090,6 +1099,7 @@ test_files:
1090
1099
  - spec/fixtures/vcr_cassettes/upload/destroy.yml
1091
1100
  - spec/fixtures/vcr_cassettes/upload/find.yml
1092
1101
  - spec/fixtures/vcr_cassettes/upload/find_not_found.yml
1102
+ - spec/fixtures/vcr_cassettes/usage_period/all.yml
1093
1103
  - spec/fixtures/vcr_cassettes/user/find.yml
1094
1104
  - spec/fixtures/vcr_cassettes/webhook/all.yml
1095
1105
  - spec/fixtures/vcr_cassettes/webhook/create.yml
@@ -1107,6 +1117,7 @@ test_files:
1107
1117
  - spec/fixtures/vcr_cassettes/webhook_call/find_not_found.yml
1108
1118
  - spec/fixtures/vcr_cassettes/webhook_health/find.yml
1109
1119
  - spec/lib/contentful/management/api_key_spec.rb
1120
+ - spec/lib/contentful/management/api_usage_spec.rb
1110
1121
  - spec/lib/contentful/management/array_spec.rb
1111
1122
  - spec/lib/contentful/management/asset_spec.rb
1112
1123
  - spec/lib/contentful/management/client_spec.rb
@@ -1124,6 +1135,7 @@ test_files:
1124
1135
  - spec/lib/contentful/management/space_spec.rb
1125
1136
  - spec/lib/contentful/management/ui_extension_spec.rb
1126
1137
  - spec/lib/contentful/management/upload_spec.rb
1138
+ - spec/lib/contentful/management/usage_period_spec.rb
1127
1139
  - spec/lib/contentful/management/user_spec.rb
1128
1140
  - spec/lib/contentful/management/webhook_calls_spec.rb
1129
1141
  - spec/lib/contentful/management/webhook_health_spec.rb