sms-easy 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 98f49ef1e704a1ff5f78d6f6e31870178d2084dc
4
+ data.tar.gz: 247be2d1b8482939d54a4a4e1504bf718c00456f
5
+ SHA512:
6
+ metadata.gz: 9e70ccb092f0a0487393d0543d044f7286031f4b013a7d3071f9731b30a7a9cb1538569b5b16eb417d5d72e7e7b53bdc9244314d5f194f574445c43f7454889b
7
+ data.tar.gz: 81ecdec9642d0bc26c31ba3fb3ead61818a3f92143eaf14e89acd4b683d62cf3b9297c7f6253e2da535ea9f022aadbad975d66463a2a59e6104024e391f5f0a4
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/MIT-LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ (Modifications to original code 2013 by Preston Lee.)
2
+
3
+ Copyright (c) 2008-2010 Brendan G. Lim (brendan@intridea.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,102 @@
1
+ = SMSEasy (sms-easy)
2
+
3
+ SMSEasy allows you to send SMS messages from your Ruby application for free using email-to-text services provided by many carriers.
4
+
5
+ == Supported Carriers (US & International):
6
+
7
+ Alltel, Ameritech, AT&T, Bell Atlantic, BellSouth Mobility, Beeline(UA), BlueSkyFrog,
8
+ Boost Mobile, BPL Mobile, Cellular South, Claro (Brazil, Nicaragua), Comcast, Du,
9
+ E-Plus, Etisalat, Fido, kajeet, Mobinil, Mobitel, Movistar, Metro PCS, O2, Orange,
10
+ Powertel, PSC Wireless, Qwest, Rogers, Southern Link, Sprint, Suncom,
11
+ T-Mobile (US/UK/Germany), Telefonica, Tracfone, Virgin Mobile, Verizon Wireless,
12
+ Vodafone (UK, Egypt, Italy, Japan, Spain), and many more ...
13
+
14
+ Some International carriers require that their users subscribe to an Email to SMS
15
+ feature before they are able to receive SMS messages this way. If one your users
16
+ mentions that they are not receiving their messages, chances are it is due to this
17
+ limitation. Some of these carriers are include, Mobitel, Etisalat, T-Mobile (Netherlands).
18
+
19
+ == Requirements
20
+
21
+ * SMSEasy requires the use of a recent version of 'action_mailer'. Unlike the older sms-fu gem, *only* action_mailer 4.0.0+ is supported. If you have an older app, please try one of the older variants that supports action_mailer 3 and/or pony email agents.
22
+
23
+
24
+ == Setup Instructions
25
+
26
+ * Install sms-easy gem
27
+
28
+ gem install sms-easy
29
+
30
+ * Add sms-easy.yml to your config folder (Rails only)
31
+
32
+ http://github.com/preston/sms-easy/blob/master/templates/sms-easy.yml
33
+
34
+ * (Optional) Modify sms-easy.yml in your config folder with your reply-to e-mail address.
35
+
36
+ == Numbers and Carriers
37
+
38
+ * You have to send in the phone number, without any non-numeric characters. The
39
+ phone numbers must be 10 digits in length.
40
+ * The two required parameters are the phone number and the phone carrier.
41
+ * Here are some of the default carrier values:
42
+
43
+ Alltel Wireless => "alltel"
44
+ AT&T/Cingular => "at&t"
45
+ Boost Mobile => "boost"
46
+ Sprint Wireless => "sprint"
47
+ T-Mobile US => "t-mobile"
48
+ T-Mobile UK => "t-mobile-uk"
49
+ Virgin Mobile => "virgin"
50
+ Verizon Wireless => "verizon"
51
+ Vodafone Tokyo => "vodafone-jp-tokyo"
52
+
53
+ * Check sms-easy.yml for a complete list of supported carriers, including international
54
+ carriers as well.
55
+
56
+ == Usage
57
+
58
+
59
+ * Basic SMS delivery
60
+
61
+ sms-easy.deliver("5558675309","at&t","message")
62
+
63
+ * If you want to set a custom from e-mail per SMS message, you can do so
64
+ by doing the following.
65
+
66
+ sms-easy.deliver("5558675309","at&t","message", :from => "bob@test.com")
67
+
68
+ * You can set the maximum length of the SMS message, which is not set by
69
+ default. Most phones can only accept 128 characters. To do this just
70
+ specify the limit option.
71
+
72
+ sms-easy.deliver("5558675309","at&t","message", :limit => 128)
73
+
74
+ * You can retrieve just the formatted address to use in your own mailer.
75
+
76
+ SMSEasy.sms_address("5558675309","at&t") # => "5558675309@txt.att.net"
77
+
78
+ == View Helpers (Rails)
79
+
80
+ * Retrieve a collection of all carriers
81
+
82
+ <%= carrier_collection %>
83
+
84
+ * Display a select box with mobile carriers
85
+
86
+ <%= carrier_select %>
87
+
88
+ * Display a custom select box with mobile carriers
89
+
90
+ <%= carrier_select('user[carrier_name]', "Please choose a carrier") %>
91
+
92
+ == Special Thanks
93
+
94
+ I want to thank the following individuals with their help with adding some patches to SMS Fu:
95
+
96
+ * Brent Collier (brentmc79)
97
+ * Peter Boling (pboling)
98
+ * Mike (mic)
99
+
100
+ Copyright (c) 2010 Brendan G. Lim, Intridea, Inc., released under the MIT license
101
+
102
+ Additional modifications and updates by Preston Lee.
data/Rakefile ADDED
@@ -0,0 +1,13 @@
1
+ require "bundler/gem_tasks"
2
+
3
+
4
+
5
+ require 'rake/testtask'
6
+
7
+ Rake::TestTask.new do |t|
8
+ t.libs << 'lib/sms-easy'
9
+ t.test_files = FileList['test/lib/sms-easy/*_test.rb']
10
+ t.verbose = true
11
+ end
12
+
13
+ task :default => :test
data/lib/sms-easy.rb ADDED
@@ -0,0 +1,7 @@
1
+ require 'action_mailer'
2
+ require 'yaml'
3
+
4
+ require_relative 'sms/easy/easy'
5
+ require_relative 'sms/easy/easy_helper'
6
+ require_relative 'sms/easy/notifier'
7
+ require_relative 'sms/easy/exception'
@@ -0,0 +1,73 @@
1
+ module SMSEasy
2
+
3
+ class Client
4
+
5
+ # Delivers the SMS message in the form of an e-mail
6
+ # sms-easy.deliver("1234567890","at&t","hello world")
7
+ def deliver(number, carrier, message, options = {})
8
+ raise SMSEasyException.new("Can't deliver blank message to #{SMSEasy::Client.format_number(number)}") if message.nil? || message.empty?
9
+
10
+ limit = options[:limit] || message.length
11
+ from = options[:from] || SMSEasy::Client.from_address
12
+ message = message[0..limit-1]
13
+ email = SMSEasy::Client.sms_address(number,carrier)
14
+
15
+ if @delivery == :pony
16
+ Pony.mail({:to => email, :body => message, :from => from}.merge!(@pony_config))
17
+ else
18
+ SMSEasyNotifier.send_sms(email, message, from).deliver
19
+ end
20
+ end
21
+
22
+ class << self
23
+ def config_yaml(opts = nil)
24
+ @@config_yaml = opts || YAML::load(File.open(File.join(File.dirname(__FILE__), '..', '..', '..', 'templates', 'sms-easy.yml')))
25
+ # require 'pp'
26
+ # pp @@config_yaml
27
+ end
28
+
29
+ # Returns back a list of all carriers
30
+ # SMSEasy.carriers
31
+ def carriers
32
+ config_yaml['carriers']
33
+ end
34
+
35
+ def from_address
36
+ config_yaml['config']['from_address']
37
+ end
38
+
39
+ def carrier_name(key)
40
+ carrier(key)['name']
41
+ end
42
+
43
+ def carrier_email(key)
44
+ carrier(key.downcase)['value']
45
+ end
46
+
47
+ def carrier(key)
48
+ raise SMSEasyException.new("Carrier (#{key}) is not supported") unless SMSEasy::Client.carriers.has_key?(key.downcase)
49
+ carriers[key]
50
+ end
51
+
52
+ # Returns back a properly formatted SMS e-mail address
53
+ # SMSEasy.sms_address("1234567890","at&t")
54
+ def sms_address(number,carrier)
55
+ raise SMSEasyException.new("Missing number or carrier") if number.nil? || carrier.nil?
56
+ format_number(number) + carrier_email(carrier.downcase)
57
+ end
58
+
59
+ def format_number(number)
60
+ stripped = number.gsub("-","").strip
61
+ formatted = (stripped.length == 11 && stripped[0,1] == "1") ? stripped[1..stripped.length] : stripped
62
+ raise SMSEasyException.new("Number (#{number}) is not formatted correctly") unless valid_number?(formatted)
63
+ formatted
64
+ end
65
+
66
+ def valid_number?(number)
67
+ number.length >= 10 && number[/^.\d+$/]
68
+ end
69
+
70
+ end
71
+
72
+ end
73
+ end
@@ -0,0 +1,19 @@
1
+ module SMSEasyHelper
2
+ # Returns a collection of carriers to be used in your own select tag
3
+ # e.g., <%= f.select :mobile_carrier, carrier_collection %>
4
+ def carrier_collection
5
+ SMSEasy::Client.carriers.sort.collect{ |carrier| [carrier[1]["name"], carrier[0]] }
6
+ end
7
+
8
+ # Returns a formatted select box filled with carriers
9
+ # e.g., <%= carrier_select %>
10
+ # - name => name of the method in which you want to store the carrier name
11
+ # - phrase => default selected blank option in select box
12
+ # - selected => carrier to pre-select
13
+ # - include_blank => Do you want the blank option tag (in ADDITION to the value-less 'phrase' option above)?
14
+ def carrier_select(name = :mobile_carrier, phrase = "Select a Carrier", selected = nil, include_blank = true)
15
+ options = phrase.nil? ? carrier_collection : include_blank ? [phrase,nil] + carrier_collection : [phrase] + carrier_collection
16
+ select_tag name, options_for_select(options, selected || phrase)
17
+ end
18
+
19
+ end
@@ -0,0 +1,2 @@
1
+ class SMSEasyException < StandardError
2
+ end
@@ -0,0 +1,8 @@
1
+ class SMSEasyNotifier < ActionMailer::Base
2
+ def send_sms(recipient, message, sender_email)
3
+ mail(:to => recipient, :from => sender_email, :subject => '') do |format|
4
+ format.text { render :text => message }
5
+ format.html { render :text => message }
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ module SMSEasy
2
+ VERSION = "1.2.0"
3
+ end
data/rails/init.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'sms-easy'
2
+ ActionView::Base.send(:include, SMSEasyHelper)
data/sms-easy.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'sms/easy/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "sms-easy"
8
+ spec.version = SMSEasy::VERSION
9
+ spec.authors = ["Brendan G. Lim", "Raimond Garcia", "Preston Lee"]
10
+ spec.email = ["conmotto@gmail.com"]
11
+ spec.description = %q{SMSEasy allows you to send text messages to a mobile recipient for free. It leverages ActionMailer for delivery of text messages through e-mail. Based on the Brendan Lim's sms-easy.}
12
+ spec.summary = %q{SMSEasy allows you to send text messages to a mobile recipient for free.}
13
+ spec.homepage = "https://github.com/preston/sms-easy"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "actionmailer", '>= 4.0.0' # Already depends on minitest, so we don't need to add it. :)
22
+
23
+ spec.add_development_dependency "bundler"
24
+ spec.add_development_dependency "rake"
25
+
26
+ end
27
+
@@ -0,0 +1,233 @@
1
+ config:
2
+ from_address: noreply@example.com
3
+ # Loosely based on the Wikipedia page: https://en.wikipedia.org/wiki/List_of_SMS_gateways
4
+ carriers:
5
+ alltel:
6
+ name: Alltel
7
+ value: '@sms.alltel.com'
8
+ ameritech:
9
+ name: Ameritech
10
+ value: '@paging.acswireless.com'
11
+ at&t:
12
+ name: 'AT&T'
13
+ value: '@txt.att.net'
14
+ bell-atlantic:
15
+ name: Bell Atlantic
16
+ value: '@message.bam.com'
17
+ bellsouthmobility:
18
+ name: Bellsouth Mobility
19
+ value: '@blsdcs.net'
20
+ blueskyfrog:
21
+ name: BlueSkyFrog
22
+ value: '@blueskyfrog.com'
23
+ boost:
24
+ name: Boost Mobile
25
+ value: '@myboostmobile.com'
26
+ cellularsouth:
27
+ name: Cellular South
28
+ value: '@csouth1.com'
29
+ comcast:
30
+ name: Comcast PCS
31
+ value: '@comcastpcs.textmsg.com'
32
+ cricket:
33
+ name: Cricket
34
+ value: '@sms.mycricket.com'
35
+ kajeet:
36
+ name: kajeet
37
+ value: '@mobile.kajeet.net'
38
+ metropcs:
39
+ name: Metro PCS
40
+ value: '@mymetropcs.com'
41
+ nextel:
42
+ name: Nextel
43
+ value: '@messaging.nextel.com'
44
+ powertel:
45
+ name: Powertel
46
+ value: '@ptel.net'
47
+ pscwireless:
48
+ name: PSC Wireless
49
+ value: '@sms.pscel.com'
50
+ qwest:
51
+ name: Qwest
52
+ value: '@qwestmp.com'
53
+ southernlink:
54
+ name: Southern Link
55
+ value: '@page.southernlinc.com'
56
+ sprint:
57
+ name: Sprint PCS
58
+ value: '@messaging.sprintpcs.com'
59
+ suncom:
60
+ name: Suncom
61
+ value: '@tms.suncom.com'
62
+ t-mobile:
63
+ name: T-Mobile
64
+ value: '@tmomail.net'
65
+ tracfone:
66
+ name: Tracfone
67
+ value: '@mmst5.tracfone.com'
68
+ telus-mobility:
69
+ name: Telus Mobility
70
+ value: '@msg.telus.com'
71
+ virgin:
72
+ name: Virgin Mobile
73
+ value: '@vmobl.net'
74
+ verizon:
75
+ name: Verizon Wireless
76
+ value: '@vtext.com'
77
+ # International Carriers
78
+ aliant-canada:
79
+ name: Aliant (Canada)
80
+ value: '@chat.wirefree.ca'
81
+ beeline-ua:
82
+ name: Beeline
83
+ value: '@sms.beeline.ua'
84
+ bellmobility-canada:
85
+ name: Bell Mobility (Canada)
86
+ value: '@txt.bell.ca'
87
+ bpl-mobile:
88
+ name: BPL Mobile
89
+ value: '@bplmobile.com'
90
+ claro-brazil:
91
+ name: Claro (Brazil)
92
+ value: '@clarotorpedo.com.br'
93
+ claro-nicaragua:
94
+ name: Claro (Nicaragua)
95
+ value: '@ideasclaro-ca.com'
96
+ du-arab-emirates:
97
+ name: Du (UAE)
98
+ value: '@email2sms.ae'
99
+ e-plus-germany:
100
+ name: E-Plus (Germany)
101
+ value: '@smsmail.eplus.de'
102
+ etisalat-arab-emirates:
103
+ name: Etisalat (UAE)
104
+ value: '@email2sms.ae'
105
+ fido-canada:
106
+ name: Fido
107
+ value: '@fido.ca'
108
+ manitobatelecom-canada:
109
+ name: Manitoba Telecom (Canada)
110
+ value: '@text.mtsmobility.com'
111
+ mobinil-egypt:
112
+ name: Mobinil
113
+ value: '@mobinil.net'
114
+ mobistar-belgium:
115
+ name: Mobistar (Belgium)
116
+ value: '@mobistar.be'
117
+ mobitel:
118
+ name: Mobitel
119
+ value: '@sms.mobitel.lk'
120
+ movistar-spain:
121
+ name: Movistar (Spain)
122
+ value: '@correo.movistar.net'
123
+ northerntel-canada:
124
+ name: NorthernTel (Canada)
125
+ value: '@txt.northerntelmobility.com'
126
+ o2-germany:
127
+ name: o2 (Germany)
128
+ value: '@o2online.de'
129
+ o2-uk:
130
+ name: o2 (UK)
131
+ value: '@mmail.co.uk'
132
+ orange-mumbai:
133
+ name: Orange (Mumbai)
134
+ value: '@orangemail.co.in'
135
+ orange-netherlands:
136
+ name: Orange (Netherlands)
137
+ value: '@sms.orange.nl'
138
+ orange-uk:
139
+ name: Orange (UK)
140
+ value: '@orange.net'
141
+ rogers-wireless:
142
+ name: Rogers Wireless
143
+ value: '@pcs.rogers.com'
144
+ rogers-canada:
145
+ name: Rogers (Canada)
146
+ value: '@pcs.rogers.ca'
147
+ sasktel-canada:
148
+ name: SaskTel (canada)
149
+ value: '@sms.sasktel.ca'
150
+ sfr-france:
151
+ name: SFR (France)
152
+ value: '@sfr.fr'
153
+ t-mobile-austria:
154
+ name: T-Mobile (Austria)
155
+ value: '@sms.t-mobile.at'
156
+ t-mobile-germany:
157
+ name: T-Mobile (Germany)
158
+ value: '@t-d1-sms.de'
159
+ t-mobile-germany:
160
+ name: T-Mobile (Netherlands)
161
+ value: '@gin.nl'
162
+ t-mobile-uk:
163
+ name: T-Mobile (UK)
164
+ value: '@t-mobile.uk.net'
165
+ telebec-canada:
166
+ name: Telebec (Canada)
167
+ value: '@txt.telebecmobilite.com'
168
+ telefonica-spain:
169
+ name: Telefonica (Spain)
170
+ value: '@movistar.net'
171
+ telus-canada:
172
+ name: Telus (Canada)
173
+ value: '@msg.telus.com'
174
+ virgin-canada:
175
+ name: Virgin (Canada)
176
+ value: '@vmobile.ca '
177
+ vodafone-germany:
178
+ name: Vodafone (Germany)
179
+ value: '@vodafone-sms.de'
180
+ vodafone-egypt:
181
+ name: Vodafone (Egypt)
182
+ value: '@vodafone.com.eg'
183
+ vodafone-uk:
184
+ name: Vodafone (UK)
185
+ value: '@sms.vodafone.net'
186
+ vodafone-italy:
187
+ name: Vodafone (Italy)
188
+ value: '@sms.vodafone.it'
189
+ vodafone-jp-chuugoku:
190
+ name: Vodafone (Japan - Chuugoku)
191
+ value: '@n.vodafone.ne.jp'
192
+ vodafone-jp-hokkaido:
193
+ name: Vodafone (Japan - Hokkaido)
194
+ value: '@d.vodafone.ne.jp'
195
+ vodafone-jp-hokuriko:
196
+ name: Vodafone (Japan - Hokuriko)
197
+ value: '@r.vodafone.ne.jp'
198
+ vodafone-jp-kansai:
199
+ name: Vodafone (Japan - Kansai)
200
+ value: '@k.vodafone.ne.jp'
201
+ vodafone-jp-osaka:
202
+ name: Vodafone (Japan - Osaka)
203
+ value: '@k.vodafone.ne.jp'
204
+ vodafone-jp-kanto:
205
+ name: Vodafone (Japan - Kanto)
206
+ value: '@k.vodafone.ne.jp'
207
+ vodafone-jp-koushin:
208
+ name: Vodafone (Japan - Koushin)
209
+ value: '@k.vodafone.ne.jp'
210
+ vodafone-jp-tokyo:
211
+ name: Vodafone (Japan - Tokyo)
212
+ value: '@k.vodafone.ne.jp'
213
+ vodafone-jp-kyuushu:
214
+ name: Vodafone (Japan - Kyuushu)
215
+ value: '@q.vodafone.ne.jp'
216
+ vodafone-jp-okinawa:
217
+ name: Vodafone (Japan - Okinawa)
218
+ value: '@q.vodafone.ne.jp'
219
+ vodafone-jp-shikoku:
220
+ name: Vodafone (Japan - Shikoku)
221
+ value: '@s.vodafone.ne.jp'
222
+ vodafone-jp-touhoku:
223
+ name: Vodafone (Japan - Touhoku)
224
+ value: '@h.vodafone.ne.jp'
225
+ vodafone-jp-niigata:
226
+ name: Vodafone (Japan - Niigata)
227
+ value: '@h.vodafone.ne.jp'
228
+ vodafone-jp-toukai:
229
+ name: Vodafone (Japan - Toukai)
230
+ value: '@h.vodafone.ne.jp'
231
+ vodafone-spain:
232
+ name: Vodafone (Japan - Spain)
233
+ value: '@vodafone.es'
@@ -0,0 +1,26 @@
1
+ require_relative File.join('..', '..', 'test_helper')
2
+
3
+ describe SMSEasy do
4
+
5
+ before do
6
+ @client = SMSEasy::Client.new
7
+ end
8
+
9
+ it 'should validate phone number' do
10
+ assert_raises(SMSEasyException) { @client.deliver("456789011","AT&T","Message") }
11
+ assert_equal("5555555555@txt.att.net", SMSEasy::Client.sms_address("1-555-555-5555","AT&T"))
12
+ end
13
+
14
+ it 'should properly format international numbers' do
15
+ assert_equal("+445555555555@txt.att.net", SMSEasy::Client.sms_address("+44-555-555-5555","AT&T"))
16
+ end
17
+
18
+ it 'should not deliver blank messages' do
19
+ assert_raises(SMSEasyException) { @client.deliver("1234567890","AT&T","") }
20
+ end
21
+
22
+ it 'should get addresses properly' do
23
+ assert_equal("1234567890@txt.att.net", SMSEasy::Client.sms_address("1234567890","AT&T"))
24
+ end
25
+
26
+ end
@@ -0,0 +1,5 @@
1
+ gem 'minitest'
2
+ require 'minitest/autorun'
3
+ require 'minitest/pride'
4
+ require_relative File.join('..', 'lib', 'sms-easy.rb')
5
+ SMSEasy::Client.config_yaml
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sms-easy
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Brendan G. Lim
8
+ - Raimond Garcia
9
+ - Preston Lee
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-08-23 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: actionmailer
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 4.0.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '>='
27
+ - !ruby/object:Gem::Version
28
+ version: 4.0.0
29
+ - !ruby/object:Gem::Dependency
30
+ name: bundler
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: rake
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ description: SMSEasy allows you to send text messages to a mobile recipient for free. It
58
+ leverages ActionMailer for delivery of text messages through e-mail. Based on the
59
+ Brendan Lim's sms-easy.
60
+ email:
61
+ - conmotto@gmail.com
62
+ executables: []
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - .gitignore
67
+ - MIT-LICENSE
68
+ - README.rdoc
69
+ - Rakefile
70
+ - lib/sms-easy.rb
71
+ - lib/sms/easy/easy.rb
72
+ - lib/sms/easy/easy_helper.rb
73
+ - lib/sms/easy/exception.rb
74
+ - lib/sms/easy/notifier.rb
75
+ - lib/sms/easy/version.rb
76
+ - rails/init.rb
77
+ - sms-easy.gemspec
78
+ - templates/sms-easy.yml
79
+ - test/lib/sms-easy/sms-easy_test.rb
80
+ - test/test_helper.rb
81
+ homepage: https://github.com/preston/sms-easy
82
+ licenses:
83
+ - MIT
84
+ metadata: {}
85
+ post_install_message:
86
+ rdoc_options: []
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ requirements: []
100
+ rubyforge_project:
101
+ rubygems_version: 2.0.3
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: SMSEasy allows you to send text messages to a mobile recipient for free.
105
+ test_files:
106
+ - test/lib/sms-easy/sms-easy_test.rb
107
+ - test/test_helper.rb