boundio 0.0.4 → 0.0.5
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.
- data/README.md +1 -1
- data/lib/boundio.rb +1 -1
- data/lib/boundio/application.rb +2 -4
- data/lib/boundio/audio_file.rb +8 -1
- data/lib/boundio/call.rb +4 -0
- data/lib/boundio/cast.rb +21 -0
- data/lib/boundio/resource.rb +7 -1
- data/lib/boundio/tel_status.rb +5 -0
- data/lib/boundio/version.rb +1 -1
- data/test/test_audio_file.rb +8 -0
- data/test/test_cast.rb +16 -0
- data/test/test_tel_status.rb +6 -0
- metadata +86 -117
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# boundio
|
2
2
|
|
3
|
-
[](http://travis-ci.org/pwim/boundio)
|
4
4
|
|
5
5
|
Alpha-version of the beta-api for Boundio. See [the documentation](http://www.doorkeeperhq.com/developer/boundio-ruby-gem) for details.
|
data/lib/boundio.rb
CHANGED
@@ -5,7 +5,7 @@ require "thor"
|
|
5
5
|
require "active_support/core_ext/string/inflections"
|
6
6
|
|
7
7
|
module Boundio
|
8
|
-
%w[audio_file application call exception resource tel_status version].each do |s|
|
8
|
+
%w[audio_file application call cast exception resource tel_status version].each do |s|
|
9
9
|
autoload s.camelize.to_sym, "boundio/#{s}"
|
10
10
|
end
|
11
11
|
end
|
data/lib/boundio/application.rb
CHANGED
@@ -3,8 +3,7 @@ module Boundio
|
|
3
3
|
desc "call", "Call the specified number with the specified cast"
|
4
4
|
method_options :tel_to => :string, :cast => :string
|
5
5
|
def call
|
6
|
-
call = Call.
|
7
|
-
call.save
|
6
|
+
call = Call.create(options)
|
8
7
|
puts call.id
|
9
8
|
end
|
10
9
|
|
@@ -21,8 +20,7 @@ module Boundio
|
|
21
20
|
desc "file", "Create a file for use with boundio"
|
22
21
|
method_options :convtext => :string, :file => :string
|
23
22
|
def file
|
24
|
-
file = AudioFile.
|
25
|
-
file.save
|
23
|
+
file = AudioFile.create(options[:file] ? {:file => File.new(options[:file], "rb")} : options)
|
26
24
|
puts file.id
|
27
25
|
end
|
28
26
|
|
data/lib/boundio/audio_file.rb
CHANGED
@@ -7,7 +7,7 @@ module Boundio
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.exceptions
|
10
|
-
super.merge(2 =>
|
10
|
+
super.merge(2 => InsufficientParametersOrTooBigFile, 6 => VoiceConversionError)
|
11
11
|
end
|
12
12
|
|
13
13
|
def save
|
@@ -20,5 +20,12 @@ module Boundio
|
|
20
20
|
self.id = res["fileid"]
|
21
21
|
true
|
22
22
|
end
|
23
|
+
|
24
|
+
def +(file)
|
25
|
+
Boundio::Cast.new(self, file)
|
26
|
+
end
|
27
|
+
|
28
|
+
class InsufficientParametersOrTooBigFile < Boundio::Exception; end
|
29
|
+
class VoiceConversionError < Boundio::Exception; end
|
23
30
|
end
|
24
31
|
end
|
data/lib/boundio/call.rb
CHANGED
data/lib/boundio/cast.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
module Boundio
|
2
|
+
class Cast
|
3
|
+
attr_reader :files
|
4
|
+
|
5
|
+
def initialize(*files)
|
6
|
+
@files = files
|
7
|
+
end
|
8
|
+
|
9
|
+
def +(file)
|
10
|
+
self.class.new(*(files + [file]))
|
11
|
+
end
|
12
|
+
|
13
|
+
def to_s
|
14
|
+
files.map {|f| "file(#{f.id})" }.join("%%")
|
15
|
+
end
|
16
|
+
|
17
|
+
def ==(other)
|
18
|
+
other.is_a?(self.class) ? files == other.files : super
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/boundio/resource.rb
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
module Boundio
|
2
2
|
class Resource
|
3
3
|
class << self
|
4
|
+
def create(args)
|
5
|
+
o = new(args)
|
6
|
+
o.save
|
7
|
+
o
|
8
|
+
end
|
9
|
+
|
4
10
|
def api_version
|
5
11
|
"vd1"
|
6
12
|
end
|
@@ -30,7 +36,7 @@ module Boundio
|
|
30
36
|
end
|
31
37
|
end
|
32
38
|
|
33
|
-
def initialize(args)
|
39
|
+
def initialize(args = {})
|
34
40
|
args.each {|k,v| send("#{k}=", v) }
|
35
41
|
end
|
36
42
|
|
data/lib/boundio/tel_status.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
module Boundio
|
2
3
|
class TelStatus < Resource
|
3
4
|
attr_accessor :id, :from, :to, :start, :end, :duration, :status
|
@@ -19,6 +20,10 @@ module Boundio
|
|
19
20
|
end
|
20
21
|
end
|
21
22
|
|
23
|
+
def processing?
|
24
|
+
status == "架電待機"
|
25
|
+
end
|
26
|
+
|
22
27
|
def to_s
|
23
28
|
"TelStatus (#{id}): #{from} -> #{to}, #{start} - #{self.end}, #{status}"
|
24
29
|
end
|
data/lib/boundio/version.rb
CHANGED
data/test/test_audio_file.rb
CHANGED
@@ -8,4 +8,12 @@ class TestAudioFile < BoundioTest
|
|
8
8
|
file.save
|
9
9
|
assert_equal 5, file.id
|
10
10
|
end
|
11
|
+
|
12
|
+
def test_combining_files
|
13
|
+
f1 = Boundio::AudioFile.new
|
14
|
+
f2 = Boundio::AudioFile.new
|
15
|
+
cast = f1 + f2
|
16
|
+
assert_instance_of Boundio::Cast, cast
|
17
|
+
assert_equal [f1, f2], cast.instance_variable_get(:@files)
|
18
|
+
end
|
11
19
|
end
|
data/test/test_cast.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class TestCast < BoundioTest
|
4
|
+
def test_combining
|
5
|
+
f1 = Boundio::AudioFile.new(:id => '000001')
|
6
|
+
f2 = Boundio::AudioFile.new(:id => '000002')
|
7
|
+
cast = Boundio::Cast.new(f1)
|
8
|
+
assert_equal Boundio::Cast.new(f1,f2), cast + f2
|
9
|
+
end
|
10
|
+
def test_to_s
|
11
|
+
f1 = Boundio::AudioFile.new(:id => '000001')
|
12
|
+
f2 = Boundio::AudioFile.new(:id => '000002')
|
13
|
+
cast = Boundio::Cast.new(f1, f2)
|
14
|
+
assert_equal 'file(000001)%%file(000002)', cast.to_s
|
15
|
+
end
|
16
|
+
end
|
data/test/test_tel_status.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
require "test_helper"
|
2
3
|
|
3
4
|
class TestTelStatus < BoundioTest
|
@@ -6,4 +7,9 @@ class TestTelStatus < BoundioTest
|
|
6
7
|
call_status = Boundio::TelStatus.find(5)
|
7
8
|
assert_equal 5, call_status.id
|
8
9
|
end
|
10
|
+
|
11
|
+
def test_status
|
12
|
+
assert Boundio::TelStatus.new(:status => "架電待機").processing?
|
13
|
+
assert !Boundio::TelStatus.new(:status => "不在").processing?
|
14
|
+
end
|
9
15
|
end
|
metadata
CHANGED
@@ -1,130 +1,101 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: boundio
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 4
|
10
|
-
version: 0.0.4
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Paul McMahon
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-03-23 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: minitest
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2157474300 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :development
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: rake
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: *2157474300
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &2157473880 !ruby/object:Gem::Requirement
|
38
28
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
46
33
|
type: :development
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: webmock
|
50
34
|
prerelease: false
|
51
|
-
|
35
|
+
version_requirements: *2157473880
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: webmock
|
38
|
+
requirement: &2157473460 !ruby/object:Gem::Requirement
|
52
39
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
segments:
|
58
|
-
- 0
|
59
|
-
version: "0"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
60
44
|
type: :development
|
61
|
-
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: activesupport
|
64
45
|
prerelease: false
|
65
|
-
|
46
|
+
version_requirements: *2157473460
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: activesupport
|
49
|
+
requirement: &2157473040 !ruby/object:Gem::Requirement
|
66
50
|
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
segments:
|
72
|
-
- 0
|
73
|
-
version: "0"
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
74
55
|
type: :runtime
|
75
|
-
version_requirements: *id004
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: json
|
78
56
|
prerelease: false
|
79
|
-
|
57
|
+
version_requirements: *2157473040
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: json
|
60
|
+
requirement: &2157472620 !ruby/object:Gem::Requirement
|
80
61
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
segments:
|
86
|
-
- 0
|
87
|
-
version: "0"
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
88
66
|
type: :runtime
|
89
|
-
version_requirements: *id005
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: rest-client
|
92
67
|
prerelease: false
|
93
|
-
|
68
|
+
version_requirements: *2157472620
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rest-client
|
71
|
+
requirement: &2157472200 !ruby/object:Gem::Requirement
|
94
72
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
segments:
|
100
|
-
- 0
|
101
|
-
version: "0"
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
102
77
|
type: :runtime
|
103
|
-
version_requirements: *id006
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: thor
|
106
78
|
prerelease: false
|
107
|
-
|
79
|
+
version_requirements: *2157472200
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: thor
|
82
|
+
requirement: &2157471780 !ruby/object:Gem::Requirement
|
108
83
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
|
113
|
-
segments:
|
114
|
-
- 0
|
115
|
-
version: "0"
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
116
88
|
type: :runtime
|
117
|
-
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *2157471780
|
118
91
|
description: Boundio is KDDI's telephony API. This is a simple wrapper for it.
|
119
|
-
email:
|
92
|
+
email:
|
120
93
|
- paul@mobalean.com
|
121
|
-
executables:
|
94
|
+
executables:
|
122
95
|
- boundio
|
123
96
|
extensions: []
|
124
|
-
|
125
97
|
extra_rdoc_files: []
|
126
|
-
|
127
|
-
files:
|
98
|
+
files:
|
128
99
|
- .gitignore
|
129
100
|
- .travis.yml
|
130
101
|
- Gemfile
|
@@ -137,6 +108,7 @@ files:
|
|
137
108
|
- lib/boundio/application.rb
|
138
109
|
- lib/boundio/audio_file.rb
|
139
110
|
- lib/boundio/call.rb
|
111
|
+
- lib/boundio/cast.rb
|
140
112
|
- lib/boundio/exception.rb
|
141
113
|
- lib/boundio/resource.rb
|
142
114
|
- lib/boundio/tel_status.rb
|
@@ -144,40 +116,37 @@ files:
|
|
144
116
|
- test/test_application.rb
|
145
117
|
- test/test_audio_file.rb
|
146
118
|
- test/test_call.rb
|
119
|
+
- test/test_cast.rb
|
147
120
|
- test/test_helper.rb
|
148
121
|
- test/test_tel_status.rb
|
149
122
|
homepage: http://boundio.jp
|
150
123
|
licenses: []
|
151
|
-
|
152
124
|
post_install_message:
|
153
125
|
rdoc_options: []
|
154
|
-
|
155
|
-
require_paths:
|
126
|
+
require_paths:
|
156
127
|
- lib
|
157
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
158
129
|
none: false
|
159
|
-
requirements:
|
160
|
-
- -
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
|
163
|
-
|
164
|
-
- 0
|
165
|
-
version: "0"
|
166
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
135
|
none: false
|
168
|
-
requirements:
|
169
|
-
- -
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
|
172
|
-
segments:
|
173
|
-
- 0
|
174
|
-
version: "0"
|
136
|
+
requirements:
|
137
|
+
- - ! '>='
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
175
140
|
requirements: []
|
176
|
-
|
177
141
|
rubyforge_project: boundio
|
178
|
-
rubygems_version: 1.8.
|
142
|
+
rubygems_version: 1.8.15
|
179
143
|
signing_key:
|
180
144
|
specification_version: 3
|
181
145
|
summary: Wrapper for Boundio API
|
182
|
-
test_files:
|
183
|
-
|
146
|
+
test_files:
|
147
|
+
- test/test_application.rb
|
148
|
+
- test/test_audio_file.rb
|
149
|
+
- test/test_call.rb
|
150
|
+
- test/test_cast.rb
|
151
|
+
- test/test_helper.rb
|
152
|
+
- test/test_tel_status.rb
|