fastly 1.14.0 → 1.15.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
- SHA1:
3
- metadata.gz: 915b0227d4e136bec5b1009a03d78edad7128593
4
- data.tar.gz: 2855da9b732a7d3434ee08b58bcd2da8cb762f7e
2
+ SHA256:
3
+ metadata.gz: 3b7bdc72892cb3e1431e698bdd1d2e4fe61e903c1a02047c1854dbeb89261d8b
4
+ data.tar.gz: 55678cb45fa20bb7787088651d42f859a852d413d83a45c7e41aa979fa323caf
5
5
  SHA512:
6
- metadata.gz: d130ed2d9d912cca1d32e81bac9aec715b3d773002787e56ee397e6a0c3a7a7022fdb4fc60832cf8358fb3f77b569e7498f81e76fd67b378519740359ab03e79
7
- data.tar.gz: a390d22a9ceb15327a3cddea5770f9ab8e431facb0b2ab163c4d8fbc55a4dfada80cdad72bade8c20bce3e290706220e3e7dfd7753d10d6cec9e0c35de649d69
6
+ metadata.gz: 6cc79fa5482c9b65f40605454b5aafc013c40b37a5a03898878165dff5f31b2afc533dded11d4d94fbfbce3e02fbde7ce49ba65edb9f1f5a4eaaf2cba8ad575e
7
+ data.tar.gz: bb8fee497d3479d46d4ab588967257f0442f8c259fed6e727eb0507f377ee84bd46b6360d9583e35a370b8c56fb6c586ef1e8c7ce63017ec8643314365b81b26
data/CHANGELOG.md CHANGED
@@ -1,5 +1,92 @@
1
1
  # Change Log
2
2
 
