From f4f26abc46098bf27c20c0ac8dc0f667f1ae3338 Mon Sep 17 00:00:00 2001 From: Andrew Benton Date: Fri, 19 Oct 2012 14:52:56 -0700 Subject: [PATCH] adding support for usage records and usage triggers --- lib/twilio-ruby.rb | 3 +++ lib/twilio-ruby/rest/accounts.rb | 2 +- lib/twilio-ruby/rest/usage.rb | 10 ++++++++++ lib/twilio-ruby/rest/usage/records.rb | 21 +++++++++++++++++++++ lib/twilio-ruby/rest/usage/triggers.rb | 12 ++++++++++++ lib/twilio-ruby/version.rb | 2 +- 6 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 lib/twilio-ruby/rest/usage.rb create mode 100644 lib/twilio-ruby/rest/usage/records.rb create mode 100644 lib/twilio-ruby/rest/usage/triggers.rb diff --git a/lib/twilio-ruby.rb b/lib/twilio-ruby.rb index c1907c16a..9c75e8190 100644 --- a/lib/twilio-ruby.rb +++ b/lib/twilio-ruby.rb @@ -35,6 +35,9 @@ require 'twilio-ruby/rest/conferences/participants' require 'twilio-ruby/rest/queues' require 'twilio-ruby/rest/queues/members' +require 'twilio-ruby/rest/usage' +require 'twilio-ruby/rest/usage/records' +require 'twilio-ruby/rest/usage/triggers' require 'twilio-ruby/rest/recordings' require 'twilio-ruby/rest/transcriptions' require 'twilio-ruby/rest/notifications' diff --git a/lib/twilio-ruby/rest/accounts.rb b/lib/twilio-ruby/rest/accounts.rb index b7df00f9a..0092e64b6 100644 --- a/lib/twilio-ruby/rest/accounts.rb +++ b/lib/twilio-ruby/rest/accounts.rb @@ -8,7 +8,7 @@ def initialize(uri, client, params={}) resource :sandbox, :available_phone_numbers, :incoming_phone_numbers, :calls, :outgoing_caller_ids, :conferences, :sms, :recordings, :transcriptions, :notifications, :applications, :connect_apps, - :authorized_connect_apps, :queues + :authorized_connect_apps, :queues, :usage end end end diff --git a/lib/twilio-ruby/rest/usage.rb b/lib/twilio-ruby/rest/usage.rb new file mode 100644 index 000000000..18f93d851 --- /dev/null +++ b/lib/twilio-ruby/rest/usage.rb @@ -0,0 +1,10 @@ +module Twilio + module REST + class Usage < InstanceResource + def initialize(uri, client, params={}) + super + resource :records, :triggers + end + end + end +end diff --git a/lib/twilio-ruby/rest/usage/records.rb b/lib/twilio-ruby/rest/usage/records.rb new file mode 100644 index 000000000..6c6b87968 --- /dev/null +++ b/lib/twilio-ruby/rest/usage/records.rb @@ -0,0 +1,21 @@ +module Twilio + module REST + class Records < ListResource + + SUBRESOURCES = [:daily, :monthly, :yearly, :all_time, :today, :yesterday, + :this_month, :last_month] + + def initialize(uri, client) + super + @list_key = 'usage_records' + end + + def method_missing(method, *args) + super unless SUBRESOURCES.include? method + self.class.new "#{@uri}/#{twilify(method)}", @client + end + end + + class Record < InstanceResource; end + end +end diff --git a/lib/twilio-ruby/rest/usage/triggers.rb b/lib/twilio-ruby/rest/usage/triggers.rb new file mode 100644 index 000000000..638ee11f3 --- /dev/null +++ b/lib/twilio-ruby/rest/usage/triggers.rb @@ -0,0 +1,12 @@ +module Twilio + module REST + class Triggers < ListResource + def initialize(uri, client) + super + @list_key = 'usage_triggers' + end + end + + class Trigger < InstanceResource; end + end +end diff --git a/lib/twilio-ruby/version.rb b/lib/twilio-ruby/version.rb index f9088bc0b..75045c369 100644 --- a/lib/twilio-ruby/version.rb +++ b/lib/twilio-ruby/version.rb @@ -1,3 +1,3 @@ module Twilio - VERSION = '3.8.0' + VERSION = '3.9.0' end