fluent-plugin-twilio 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: ab70ac89145baa0be76178e959a1528a6376f2d0
4
- data.tar.gz: ee066533389d27be18d2a72ea98bfc09b077faac
3
+ metadata.gz: d5aa5893f94bfe4afa13ce42005c1f477e613062
4
+ data.tar.gz: 83a5030461b30d6fc6e73bfb515797c2b7bc2a74
5
5
  SHA512:
6
- metadata.gz: 1b94d3ac7124a401b14d849337b76d97cacc167ff61bbe175dd79fc10ddf2c904d614fef30d4d60604adfad1ac6a065bc05c1951f83f819f900b3147a7ec6529
7
- data.tar.gz: f2f726644ce54a5e7f709dc8e214c20dab16650d240126a4371d5e992a00b37f22e0761b27b146670030cab49c0b452fcb5b96f64ac43e90f88b4662fc636aeb
6
+ metadata.gz: 07a4d2af57f8be03d75f5c9d14ab42836966a4a0dc24ef6a7672322042a71d027976a4fbf2d2c16c9ea7e0e4685353440ed08ac2deeed1c7958a31b4dcd8fd46
7
+ data.tar.gz: 61e6189432ea454c063d750ede5ed5bafed2f30fd57354ad41dfe08f5ab2ea36c48ffe7e22df712d6c7033efc96c9d880f3830c91bb18c90916e80b2fcf0d5f9
data/README.md CHANGED
@@ -31,8 +31,8 @@ $ sudo td-agent-gem install fluent-plugin-twilio
31
31
  ### Message Format
32
32
  `````
33
33
  fluent_logger.post('notify.call', {
34
- :message => 'Hello World!', # Required
35
- :number => '+8109012345678' # Required
34
+ :number => '+8109012345678', # Required if default_number is brank
35
+ :message => 'Hello World!' # Required if default_message is brank
36
36
  })
37
37
  `````
38
38
 
@@ -56,6 +56,7 @@ fluent_logger.post('notify.call', {
56
56
  # Set defaults of making outbound call.
57
57
  # To call multiple phone at the same time, list them with comma like below.
58
58
  default_number +819012345678,+818012345678 # Optional
59
+ default_message "call from fluentd." # Optional
59
60
 
60
61
  # Set log level to prevent info error
61
62
  @log_level warn
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "fluent-plugin-twilio"
6
- s.version = "0.1.0"
6
+ s.version = "0.1.1"
7
7
  s.authors = ["Kentaro Yoshida"]
8
8
  s.email = ["y.ken.studio@gmail.com"]
9
9
  s.homepage = "https://github.com/y-ken/fluent-plugin-twilio"
@@ -18,5 +18,5 @@ Gem::Specification.new do |s|
18
18
  s.add_development_dependency "rake"
19
19
  s.add_development_dependency "test-unit", ">= 3.1.0"
20
20
  s.add_runtime_dependency "fluentd", ">= 0.14.15", "< 2"
21
- s.add_runtime_dependency "twilio-ruby"
21
+ s.add_runtime_dependency "twilio-ruby", "~> 5.5.0"
22
22
  end
@@ -11,6 +11,7 @@ class Fluent::Plugin::TwilioOutput < Fluent::Plugin::Output
11
11
  config_param :from_number, :string, default: ''
12
12
  config_param :default_number, :string, default: ''
13
13
  config_param :default_voice, :string, default: 'woman'
14
+ config_param :default_message, :string, default: nil
14
15
  config_param :language, :string, default: 'ja-jp'
15
16
 
16
17
  VOICE_MAP = ['man', 'woman']
@@ -24,23 +25,24 @@ class Fluent::Plugin::TwilioOutput < Fluent::Plugin::Output
24
25
  es.each do |time,record|
25
26
  number = record['number'].nil? ? @default_number : record['number']
26
27
  @voice = VOICE_MAP.include?(record['voice']) ? record['voice'] : @default_voice
27
- call(number, record['message'])
28
+ message = record['message'] || @default_message
29
+ call(number, message)
28
30
  end
29
31
  end
30
32
 
31
33
  def call(number, message)
32
- response = Twilio::TwiML::Response.new do |r|
33
- r.Say message, voice: @voice, language: @language
34
+ response = Twilio::TwiML::VoiceResponse.new do |r|
35
+ r.say(message, voice: @voice, language: @language)
34
36
  end
35
- xml = response.text.sub(/<[^>]+?>/, '')
37
+ xml = response.to_s.sub(/<[^>]+?>/, '')
36
38
  url = "http://twimlets.com/echo?Twiml=#{URI.escape(xml)}"
37
39
  log.info "twilio: generateing twiml: #{xml}"
38
40
 
39
41
  client = Twilio::REST::Client.new(@account_sid, @auth_token)
40
- account = client.account
42
+ account = client.api.account
41
43
  number.gsub(' ', '').split(',').each do |to_number|
42
44
  begin
43
- account.calls.create({from: @from_number, to: to_number, url: url})
45
+ account.calls.create(from: @from_number, to: to_number, url: url)
44
46
  rescue => e
45
47
  log.error "twilio: Error: #{e.message}"
46
48
  end
@@ -20,26 +20,30 @@ class TwilioOutputTest < Test::Unit::TestCase
20
20
  d = create_driver('')
21
21
  }
22
22
  d = create_driver %[
23
- account_sid TWILIO_ACCOUNT_SID
24
- auth_token TWILIO_AUTH_TOKEN
25
- from_number +8112345678
23
+ account_sid TWILIO_ACCOUNT_SID
24
+ auth_token TWILIO_AUTH_TOKEN
25
+ from_number +8112345678
26
+ default_message test_message
26
27
  ]
27
28
  assert_equal 'TWILIO_ACCOUNT_SID', d.instance.account_sid
28
29
  assert_equal 'TWILIO_AUTH_TOKEN', d.instance.auth_token
29
30
  assert_equal '+8112345678', d.instance.from_number
31
+ assert_equal 'test_message', d.instance.default_message
30
32
  end
31
33
 
32
34
  def test_configure_multinumber
33
35
  d = create_driver %[
34
- account_sid TWILIO_ACCOUNT_SID
35
- auth_token TWILIO_AUTH_TOKEN
36
- from_number +8112345678
36
+ account_sid TWILIO_ACCOUNT_SID
37
+ auth_token TWILIO_AUTH_TOKEN
38
+ from_number +8112345678
37
39
  default_number +81123456789,+811234567890
40
+ default_message test_message
38
41
  ]
39
42
  assert_equal 'TWILIO_ACCOUNT_SID', d.instance.account_sid
40
43
  assert_equal 'TWILIO_AUTH_TOKEN', d.instance.auth_token
41
44
  assert_equal '+8112345678', d.instance.from_number
42
45
  assert_equal '+81123456789,+811234567890', d.instance.default_number
46
+ assert_equal 'test_message', d.instance.default_message
43
47
  end
44
48
 
45
49
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-twilio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaro Yoshida
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-12 00:00:00.000000000 Z
11
+ date: 2017-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -62,16 +62,16 @@ dependencies:
62
62
  name: twilio-ruby
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ">="
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0'
67
+ version: 5.5.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ">="
72
+ - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '0'
74
+ version: 5.5.0
75
75
  description:
76
76
  email:
77
77
  - y.ken.studio@gmail.com