sztywny-smsonrails 0.1.2

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.
Files changed (103) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/Manifest +101 -0
  3. data/README.rdoc +211 -0
  4. data/Rakefile +109 -0
  5. data/VERSION +1 -0
  6. data/app/controllers/admin/sms_on_rails/base_controller.rb +11 -0
  7. data/app/controllers/admin/sms_on_rails/drafts_controller.rb +75 -0
  8. data/app/controllers/admin/sms_on_rails/outbounds_controller.rb +117 -0
  9. data/app/controllers/admin/sms_on_rails/phone_carriers_controller.rb +85 -0
  10. data/app/controllers/admin/sms_on_rails/phone_numbers_controller.rb +101 -0
  11. data/app/controllers/sms_on_rails/creation_support.rb +99 -0
  12. data/app/controllers/sms_on_rails_controller.rb +14 -0
  13. data/app/helpers/admin/sms_on_rails/drafts_helper.rb +2 -0
  14. data/app/helpers/admin/sms_on_rails/phone_carriers_helper.rb +2 -0
  15. data/app/helpers/sms_on_rails/phone_numbers_helper.rb +9 -0
  16. data/app/helpers/sms_on_rails/sms_helper.rb +44 -0
  17. data/app/models/sms_on_rails/draft.rb +9 -0
  18. data/app/models/sms_on_rails/outbound.rb +17 -0
  19. data/app/models/sms_on_rails/phone_carrier.rb +14 -0
  20. data/app/models/sms_on_rails/phone_number.rb +8 -0
  21. data/app/views/admin/sms_on_rails/base/index.html.erb +5 -0
  22. data/app/views/admin/sms_on_rails/drafts/_show.html.erb +34 -0
  23. data/app/views/admin/sms_on_rails/drafts/edit.html.erb +36 -0
  24. data/app/views/admin/sms_on_rails/drafts/index.html.erb +32 -0
  25. data/app/views/admin/sms_on_rails/drafts/new.html.erb +34 -0
  26. data/app/views/admin/sms_on_rails/drafts/send_sms.html.erb +3 -0
  27. data/app/views/admin/sms_on_rails/drafts/show.html.erb +4 -0
  28. data/app/views/admin/sms_on_rails/outbounds/edit.html.erb +68 -0
  29. data/app/views/admin/sms_on_rails/outbounds/index.html.erb +37 -0
  30. data/app/views/admin/sms_on_rails/outbounds/new.html.erb +54 -0
  31. data/app/views/admin/sms_on_rails/outbounds/show.html.erb +69 -0
  32. data/app/views/admin/sms_on_rails/phone_carriers/edit.html.erb +24 -0
  33. data/app/views/admin/sms_on_rails/phone_carriers/index.html.erb +24 -0
  34. data/app/views/admin/sms_on_rails/phone_carriers/new.html.erb +22 -0
  35. data/app/views/admin/sms_on_rails/phone_carriers/show.html.erb +24 -0
  36. data/app/views/admin/sms_on_rails/phone_numbers/edit.html.erb +33 -0
  37. data/app/views/admin/sms_on_rails/phone_numbers/index.html.erb +28 -0
  38. data/app/views/admin/sms_on_rails/phone_numbers/new.html.erb +31 -0
  39. data/app/views/admin/sms_on_rails/phone_numbers/show.html.erb +32 -0
  40. data/app/views/layouts/sms_on_rails/basic.html.erb +26 -0
  41. data/app/views/sms_on_rails/_phone_carrier_form_item.html.erb +6 -0
  42. data/app/views/sms_on_rails/_send_sms.html.erb +33 -0
  43. data/app/views/sms_on_rails/index.html.erb +8 -0
  44. data/app/views/sms_on_rails/send_sms.html.erb +3 -0
  45. data/app/views/sms_on_rails/show.html.erb +29 -0
  46. data/config/routes.rb +19 -0
  47. data/db/data/fixtures/sms_phone_carriers.yml +110 -0
  48. data/db/migrate/sms_on_rails_carrier_tables.rb +9 -0
  49. data/db/migrate/sms_on_rails_model_tables.rb +48 -0
  50. data/db/migrate/sms_on_rails_phone_number_tables.rb +11 -0
  51. data/db/seed_data.rb +16 -0
  52. data/generators/sms_on_rails/USAGE +31 -0
  53. data/generators/sms_on_rails/commands/inserts.rb +63 -0
  54. data/generators/sms_on_rails/commands/timestamps.rb +33 -0
  55. data/generators/sms_on_rails/runners/add_all_models.rb +6 -0
  56. data/generators/sms_on_rails/runners/dependencies.rb +1 -0
  57. data/generators/sms_on_rails/runners/remove_all_models.rb +5 -0
  58. data/generators/sms_on_rails/runners/sms_on_rails_routes.rb +14 -0
  59. data/generators/sms_on_rails/sms_on_rails_generator.rb +255 -0
  60. data/generators/sms_on_rails/templates/configuration/clickatell.rb +6 -0
  61. data/generators/sms_on_rails/templates/configuration/email_gateway.rb +7 -0
  62. data/generators/sms_on_rails/templates/migrate/schema_migration.rb +15 -0
  63. data/generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb +40 -0
  64. data/generators/sms_on_rails/templates/phone_number_collision.rb +2 -0
  65. data/init.rb +3 -0
  66. data/install.rb +1 -0
  67. data/lib/sms_on_rails.rb +8 -0
  68. data/lib/sms_on_rails/activerecord_extensions/acts_as_deliverable.rb +92 -0
  69. data/lib/sms_on_rails/activerecord_extensions/acts_as_substitutable.rb +80 -0
  70. data/lib/sms_on_rails/activerecord_extensions/has_a_sms_service_provider.rb +101 -0
  71. data/lib/sms_on_rails/activerecord_extensions/lockable_record.rb +186 -0
  72. data/lib/sms_on_rails/all_models.rb +3 -0
  73. data/lib/sms_on_rails/model_support/draft.rb +178 -0
  74. data/lib/sms_on_rails/model_support/outbound.rb +136 -0
  75. data/lib/sms_on_rails/model_support/phone_carrier.rb +77 -0
  76. data/lib/sms_on_rails/model_support/phone_number.rb +248 -0
  77. data/lib/sms_on_rails/model_support/phone_number_associations.rb +13 -0
  78. data/lib/sms_on_rails/schema_helper.rb +51 -0
  79. data/lib/sms_on_rails/service_providers/base.rb +222 -0
  80. data/lib/sms_on_rails/service_providers/clickatell.rb +54 -0
  81. data/lib/sms_on_rails/service_providers/dummy.rb +21 -0
  82. data/lib/sms_on_rails/service_providers/email_gateway.rb +70 -0
  83. data/lib/sms_on_rails/service_providers/email_gateway_support/errors.rb +20 -0
  84. data/lib/sms_on_rails/service_providers/email_gateway_support/sms_mailer.rb +21 -0
  85. data/lib/sms_on_rails/service_providers/email_gateway_support/sms_mailer/sms_through_gateway.erb +6 -0
  86. data/lib/sms_on_rails/util/sms_error.rb +12 -0
  87. data/lib/smsonrails.rb +1 -0
  88. data/public/images/sms_on_rails/railsYoDawg.jpg +0 -0
  89. data/public/stylesheets/sms_on_rails.css +137 -0
  90. data/smsonrails.gemspec +159 -0
  91. data/sztywny-smsonrails.gemspec +148 -0
  92. data/tasks/sms_on_rails_tasks.rake +68 -0
  93. data/test/active_record_extensions/delivery_and_locking_test.rb +84 -0
  94. data/test/models/draft_test.rb +72 -0
  95. data/test/models/outbound_test.rb +89 -0
  96. data/test/models/phone_number_test.rb +131 -0
  97. data/test/run.rb +19 -0
  98. data/test/service_providers/abstract_test_support.rb +104 -0
  99. data/test/service_providers/clickatell_test.rb +37 -0
  100. data/test/service_providers/email_gateway_test.rb +30 -0
  101. data/test/test_helper.rb +24 -0
  102. data/uninstall.rb +1 -0
  103. metadata +193 -0
