twilio-rb 1.0beta → 1.0beta2

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 CHANGED
@@ -9,9 +9,11 @@ It offers an ActiveRecord style API, i.e. one that most Ruby developers are fami
9
9
 
10
10
  ## Installation
11
11
 
12
- The library has been packaged as a gem and is available from rubygems.org
12
+ The library has been packaged as a gem and is available from rubygems.org. The version that this readme pertains to is 1.0beta. To install use the `--pre` flag
13
13
 
14
- <pre>gem install twilio-rb</pre>
14
+ <pre>gem install twilio-rb --pre</pre>
15
+
16
+ Please use the Github issue tracker to report any issues or bugs you uncover.
15
17
 
16
18
  ## Usage
17
19
 
@@ -21,7 +23,7 @@ Require the library in your script as
21
23
 
22
24
  or using bundler:
23
25
 
24
- <pre>gem 'twilio-rb', '1.0pre', :require => 'twilio'</pre>
26
+ <pre>gem 'twilio-rb', '1.0beta', :require => 'twilio'</pre>
25
27
 
26
28
  ## Configuration
27
29
 
data/lib/railtie.rb CHANGED
@@ -5,10 +5,14 @@ module Twilio
5
5
  class Template
6
6
  module Handlers
7
7
  class TwiML < ::ActionView::Template::Handler
8
+ self.default_format = 'text/xml'
8
9
  include ::ActionView::Template::Handlers::Compilable
9
10
 
10
11
  def compile(template)
