smailer 0.2.0 → 0.2.1

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.
@@ -0,0 +1,19 @@
1
+ class SmailerMigrationGenerator < Rails::Generators::Base
2
+ desc "This generator creates a migration file containing definitions of the tables needed to run Smailer."
3
+
4
+ def create_migration_file
5
+ root = File.dirname(__FILE__)
6
+ source = File.expand_path 'templates/migration.rb', root
7
+ destination = Rails.root.join("db/migrate/#{next_migration_number}_create_smailer_tables.rb")
8
+
9
+ FileUtils.cp source, destination
10
+
11
+ puts "Created #{destination}"
12
+ end
13
+
14
+ protected
15
+
16
+ def next_migration_number
17
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
18
+ end
19
+ end
@@ -0,0 +1,97 @@
1
+ class CreateSmailerProperties < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "mailing_lists", :force => true do |t|
4
+ t.string "name"
5
+ t.datetime "created_at"
6
+ t.datetime "updated_at"
7
+ end
8
+
9
+ create_table "mail_campaigns", :force => true do |t|
10
+ t.integer "mailing_list_id"
11
+ t.string "from"
12
+ t.string "subject"
13
+ t.text "body_html"
14
+ t.integer "unsubscribe_methods"
15
+ t.datetime "created_at"
16
+ t.datetime "updated_at"
17
+ t.text "body_text"
18
+ t.integer "sent_mails_count", :default => 0, :null => false
19
+ t.integer "opened_mails_count", :default => 0, :null => false
20
+ end
21
+ add_index "mail_campaigns", ["mailing_list_id"], :name => "index_mail_campaigns_on_mailing_list_id"
22
+
23
+ create_table "queued_mails", :force => true do |t|
24
+ t.integer "mail_campaign_id"
25
+ t.string "to"
26
+ t.integer "retries", :default => 0, :null => false
27
+ t.datetime "last_retry_at"
28
+ t.string "last_error"
29
+ t.datetime "created_at"
30
+ t.datetime "updated_at"
31
+ t.string "key"
32
+ end
33
+ add_index "queued_mails", ["mail_campaign_id", "to"], :name => "index_queued_mails_on_mail_campain_id_and_to", :unique => true
34
+ add_index "queued_mails", ["retries"], :name => "index_queued_mails_on_retries"
35
+
36
+ create_table "finished_mails", :force => true do |t|
37
+ t.integer "mail_campaign_id"
38
+ t.string "from"
39
+ t.string "to"
40
+ t.string "subject"
41
+ t.text "body_html"
42
+ t.integer "retries"
43
+ t.datetime "last_retry_at"
44
+ t.string "last_error"
45
+ t.datetime "sent_at"
46
+ t.integer "status"
47
+ t.datetime "created_at"
48
+ t.datetime "updated_at"
49
+ t.text "body_text"
50
+ t.boolean "opened", :default => false, :null => false
51
+ t.string "key"
52
+ end
53
+ add_index "finished_mails", ["key"], :name => "index_finished_mails_on_key", :unique => true
54
+ add_index "finished_mails", ["mail_campaign_id", "status"], :name => "index_finished_mails_on_mail_campain_id_and_status"
55
+ add_index "finished_mails", ["to", "mail_campaign_id"], :name => "index_finished_mails_on_to_and_mail_campaign_id"
56
+
57
+ create_table "mail_keys", :force => true do |t|
58
+ t.string "email"
59
+ t.string "key"
60
+ t.datetime "created_at"
61
+ t.datetime "updated_at"
62
+ end
63
+ add_index "mail_keys", ["email"], :name => "index_mail_keys_on_email", :unique => true
64
+ add_index "mail_keys", ["key"], :name => "index_mail_keys_on_key", :unique => true
65
+
66
+ create_table "smailer_properties", :force => true do |t|
67
+ t.string "name"
68
+ t.text "value"
69
+ t.datetime "created_at"
70
+ t.datetime "updated_at"
71
+ t.string "notes"
72
+ end
73
+ add_index "smailer_properties", ["name"], :name => "index_smailer_properties_on_name", :unique => true
74
+ end
75
+
76
+ def self.down
77
+ drop_table :smailer_properties
78
+
79
+ remove_index :mail_keys, :name => "index_mail_keys_on_email"
80
+ remove_index :mail_keys, :name => "index_mail_keys_on_email"
81
+ drop_table :mail_keys
82
+
83
+ remove_index :finished_mails, :name => "index_finished_mails_on_key"
84
+ remove_index :finished_mails, :name => "index_finished_mails_on_mail_campain_id_and_status"
85
+ remove_index :finished_mails, :name => "index_finished_mails_on_to_and_mail_campaign_id"
86
+ drop_table :finished_mails
87
+
88
+ remove_index :queued_mails, :name => "index_queued_mails_on_mail_campain_id_and_to"
89
+ remove_index :queued_mails, :name => "index_queued_mails_on_retries"
90
+ drop_table :queued_mails
91
+
92
+ remove_index :mail_campaigns, :name => "index_mail_campaigns_on_mailing_list_id"
93
+ drop_table :mail_campaigns
94
+
95
+ drop_table :mailing_lists
96
+ end
97
+ end
@@ -1,3 +1,3 @@
1
1
  module Smailer
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smailer
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 21
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 2
8
- - 0
9
- version: 0.2.0
9
+ - 1
10
+ version: 0.2.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Dimitar Dimitrov
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-09-02 00:00:00 +03:00
18
+ date: 2011-09-13 00:00:00 +03:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: bundler
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 23
27
30
  segments:
28
31
  - 1
29
32
  - 0
@@ -45,6 +48,8 @@ files:
45
48
  - Gemfile
46
49
  - README.md
47
50
  - Rakefile
51
+ - lib/generators/smailer_migration/smailer_migration_generator.rb
52
+ - lib/generators/smailer_migration/templates/migration.rb
48
53
  - lib/smailer.rb
49
54
  - lib/smailer/compatibility.rb
50
55
  - lib/smailer/models.rb
@@ -68,16 +73,20 @@ rdoc_options: []
68
73
  require_paths:
69
74
  - lib
70
75
  required_ruby_version: !ruby/object:Gem::Requirement
76
+ none: false
71
77
  requirements:
72
78
  - - ">="
73
79
  - !ruby/object:Gem::Version
80
+ hash: 3
74
81
  segments:
75
82
  - 0
76
83
  version: "0"
77
84
  required_rubygems_version: !ruby/object:Gem::Requirement
85
+ none: false
78
86
  requirements:
79
87
  - - ">="
80
88
  - !ruby/object:Gem::Version
89
+ hash: 23
81
90
  segments:
82
91
  - 1
83
92
  - 3
@@ -86,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
95
  requirements: []
87
96
 
88
97
  rubyforge_project: smailer
89
- rubygems_version: 1.3.6
98
+ rubygems_version: 1.6.2
90
99
  signing_key:
91
100
  specification_version: 3
92
101
  summary: A simple newsletter mailer for Rails.