portatext 1.5.10 → 1.5.11

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: 577db715580b343393f360b75275da115b7ea7a5
4
- data.tar.gz: 81765027e9f059f08e04f8b22810cb0f4d321265
3
+ metadata.gz: cf0232edbd09b5ccb65d88ebd36d936e13a820b4
4
+ data.tar.gz: 9d96c246c39482fa2e92b3f7d981ce9ed80af5d3
5
5
  SHA512:
6
- metadata.gz: b0ed36716fe29bb43da8f0e06e2c5efbfb698ed25a015646cf29b31e73f859bc1c0aa5f0b73890c6b82325eecda3fe7e31f3340c480ae2d7f3d1e8a578c385f0
7
- data.tar.gz: a7d7b9b1f6fc310591b4528a65eaa3ec6b71883b8b30eb59864eb96ad770a313d33d91e72229f4ed3b2d44138a19c5a5f9e4567d6227d33eade3a71515353a77
6
+ metadata.gz: c1bfdfc131867114b23ebbaada023fff242f4f7ac0c4f683c5579a4f9811dfab846f233ed57b53fb2968b5c58f9703e22f93a836b69d58cc07e41fa5c3a94e40
7
+ data.tar.gz: 04822b0061add91bf150a8ff8fa9ea4a418e9916b56bc00692fded5f41ae2c135eb58044cf366506455be9e8a5d6521c18abf7126bfb19c7b62001dd911f0fe3
data/lib/portatext.rb CHANGED
@@ -45,6 +45,7 @@ require_relative 'portatext/command/api/destinations'
45
45
  require_relative 'portatext/command/api/simulate'
46
46
  require_relative 'portatext/command/api/summary'
47
47
  require_relative 'portatext/command/api/gsm_charset'
48
+ require_relative 'portatext/command/api/sounds'
48
49
 
49
50
  # The PortaText namespace.
50
51
  #
@@ -0,0 +1,67 @@
1
+ module PortaText
2
+ module Command
3
+ module Api
4
+ # The sounds endpoint.
5
+ # https://github.com/PortaText/docs/wiki/REST-API#api_sounds
6
+ #
7
+ # Author:: Marcelo Gornstein (mailto:marcelog@portatext.com)
8
+ # Copyright:: Copyright (c) 2015 PortaText
9
+ # License:: Apache-2.0
10
+ class Sounds < Base
11
+ def id(id)
12
+ set :id, id
13
+ end
14
+
15
+ def name(name)
16
+ set :name, name
17
+ end
18
+
19
+ def description(description)
20
+ set :description, description
21
+ end
22
+
23
+ def save_to(file)
24
+ set :accept_sound_file, file
25
+ end
26
+
27
+ def sound(file)
28
+ set :sound_file, file
29
+ end
30
+
31
+ def body(_method)
32
+ return "file:#{@args[:sound_file]}" unless @args[:sound_file].nil?
33
+ super
34
+ end
35
+
36
+ # rubocop:disable Metrics/MethodLength
37
+ # rubocop:disable Metrics/AbcSize
38
+ def endpoint(_method)
39
+ endpoint = 'sounds'
40
+ id = @args[:id]
41
+ @args.delete :id
42
+
43
+ endpoint = "#{endpoint}/#{id}" unless id.nil?
44
+
45
+ qs = {}
46
+ unless @args[:description].nil?
47
+ qs['description'] = @args[:description]
48
+ @args.delete :description
49
+ end
50
+
51
+ unless @args[:name].nil?
52
+ qs['name'] = @args[:name]
53
+ @args.delete :name
54
+ end
55
+
56
+ unless qs.empty?
57
+ qs = URI.encode_www_form qs
58
+ return "#{endpoint}?#{qs}"
59
+ end
60
+ endpoint
61
+ end
62
+ # rubocop:enable Metrics/AbcSize
63
+ # rubocop:enable Metrics/MethodLength
64
+ end
65
+ end
66
+ end
67
+ end
@@ -37,12 +37,14 @@ module PortaText
37
37
 
38
38
  def content_type(_method)
39
39
  return 'text/csv' unless @args[:file].nil?
40
+ return 'audio/mpeg' unless @args[:sound_file].nil?
40
41
  'application/json'
41
42
  end
42
43
 
43
44
  def accept_content_type(_method)
44
45
  return '*/*' unless @args[:accept_any_file].nil?
45
46
  return 'text/csv' unless @args[:accept_file].nil?
47
+ return 'audio/mpeg' unless @args[:accept_sound_file].nil?
46
48
  'application/json'
47
49
  end
48
50
 
@@ -58,18 +60,22 @@ module PortaText
58
60
 
59
61
  private
60
62
 
63
+ # rubocop:disable Metrics/MethodLength
61
64
  def run(method)
62
65
  a_type = accept_content_type method
63
66
  command_endpoint = endpoint(method)
64
67
  file = @args[:accept_file]
65
68
  file ||= @args[:accept_any_file]
69
+ file ||= @args[:accept_sound_file]
66
70
  @args.delete :accept_file
67
71
  @args.delete :accept_any_file
72
+ @args.delete :accept_sound_file
68
73
  @client.run(
69
74
  command_endpoint, method, content_type(method),
70
75
  a_type, body(method), file
71
76
  )
72
77
  end
78
+ # rubocop:enable Metrics/MethodLength
73
79
  end
74
80
  end
75
81
  end
data/portatext.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'portatext'
3
- s.version = '1.5.10'
3
+ s.version = '1.5.11'
4
4
  s.summary = 'Official PortaText API ruby client'
5
5
  s.description = 'This is the official PortaText API ruby client'
6
6
  s.authors = ['PortaText']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: portatext
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.10
4
+ version: 1.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - PortaText
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-07 00:00:00.000000000 Z
11
+ date: 2016-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simplecov
@@ -164,6 +164,7 @@ files:
164
164
  - lib/portatext/command/api/simulate.rb
165
165
  - lib/portatext/command/api/sms.rb
166
166
  - lib/portatext/command/api/sms_campaign.rb
167
+ - lib/portatext/command/api/sounds.rb
167
168
  - lib/portatext/command/api/summary.rb
168
169
  - lib/portatext/command/api/tariffs.rb
169
170
  - lib/portatext/command/api/templates.rb