11
- %<Twilio::TwiML.build { |res| #{template.source} }>
12
+ <<-EOS
13
+ controller.content_type = 'text/xml'
14
+ Twilio::TwiML.build {|res| #{template.source} }
15
+ EOS
12
16
  end
13
17
  end
14
18
  end
@@ -19,4 +23,4 @@ module Twilio
19
23
  ::Mime::Type.register_alias 'text/xml', :voice
20
24
  end
21
25
  end
22
- end
26
+ end
data/lib/twilio/call.rb CHANGED
@@ -15,18 +15,19 @@ module Twilio
15
15
  end
16
16
 
17
17
  private
18
- def prepare_dates(opts)
19
- opts.map do |k,v|
18
+ def prepare_params(opts) # :nodoc:
19
+ pairs = opts.map do |k,v|
20
20
  if [:started_before, :started_after, :ended_before, :ended_after].include? k
21
21
  k = k.to_s
22
22
  # Fancy schmancy-ness to handle Twilio <= URI operator for dates
23
23
  comparator = k =~ /before$/ ? '<=' : '>='
24
24
  delineator = k =~ /started/ ? 'Start' : 'End'
25
- delineator << "Time" << comparator << v.to_s
25
+ CGI.escape(delineator << "Time" << comparator << v.to_s)
26
26
  else
27
- "#{k.to_s.camelize}=#{v}"
27
+ "#{k.to_s.camelize}=#{CGI.escape v.to_s}"
28
28
  end
29
29
  end
30
+ "?#{pairs.join('&')}"
30
31
  end
31
32
  end
32
33
 
data/lib/twilio/finder.rb CHANGED
@@ -5,21 +5,17 @@ module Twilio
5
5
  hash = res.parsed_response
6
6
  if (200..299).include? res.code
7
7
  hash['api_version'] = hash['api_version'].to_s # api_version parsed as a date by http_party
8
- new hash
8
+ new hash
9
9
  end
10
10
  end
11
11
 
12
12
  def count(opts={})
13
- opts = prepare_dates opts
14
- params = "?#{URI.encode(opts.join '&')}" unless opts.empty?
15
-
13
+ params = prepare_params opts if opts.any?
16
14
  get("/Accounts/#{Twilio::ACCOUNT_SID}/#{resource_fragment}.json#{params}").parsed_response['total']
17
15
  end
18
16
 
19
17
  def all(opts={})
20
- opts = prepare_dates opts
21
- params = "?#{URI.encode(opts.join '&')}" unless opts.empty?
22
-
18
+ params = prepare_params opts if opts.any?
23
19
  handle_response get "/Accounts/#{Twilio::ACCOUNT_SID}/#{resource_fragment}.json#{params}"
24
20
  end
25
21
 
@@ -31,17 +27,18 @@ module Twilio
31
27
  resource = klass_name == 'SMS' ? "#{klass_name}/Messages" : klass_name.pluralize
32
28
  end
33
29
 
34
- def prepare_dates(opts) # :nodoc:
35
- opts.map do |k,v|
30
+ def prepare_params(opts) # :nodoc:
31
+ pairs = opts.map do |k,v|
36
32
  if [:updated_before, :created_before, :updated_after, :created_after].include? k
37
33
  k = k.to_s
38
34
  # Fancy schmancy-ness to handle Twilio <= URI operator for dates
39
35
  comparator = k =~ /before$/ ? '<=' : '>='
40
- "Date" << k.gsub(/\_\w+$/, '').capitalize << comparator << v.to_s
36
+ CGI.escape("Date" << k.gsub(/\_\w+$/, '').capitalize << comparator << v.to_s)
41
37
  else
42
- "#{k.to_s.camelize}=#{v}"
38
+ "#{k.to_s.camelize}=#{CGI.escape v.to_s}"
43
39
  end
44
40
  end
41
+ "?#{pairs.join('&')}"
45
42
  end
46
43
 
47
44
  def handle_response(res) # :nodoc:
@@ -6,17 +6,18 @@ module Twilio
6
6
 
7
7
  class << self
8
8
  private
9
- def prepare_dates(opts)
10
- opts.map do |k,v|
9
+ def prepare_params(opts) # :nodoc:
10
+ pairs = opts.map do |k,v|
11
11
  if [:created_before, :created_after].include? k
12
12
  k = k.to_s
13
13
  # Fancy schmancy-ness to handle Twilio <= URI operator for dates
14
14
  comparator = k =~ /before$/ ? '<=' : '>='
15
- "MessageDate" << comparator << v.to_s
15
+ CGI.escape("MessageDate" << comparator << v.to_s)
16
16
  else
17
- "#{k.to_s.camelize}=#{v}"
17
+ "#{k.to_s.camelize}=#{CGI.escape v.to_s}"
18
18
  end
19
19
  end
20
+ "?#{pairs.join('&')}"
20
21
  end
21
22
  end
22
23
  end
data/lib/twilio/sms.rb CHANGED
@@ -6,17 +6,18 @@ module Twilio
6
6
 
7
7
  class << self
8
8
  private
9
- def prepare_dates(opts)
10
- opts.map do |k,v|
9
+ def prepare_params(opts) # :nodoc:
10
+ pairs = opts.map do |k,v|
11
11
  if [:created_before, :created_after, :sent_before, :sent_after].include? k
12
12
  k = k.to_s
13
13
  # Fancy schmancy-ness to handle Twilio <= URI operator for dates
14
- comparator = k =~ /before$/ ? '<=' : '>='
15
- "DateSent" << comparator << v.to_s
14
+ comparator = k =~ /before$/ ? '<=' : '>='
15
+ URI.encode("DateSent" << comparator << v.to_s)
16
16
  else
17
- "#{k.to_s.camelize}=#{v}"
17
+ "#{k.to_s.camelize}=#{CGI.escape v.to_s}"
18
18
  end
19
19
  end
20
+ "?#{pairs.join('&')}"
20
21
  end
21
22
  end
22
23
  end
data/lib/twilio.rb CHANGED
@@ -1,4 +1,4 @@
1
- %w<rubygems active_support cgi yajl yajl/json_gem httparty builder>.each { |lib| require lib }
1
+ %w<rubygems active_support active_support/inflector cgi yajl yajl/json_gem httparty builder>.each { |lib| require lib }
2
2
  %w<resource finder persistable deletable>.each { |lib| require File.join(File.dirname(__FILE__), 'twilio', "#{lib}.rb") }
3
3
 
4
4
  module Twilio
metadata CHANGED
@@ -1,11 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twilio-rb
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
5
- segments:
6
- - 1
7
- - 0beta
8
- version: 1.0beta
4
+ prerelease: 3
5
+ version: 1.0beta2
9
6
  platform: ruby
10
7
  authors:
11
8
  - Stevie Graham
@@ -13,7 +10,7 @@ autorequire:
13
10
  bindir: bin
14
11
  cert_chain: []
15
12
 
16
- date: 2010-12-26 00:00:00 +00:00
13
+ date: 2011-06-08 00:00:00 +01:00
17
14
  default_executable:
18
15
  dependencies:
19
16
  - !ruby/object:Gem::Dependency
@@ -24,103 +21,86 @@ dependencies:
24
21
  requirements:
25
22
  - - ">="
26
23
  - !ruby/object:Gem::Version
27
- segments:
28
- - 3
29
- - 0
30
- - 0
31
24
  version: 3.0.0
32
25
  type: :runtime
33
26
  version_requirements: *id001
34
27
  - !ruby/object:Gem::Dependency
35
- name: yajl-ruby
28
+ name: i18n
36
29
  prerelease: false
37
30
  requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ~>
34
+ - !ruby/object:Gem::Version
35
+ version: 0.5.0
36
+ type: :runtime
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: yajl-ruby
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
38
42
  none: false
39
43
  requirements:
40
44
  - - ">="
41
45
  - !ruby/object:Gem::Version
42
- segments:
43
- - 0
44
- - 7
45
- - 7
46
46
  version: 0.7.7
47
47
  type: :runtime
48
- version_requirements: *id002
48
+ version_requirements: *id003
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: httparty
51
51
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
52
+ requirement: &id004 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ">="
56
56
  - !ruby/object:Gem::Version
57
- segments:
58
- - 0
59
- - 6
60
- - 1
61
57
  version: 0.6.1
62
58
  type: :runtime
63
- version_requirements: *id003
59
+ version_requirements: *id004
64
60
  - !ruby/object:Gem::Dependency
65
61
  name: builder
66
62
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
63
+ requirement: &id005 !ruby/object:Gem::Requirement
68
64
  none: false
69
65
  requirements:
70
66
  - - ">="
71
67
  - !ruby/object:Gem::Version
72
- segments:
73
- - 2
74
- - 1
75
- - 2
76
68
  version: 2.1.2
77
69
  type: :runtime
78
- version_requirements: *id004
70
+ version_requirements: *id005
79
71
  - !ruby/object:Gem::Dependency
80
72
  name: webmock
81
73
  prerelease: false
82
- requirement: &id005 !ruby/object:Gem::Requirement
74
+ requirement: &id006 !ruby/object:Gem::Requirement
83
75
  none: false
84
76
  requirements:
85
77
  - - ">="
86
78
  - !ruby/object:Gem::Version
87
- segments:
88
- - 1
89
- - 6
90
- - 1
91
79
  version: 1.6.1
92
80
  type: :development
93
- version_requirements: *id005
81
+ version_requirements: *id006
94
82
  - !ruby/object:Gem::Dependency
95
83
  name: rspec
96
84
  prerelease: false
97
- requirement: &id006 !ruby/object:Gem::Requirement
85
+ requirement: &id007 !ruby/object:Gem::Requirement
98
86
  none: false
99
87
  requirements:
100
88
  - - ">="
101
89
  - !ruby/object:Gem::Version
102
- segments:
103
- - 2
104
- - 2
105
- - 0
106
90
  version: 2.2.0
107
91
  type: :development
108
- version_requirements: *id006
92
+ version_requirements: *id007
109
93
  - !ruby/object:Gem::Dependency
110
94
  name: mocha
111
95
  prerelease: false
112
- requirement: &id007 !ruby/object:Gem::Requirement
96
+ requirement: &id008 !ruby/object:Gem::Requirement
113
97
  none: false
114
98
  requirements:
115
99
  - - ">="
116
100
  - !ruby/object:Gem::Version
117
- segments:
118
- - 0
119
- - 9
120
- - 10
121
101
  version: 0.9.10
122
102
  type: :development
123
- version_requirements: *id007
103
+ version_requirements: *id008
124
104
  description: A nice Ruby wrapper for the Twilio REST API
125
105
  email: sjtgraham@mac.com
126
106
  executables: []
@@ -151,7 +131,7 @@ files:
151
131
  - lib/twilio/transcription.rb
152
132
  - lib/twilio/twiml.rb
153
133
  - lib/twilio.rb
154
- has_rdoc: false
134
+ has_rdoc: true
155
135
  homepage: http://github.com/stevegraham/twilio-rb
156
136
  licenses: []
157
137
 
@@ -165,25 +145,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
145
  requirements:
166
146
  - - ">="
167
147
  - !ruby/object:Gem::Version
168
- segments:
169
- - 1
170
- - 8
171
- - 7
172
148
  version: 1.8.7
173
149
  required_rubygems_version: !ruby/object:Gem::Requirement
174
150
  none: false
175
151
  requirements:
176
152
  - - ">"
177
153
  - !ruby/object:Gem::Version
178
- segments:
179
- - 1
180
- - 3
181
- - 1
182
154
  version: 1.3.1
183
155
  requirements: []
184
156
 
185
157
  rubyforge_project:
186
- rubygems_version: 1.3.7
158
+ rubygems_version: 1.5.2
187
159
  signing_key:
188
160
  specification_version: 3
189
161
  summary: Interact with the Twilio API in a nice Ruby way.