contentful-management 2.5.0 → 2.6.0

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