3
+ ## [v1.15.0](https://github.com/fastly/fastly-ruby/tree/v1.15.0) (2018-04-04)
4
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.14.0...v1.15.0)
5
+
6
+ **Merged pull requests:**
7
+
8
+ - Feature - add support for /stats/usage\_by\_month [\#124](https://github.com/fastly/fastly-ruby/pull/124) ([jrbeilke](https://github.com/jrbeilke))
9
+ - add changelog for v1.14.0 [\#123](https://github.com/fastly/fastly-ruby/pull/123) ([thommahoney](https://github.com/thommahoney))
10
+
11
+ ## [v1.14.0](https://github.com/fastly/fastly-ruby/tree/v1.14.0) (2018-03-23)
12
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.13.2...v1.14.0)
13
+
14
+ **Merged pull requests:**
15
+
16
+ - bump to v1.14.0 [\#122](https://github.com/fastly/fastly-ruby/pull/122) ([thommahoney](https://github.com/thommahoney))
17
+ - Placement in Syslog [\#121](https://github.com/fastly/fastly-ruby/pull/121) ([RexBelli](https://github.com/RexBelli))
18
+
19
+ ## [v1.13.2](https://github.com/fastly/fastly-ruby/tree/v1.13.2) (2017-12-18)
20
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.13.1...v1.13.2)
21
+
22
+ **Merged pull requests:**
23
+
24
+ - Fix syslog response\_condition attribute [\#117](https://github.com/fastly/fastly-ruby/pull/117) ([anotherJay](https://github.com/anotherJay))
25
+
26
+ ## [v1.13.1](https://github.com/fastly/fastly-ruby/tree/v1.13.1) (2017-08-08)
27
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.13.0...v1.13.1)
28
+
29
+ **Merged pull requests:**
30
+
31
+ - automatically load the sumologic\_logging class [\#115](https://github.com/fastly/fastly-ruby/pull/115) ([thommahoney](https://github.com/thommahoney))
32
+
33
+ ## [v1.13.0](https://github.com/fastly/fastly-ruby/tree/v1.13.0) (2017-08-07)
34
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.12.0...v1.13.0)
35
+
36
+ **Merged pull requests:**
37
+
38
+ - add support for sumologic [\#114](https://github.com/fastly/fastly-ruby/pull/114) ([thommahoney](https://github.com/thommahoney))
39
+
40
+ ## [v1.12.0](https://github.com/fastly/fastly-ruby/tree/v1.12.0) (2017-08-03)
41
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.11.0...v1.12.0)
42
+
43
+ **Merged pull requests:**
44
+
45
+ - add support for dynamic snippets [\#113](https://github.com/fastly/fastly-ruby/pull/113) ([thommahoney](https://github.com/thommahoney))
46
+ - Added VCL snippets endpoint [\#112](https://github.com/fastly/fastly-ruby/pull/112) ([thomshutt](https://github.com/thomshutt))
47
+
48
+ ## [v1.11.0](https://github.com/fastly/fastly-ruby/tree/v1.11.0) (2017-06-12)
49
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.10.0...v1.11.0)
50
+
51
+ **Merged pull requests:**
52
+
53
+ - add GCS Logging object [\#111](https://github.com/fastly/fastly-ruby/pull/111) ([thommahoney](https://github.com/thommahoney))
54
+
55
+ ## [v1.10.0](https://github.com/fastly/fastly-ruby/tree/v1.10.0) (2017-03-17)
56
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.9.0...v1.10.0)
57
+
58
+ **Merged pull requests:**
59
+
60
+ - Support Papertrail logging endpoints [\#110](https://github.com/fastly/fastly-ruby/pull/110) ([werkshy](https://github.com/werkshy))
61
+
62
+ ## [v1.9.0](https://github.com/fastly/fastly-ruby/tree/v1.9.0) (2017-02-03)
63
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.8.0...v1.9.0)
64
+
65
+ **Closed issues:**
66
+
67
+ - Missing tag for v1.8.0 [\#108](https://github.com/fastly/fastly-ruby/issues/108)
68
+
69
+ **Merged pull requests:**
70
+
71
+ - Add `message\_type` support to logging resources [\#109](https://github.com/fastly/fastly-ruby/pull/109) ([schisamo](https://github.com/schisamo))
72
+
73
+ ## [v1.8.0](https://github.com/fastly/fastly-ruby/tree/v1.8.0) (2017-01-17)
74
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.7.0...v1.8.0)
75
+
76
+ **Merged pull requests:**
77
+
78
+ - Support for HTTP debug logs [\#107](https://github.com/fastly/fastly-ruby/pull/107) ([thommahoney](https://github.com/thommahoney))
79
+ - use public\_suffix version 1.4.6 for ruby 1.9 [\#105](https://github.com/fastly/fastly-ruby/pull/105) ([thommahoney](https://github.com/thommahoney))
80
+ - Enable HTTP proxy support from environment [\#104](https://github.com/fastly/fastly-ruby/pull/104) ([vr](https://github.com/vr))
81
+
82
+ ## [v1.7.0](https://github.com/fastly/fastly-ruby/tree/v1.7.0) (2016-10-24)
83
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.6.1...v1.7.0)
84
+
85
+ **Merged pull requests:**
86
+
87
+ - Add ACL and ACL Entry Support [\#103](https://github.com/fastly/fastly-ruby/pull/103) ([wrightp](https://github.com/wrightp))
88
+ - add https support to purge function [\#99](https://github.com/fastly/fastly-ruby/pull/99) ([jgoulah](https://github.com/jgoulah))
89
+
3
90
  ## [v1.6.1](https://github.com/fastly/fastly-ruby/tree/v1.6.1) (2016-09-06)
4
91
  [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v1.6.0...v1.6.1)
5
92
 
data/lib/fastly.rb CHANGED
@@ -128,6 +128,8 @@ class Fastly
128
128
 
129
129
  # Returns usage information aggregated across all Fastly services and grouped by region.
130
130
  #
131
+ # If the :by_month flag is passed then returns total usage information aggregated by month as well as grouped by service & region.
132
+ #
131
133
  # If the :by_service flag is passed then returns usage information aggregated by service and grouped by service & region.
132
134
  #
133
135
  # Other options available are:
@@ -140,6 +142,7 @@ class Fastly
140
142
  # See http://docs.fastly.com/docs/stats for details.
141
143
  def usage(opts)
142
144
  url = '/stats/usage'
145
+ url += '_by_month' if opts.delete(:by_month)
143
146
  url += '_by_service' if opts.delete(:by_service)
144
147
  client.get_stats(url, opts)
145
148
  end
@@ -1,4 +1,4 @@
1
1
  # The current version of the library
2
2
  class Fastly
3
- VERSION = "1.14.0"
3
+ VERSION = "1.15.0"
4
4
  end
@@ -4,19 +4,7 @@ require 'date'
4
4
  class Fastly
5
5
  # An invoice for a time period
6
6
  class Invoice < Base
7
- attr_accessor :service_id, :service_name, :start_time, :end_time, :total, :regions
8
-
9
- ##
10
- # :attr: service_id
11
- #
12
- # The id of the service this invoice is for
13
- #
14
-
15
- ##
16
- # :attr: service_name
17
- #
18
- # The id of the service this invoice is for
19
- #
7
+ attr_accessor :start_time, :end_time, :invoice_id, :total, :regions
20
8
 
21
9
  ##
22
10
  # :attr: start_time
@@ -56,13 +44,17 @@ class Fastly
56
44
  def self.get_path(*args)
57
45
  opts = args.size > 0 ? args[0] : {}
58
46
 
59
- url = '/billing'
47
+ url = '/billing/v2'
60
48
 
61
- url += "/service/#{opts[:service_id]}" if opts.key?(:service_id)
62
-
63
- if opts.key?(:year) && opts.key?(:month)
64
- url += "/year/#{opts[:year]}/month/#{opts[:month]}"
65
- end
49
+ url += if opts.key?(:year) && opts.key?(:month)
50
+ "/year/#{opts[:year]}/month/#{opts[:month]}"
51
+ elsif opts.key?(:id)
52
+ "/account_customers/#{opts[:customer_id]}/invoices/#{opts[:id]}"
53
+ elsif opts.key?(:mtd)
54
+ "/account_customers/#{opts[:customer_id]}/mtd_invoice"
55
+ else
56
+ "/account_customers/#{opts[:customer_id]}/invoices"
57
+ end
66
58
 
67
59
  url
68
60
  end
@@ -92,18 +84,37 @@ class Fastly
92
84
  end
93
85
  end
94
86
 
95
- # Return an array of Invoice objects representing invoices for all services.
87
+ # Return an Invoice object
96
88
  #
97
89
  # If a year and month are passed in returns the invoices for that whole month.
98
90
  #
99
91
  # Otherwise it returns the invoices for the current month so far.
100
92
  def get_invoice(year = nil, month = nil)
101
- opts = {}
102
- unless year.nil? || month.nil?
93
+ opts = { customer_id: current_customer.id }
94
+ if year.nil? || month.nil?
95
+ opts[:mtd] = true
96
+ else
103
97
  opts[:year] = year
104
98
  opts[:month] = month
105
99
  end
106
100
 
107
101
  get(Invoice, opts)
108
102
  end
103
+
104
+ # Return an Invoice object for the passed invoice ID
105
+ def get_invoice_by_id(id)
106
+ opts = {
107
+ id: id,
108
+ customer_id: current_customer.id
109
+ }
110
+
111
+ get(Invoice, opts)
112
+ end
113
+
114
+ # Retun an array of Invoice objects.
115
+ def list_invoices
116
+ opts = { customer_id: current_customer.id }
117
+
118
+ list(Invoice, opts)
119
+ end
109
120
  end
data/test/stats_test.rb CHANGED
@@ -30,6 +30,11 @@ class StatsTest < Fastly::TestCase
30
30
  assert(usage['meta'])
31
31
  assert_equal 'success', usage['status']
32
32
 
33
+ usage = @fastly.usage(:from => FROM, :by_month => 1)
34
+ assert(usage)
35
+ assert(usage['meta'])
36
+ assert_equal 'success', usage['status']
37
+
33
38
  usage = @fastly.usage(:from => FROM, :by_service => 1)
34
39
  assert(usage)
35
40
  assert(usage['meta'])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastly
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fastly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-23 00:00:00.000000000 Z
11
+ date: 2018-05-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Client library for the Fastly acceleration system
14
14
  email:
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  version: '0'
106
106
  requirements: []
107
107
  rubyforge_project:
108
- rubygems_version: 2.6.13
108
+ rubygems_version: 2.7.3
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: Client library for the Fastly acceleration system