data/test/run.rb ADDED
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ gem 'activesupport', :version => ">= 2.0.0"
3
+ require 'active_support'
4
+ require 'active_support/test_case'
5
+ require 'active_record'
6
+ require 'test/unit'
7
+
8
+ dir = File.dirname(__FILE__)
9
+
10
+ ActiveRecord::Base.logger = Logger.new("debug.log")
11
+
12
+ config = ActiveRecord::Base.configurations['test'] = {
13
+ :adapter => "mysql",
14
+ :username => "root",
15
+ :encoding => "utf8",
16
+ :host => '127.0.0.1',
17
+ :database => 'sms_on_rails_test' }
18
+
19
+ ActiveRecord::Base.establish_connection( config )
@@ -0,0 +1,104 @@
1
+ require File.dirname(__FILE__)+'/../test_helper'
2
+
3
+ module SmsOnRails::ServiceProviders::AbstractTestSupport
4
+ mattr_accessor :test_phone_number
5
+ self.test_phone_number ||= '12065552476'
6
+
7
+ def test_ping
8
+ assert provider_klass.instance.ping
9
+ end
10
+
11
+ def test_send_sms
12
+ sms = SmsOnRails::Outbound.create_sms "some test message #{Time.now.to_s(:db)}", test_phone_number, default_options
13
+ result = provider_klass.instance.send_sms sms
14
+ assert test_phone_number, sms.phone_number.number
15
+ assert(result.is_a?(Hash))
16
+ end
17
+
18
+ def test_send_sms_off_white_list
19
+ original_config = provider_klass.config.dup
20
+ provider_klass.config[:white_list] = true
21
+
22
+ phone = SmsOnRails::PhoneNumber.find_and_create_by_number test_phone_number, :create => :create
23
+
24
+ phone.white_list = false
25
+ phone.save!
26
+
27
+ assert_raise(SmsOnRails::SmsError){
28
+ sms = SmsOnRails::Outbound.create_sms "some test message #{Time.now.to_s(:db)}", test_phone_number, default_options
29
+ result = provider_klass.instance.send_sms sms
30
+ assert(result.is_a?(Hash))
31
+ }
32
+
33
+ phone.update_attribute(:white_list, true)
34
+ sms = SmsOnRails::Outbound.create_sms "some test message #{Time.now.to_s(:db)}", test_phone_number, default_options
35
+ assert(!sms.new_record?)
36
+
37
+ ensure
38
+ provider_klass.config = original_config
39
+ provider_klass.config[:white_list] = false
40
+ phone.destroy
41
+ end
42
+
43
+
44
+ def test_do_not_send_errors_out
45
+
46
+ phone = SmsOnRails::PhoneNumber.find_and_create_by_number test_phone_number, :create => true
47
+ phone.do_not_send = 'bounce'
48
+ phone.save!
49
+
50
+ assert_raise(SmsOnRails::SmsError){
51
+ sms = SmsOnRails::Outbound.create_sms "some test message #{Time.now.to_s(:db)}", test_phone_number, default_options
52
+ result = provider_klass.instance.send_sms sms
53
+ assert(result.is_a?(Hash))
54
+ }
55
+
56
+ ensure
57
+ phone.destroy
58
+ end
59
+
60
+ def test_send_message
61
+ map = provider_instance.send_message(send_to_phone_data, "SEND MESSAGE #{send_to_phone_data}")
62
+ assert(map.is_a?(Hash))
63
+ end
64
+
65
+ def test_send_to_phone_number_with_white_list
66
+ original_config = provider_klass.config.dup
67
+ provider_klass.config[:white_list] = true
68
+ SmsOnRails::PhoneNumber.delete_all
69
+ phone = SmsOnRails::PhoneNumber.create!(:number => '206555555 5', :carrier_id => 5)
70
+
71
+ assert_raises(SmsOnRails::SmsError) {
72
+ provider_instance.send_to_phone('1206.555.5555', 'test send to phone', :carrier => 5)
73
+ }
74
+
75
+ phone.update_attribute(:white_list, true)
76
+ provider_instance.send_to_phone('1206.555.5555', 'test send to phone', :carrier => 5)
77
+ ensure
78
+ provider_klass.config = original_config
79
+ provider_klass.config[:white_list] = false
80
+ end
81
+
82
+
83
+ def test_send_to_phone
84
+ SmsOnRails::PhoneNumber.delete_all
85
+ response = provider_instance.send_to_phone('1206.555.5555', 'test send to phone', :carrier => 5)
86
+ end
87
+
88
+ def test_send_to_phone_with_existing_number
89
+ SmsOnRails::PhoneNumber.delete_all
90
+ SmsOnRails::PhoneNumber.create!(:number => '12065555555', :carrier_id => 5, :white_list => true)
91
+ response = provider_instance.send_to_phone('206.555.5555', 'test send to phone', :carrier => 4)
92
+ end
93
+
94
+ protected
95
+
96
+ def send_to_phone_data; '12065551234'; end
97
+ def default_options; {}; end
98
+
99
+ def provider_klass
100
+ @provider_klass||= self.class.to_s.gsub(/Test$/,'').constantize
101
+ end
102
+
103
+ def provider_instance; provider_klass.instance; end
104
+ end
@@ -0,0 +1,37 @@
1
+ require File.dirname(__FILE__)+'/abstract_test_support.rb'
2
+
3
+
4
+ class SmsOnRails::ServiceProviders::ClickatellTest < Test::Unit::TestCase
5
+ include SmsOnRails::ServiceProviders::AbstractTestSupport
6
+
7
+ def setup
8
+ super
9
+ SmsOnRails::ServiceProviders::Base.default_service_provider = SmsOnRails::ServiceProviders::Clickatell
10
+ end
11
+
12
+ def teardown
13
+ super
14
+ SmsOnRails::ServiceProviders::Base.default_service_provider = SmsOnRails::ServiceProviders::Dummy
15
+ end
16
+
17
+ def test_send_to_bad_clickatell_number
18
+ assert_raise(SmsOnRails::SmsError){
19
+ SmsOnRails::ServiceProviders::Clickatell.instance.send_message('ss', 'test message', options={})
20
+ }
21
+ end
22
+
23
+ def test_fatal_connection_error
24
+ old_config = SmsOnRails::ServiceProviders::Clickatell.config.dup
25
+ SmsOnRails::ServiceProviders::Clickatell.config[:password] = 'asdfsadfGirafe'
26
+ SmsOnRails::ServiceProviders::Clickatell.instance.send :eval, '@@api = nil'
27
+ assert_raise(SmsOnRails::FatalSmsError){
28
+
29
+ SmsOnRails::ServiceProviders::Clickatell.instance.authenticate
30
+ }
31
+
32
+ ensure
33
+ SmsOnRails::ServiceProviders::Clickatell.config = old_config
34
+ end
35
+
36
+
37
+ end
@@ -0,0 +1,30 @@
1
+ require File.dirname(__FILE__)+'/abstract_test_support.rb'
2
+
3
+ SmsOnRails::ServiceProviders::EmailGateway.config =
4
+ {
5
+ :sender => 'blythe@spongecell.com',
6
+ :subject => 'Message from SmsOnRails'
7
+ #:bcc => nil,
8
+ #:mailer_klass => nil,
9
+ }
10
+
11
+
12
+ ActionMailer::Base.delivery_method = :test
13
+
14
+ class SmsOnRails::ServiceProviders::EmailGatewayTest < Test::Unit::TestCase
15
+
16
+ include SmsOnRails::ServiceProviders::AbstractTestSupport
17
+
18
+ protected
19
+
20
+ def send_to_phone_data; '12065555555@txt.att.net'; end
21
+
22
+ def default_options
23
+ {:phone_number => {:carrier_id => 1}}
24
+ end
25
+
26
+ def gateway
27
+ SmsOnRails::ServiceProviders::EmailGateway.instance
28
+ end
29
+
30
+ end
@@ -0,0 +1,24 @@
1
+
2
+ dir = File.dirname(__FILE__)
3
+ require dir + '/run'
4
+ require dir +'/../init'
5
+
6
+ begin
7
+ if File.exists?(sdir = File.join(dir, '/../../static_record_cache') )
8
+ require File.join(sdir, 'init.rb')
9
+ else
10
+ require 'acts_as_static_record'
11
+ end
12
+ unless ActiveRecord::Base.respond_to?(:acts_as_static_record)
13
+ raise "Need to install static_record_cache"
14
+ end
15
+ rescue Exception => exc
16
+ raise "Please install dependency static_record_cache"
17
+ end
18
+
19
+
20
+ require 'sms_on_rails/all_models'
21
+
22
+ require File.dirname(__FILE__) + '/../db/seed_data.rb'
23
+
24
+
data/uninstall.rb ADDED
@@ -0,0 +1 @@
1
+ # Uninstall hook code here
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sztywny-smsonrails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Blythe Dunham
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-06-27 00:00:00.000000000 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: thoughtbot-shoulda
17
+ requirement: &69814470 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: *69814470
26
+ - !ruby/object:Gem::Dependency
27
+ name: clickatell
28
+ requirement: &69812890 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: *69812890
37
+ - !ruby/object:Gem::Dependency
38
+ name: activesupport
39
+ requirement: &69337610 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: 2.0.0
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *69337610
48
+ - !ruby/object:Gem::Dependency
49
+ name: static_record_cache
50
+ requirement: &69336270 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *69336270
59
+ description: Sms on Rails provides your app with instant SMS integration
60
+ email: blythe@snowgiraffe.com
61
+ executables: []
62
+ extensions: []
63
+ extra_rdoc_files:
64
+ - README.rdoc
65
+ files:
66
+ - MIT-LICENSE
67
+ - Manifest
68
+ - README.rdoc
69
+ - Rakefile
70
+ - VERSION
71
+ - app/controllers/admin/sms_on_rails/base_controller.rb
72
+ - app/controllers/admin/sms_on_rails/drafts_controller.rb
73
+ - app/controllers/admin/sms_on_rails/outbounds_controller.rb
74
+ - app/controllers/admin/sms_on_rails/phone_carriers_controller.rb
75
+ - app/controllers/admin/sms_on_rails/phone_numbers_controller.rb
76
+ - app/controllers/sms_on_rails/creation_support.rb
77
+ - app/controllers/sms_on_rails_controller.rb
78
+ - app/helpers/admin/sms_on_rails/drafts_helper.rb
79
+ - app/helpers/admin/sms_on_rails/phone_carriers_helper.rb
80
+ - app/helpers/sms_on_rails/phone_numbers_helper.rb
81
+ - app/helpers/sms_on_rails/sms_helper.rb
82
+ - app/models/sms_on_rails/draft.rb
83
+ - app/models/sms_on_rails/outbound.rb
84
+ - app/models/sms_on_rails/phone_carrier.rb
85
+ - app/models/sms_on_rails/phone_number.rb
86
+ - app/views/admin/sms_on_rails/base/index.html.erb
87
+ - app/views/admin/sms_on_rails/drafts/_show.html.erb
88
+ - app/views/admin/sms_on_rails/drafts/edit.html.erb
89
+ - app/views/admin/sms_on_rails/drafts/index.html.erb
90
+ - app/views/admin/sms_on_rails/drafts/new.html.erb
91
+ - app/views/admin/sms_on_rails/drafts/send_sms.html.erb
92
+ - app/views/admin/sms_on_rails/drafts/show.html.erb
93
+ - app/views/admin/sms_on_rails/outbounds/edit.html.erb
94
+ - app/views/admin/sms_on_rails/outbounds/index.html.erb
95
+ - app/views/admin/sms_on_rails/outbounds/new.html.erb
96
+ - app/views/admin/sms_on_rails/outbounds/show.html.erb
97
+ - app/views/admin/sms_on_rails/phone_carriers/edit.html.erb
98
+ - app/views/admin/sms_on_rails/phone_carriers/index.html.erb
99
+ - app/views/admin/sms_on_rails/phone_carriers/new.html.erb
100
+ - app/views/admin/sms_on_rails/phone_carriers/show.html.erb
101
+ - app/views/admin/sms_on_rails/phone_numbers/edit.html.erb
102
+ - app/views/admin/sms_on_rails/phone_numbers/index.html.erb
103
+ - app/views/admin/sms_on_rails/phone_numbers/new.html.erb
104
+ - app/views/admin/sms_on_rails/phone_numbers/show.html.erb
105
+ - app/views/layouts/sms_on_rails/basic.html.erb
106
+ - app/views/sms_on_rails/_phone_carrier_form_item.html.erb
107
+ - app/views/sms_on_rails/_send_sms.html.erb
108
+ - app/views/sms_on_rails/index.html.erb
109
+ - app/views/sms_on_rails/send_sms.html.erb
110
+ - app/views/sms_on_rails/show.html.erb
111
+ - config/routes.rb
112
+ - db/data/fixtures/sms_phone_carriers.yml
113
+ - db/migrate/sms_on_rails_carrier_tables.rb
114
+ - db/migrate/sms_on_rails_model_tables.rb
115
+ - db/migrate/sms_on_rails_phone_number_tables.rb
116
+ - db/seed_data.rb
117
+ - generators/sms_on_rails/USAGE
118
+ - generators/sms_on_rails/commands/inserts.rb
119
+ - generators/sms_on_rails/commands/timestamps.rb
120
+ - generators/sms_on_rails/runners/add_all_models.rb
121
+ - generators/sms_on_rails/runners/dependencies.rb
122
+ - generators/sms_on_rails/runners/remove_all_models.rb
123
+ - generators/sms_on_rails/runners/sms_on_rails_routes.rb
124
+ - generators/sms_on_rails/sms_on_rails_generator.rb
125
+ - generators/sms_on_rails/templates/configuration/clickatell.rb
126
+ - generators/sms_on_rails/templates/configuration/email_gateway.rb
127
+ - generators/sms_on_rails/templates/migrate/schema_migration.rb
128
+ - generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
129
+ - generators/sms_on_rails/templates/phone_number_collision.rb
130
+ - init.rb
131
+ - install.rb
132
+ - lib/sms_on_rails.rb
133
+ - lib/sms_on_rails/activerecord_extensions/acts_as_deliverable.rb
134
+ - lib/sms_on_rails/activerecord_extensions/acts_as_substitutable.rb
135
+ - lib/sms_on_rails/activerecord_extensions/has_a_sms_service_provider.rb
136
+ - lib/sms_on_rails/activerecord_extensions/lockable_record.rb
137
+ - lib/sms_on_rails/all_models.rb
138
+ - lib/sms_on_rails/model_support/draft.rb
139
+ - lib/sms_on_rails/model_support/outbound.rb
140
+ - lib/sms_on_rails/model_support/phone_carrier.rb
141
+ - lib/sms_on_rails/model_support/phone_number.rb
142
+ - lib/sms_on_rails/model_support/phone_number_associations.rb
143
+ - lib/sms_on_rails/schema_helper.rb
144
+ - lib/sms_on_rails/service_providers/base.rb
145
+ - lib/sms_on_rails/service_providers/clickatell.rb
146
+ - lib/sms_on_rails/service_providers/dummy.rb
147
+ - lib/sms_on_rails/service_providers/email_gateway.rb
148
+ - lib/sms_on_rails/service_providers/email_gateway_support/errors.rb
149
+ - lib/sms_on_rails/service_providers/email_gateway_support/sms_mailer.rb
150
+ - lib/sms_on_rails/service_providers/email_gateway_support/sms_mailer/sms_through_gateway.erb
151
+ - lib/sms_on_rails/util/sms_error.rb
152
+ - lib/smsonrails.rb
153
+ - public/images/sms_on_rails/railsYoDawg.jpg
154
+ - public/stylesheets/sms_on_rails.css
155
+ - smsonrails.gemspec
156
+ - sztywny-smsonrails.gemspec
157
+ - tasks/sms_on_rails_tasks.rake
158
+ - test/active_record_extensions/delivery_and_locking_test.rb
159
+ - test/models/draft_test.rb
160
+ - test/models/outbound_test.rb
161
+ - test/models/phone_number_test.rb
162
+ - test/run.rb
163
+ - test/service_providers/abstract_test_support.rb
164
+ - test/service_providers/clickatell_test.rb
165
+ - test/service_providers/email_gateway_test.rb
166
+ - test/test_helper.rb
167
+ - uninstall.rb
168
+ has_rdoc: true
169
+ homepage: http://github.com/sztywny/smsonrails
170
+ licenses: []
171
+ post_install_message:
172
+ rdoc_options: []
173
+ require_paths:
174
+ - lib
175
+ required_ruby_version: !ruby/object:Gem::Requirement
176
+ none: false
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
+ none: false
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ requirements: []
188
+ rubyforge_project:
189
+ rubygems_version: 1.6.2
190
+ signing_key:
191
+ specification_version: 3
192
+ summary: Sms on Rails provides your app with instant SMS integration
193
+ test_files: []