typo 4.0.0 → 4.0.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.
Files changed (82) hide show
  1. data/app/controllers/admin/comments_controller.rb +1 -1
  2. data/app/controllers/admin/content_controller.rb +1 -3
  3. data/app/controllers/admin/feedback_controller.rb +36 -31
  4. data/app/controllers/admin/sidebar_controller.rb +13 -2
  5. data/app/controllers/admin/users_controller.rb +2 -1
  6. data/app/controllers/articles_controller.rb +10 -19
  7. data/app/controllers/xml_controller.rb +2 -2
  8. data/app/helpers/admin/base_helper.rb +7 -3
  9. data/app/helpers/application_helper.rb +2 -2
  10. data/app/helpers/articles_helper.rb +5 -4
  11. data/app/models/article.rb +16 -10
  12. data/app/models/blog.rb +4 -10
  13. data/app/models/comment.rb +17 -36
  14. data/app/models/content.rb +31 -53
  15. data/app/models/content_state/base.rb +46 -3
  16. data/app/models/content_state/draft.rb +2 -9
  17. data/app/models/content_state/ham.rb +31 -0
  18. data/app/models/content_state/just_marked_as_ham.rb +10 -0
  19. data/app/models/content_state/just_marked_as_spam.rb +23 -0
  20. data/app/models/content_state/just_presumed_ham.rb +37 -0
  21. data/app/models/content_state/just_published.rb +15 -8
  22. data/app/models/content_state/new.rb +3 -10
  23. data/app/models/content_state/presumed_ham.rb +27 -0
  24. data/app/models/content_state/presumed_spam.rb +31 -0
  25. data/app/models/content_state/publication_pending.rb +7 -9
  26. data/app/models/content_state/published.rb +10 -9
  27. data/app/models/content_state/spam.rb +23 -0
  28. data/app/models/content_state/unclassified.rb +29 -0
  29. data/app/models/content_state/withdrawn.rb +28 -0
  30. data/app/models/email_notifier.rb +0 -1
  31. data/app/models/feedback.rb +151 -0
  32. data/app/models/trackback.rb +22 -29
  33. data/app/views/admin/feedback/_item.rhtml +5 -5
  34. data/app/views/admin/feedback/list.rhtml +13 -11
  35. data/app/views/admin/general/index.rhtml +8 -4
  36. data/app/views/admin/users/show.rhtml +7 -1
  37. data/app/views/articles/read.rhtml +2 -2
  38. data/bin/typo +7 -6
  39. data/components/plugins/sidebars/recent_comments_controller.rb +1 -1
  40. data/config/environment.rb +2 -0
  41. data/db/migrate/046_fixup_forthcoming_publications.rb +1 -1
  42. data/db/migrate/048_remove_count_caching.rb +31 -0
  43. data/db/migrate/049_move_feedback_to_new_state_machine.rb +33 -0
  44. data/db/schema.mysql-v3.sql +3 -4
  45. data/db/schema.mysql.sql +3 -4
  46. data/db/schema.postgresql.sql +3 -4
  47. data/db/schema.rb +12 -17
  48. data/db/schema.sqlite.sql +3 -4
  49. data/db/schema.sqlserver.sql +3 -4
  50. data/db/schema_version +1 -1
  51. data/doc/Installer.txt +4 -0
  52. data/lib/jabber_notify.rb +6 -2
  53. data/lib/sidebars/plugin.rb +2 -1
  54. data/lib/tasks/release.rake +5 -4
  55. data/lib/typo_version.rb +1 -1
  56. data/public/stylesheets/administration.css +22 -2
  57. data/test/fixtures/blogs.yml +2 -0
  58. data/test/fixtures/contents.yml +7 -7
  59. data/test/functional/admin/users_controller_test.rb +3 -0
  60. data/test/functional/articles_controller_test.rb +16 -1
  61. data/test/mocks/test/xmlrpc_mock.rb +5 -4
  62. data/test/unit/article_test.rb +16 -4
  63. data/test/unit/comment_test.rb +57 -35
  64. data/test/unit/content_state/factory_test.rb +7 -6
  65. data/test/unit/ping_test.rb +14 -0
  66. data/test/unit/trackback_test.rb +16 -15
  67. metadata +26 -26
  68. data/config/database.yml-pgsql +0 -17
  69. data/config/database.yml.sqlite +0 -14
  70. data/config/mail.yml +0 -8
  71. data/config/mongrel.conf +0 -2
  72. data/db/converters/mt-import.rb +0 -72
  73. data/db/development_structure.sql +0 -691
  74. data/installer/rails-installer.rb +0 -527
  75. data/installer/rails-installer/commands.rb +0 -118
  76. data/installer/rails-installer/web-servers.rb +0 -110
  77. data/log/development.log-1 +0 -991
  78. data/log/development.log-2 +0 -422
  79. data/log/development.log-3 +0 -429
  80. data/log/development.log-4 +0 -174
  81. data/svk-commitP6cVv.tmp +0 -1
  82. data/vendor/ruby-mp3info/lib/mp3info.rb +0 -720
@@ -25,10 +25,14 @@
25
25
  <label for="blog_subtitle">Blog subtitle:</label>
26
26
  <input name="setting[blog_subtitle]" id="blog_subtitle" type="text" value="<%=h this_blog.blog_subtitle %>" />
27
27
  </p>
28
- <p>
29
- <label for="canonical_server_url">Canonical Server Url:</label>
30
- <input name="setting[canonical_server_url]" id="canonical_server_url" type="text" value="<%= this_blog.canonical_server_url %>" />
31
- </p>
28
+ <p>
29
+ <input name="setting[title_prefix]" id="blog_title_prefix" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.title_prefix %> />
30
+ <label for="blog_title_prefix">Prefix page title with blog name</label>
31
+ </p>
32
+ <p>
33
+ <label for="canonical_server_url">Canonical Server Url:</label>
34
+ <input name="setting[canonical_server_url]" id="canonical_server_url" type="text" value="<%= this_blog.canonical_server_url %>" />
35
+ </p>
32
36
  <p>
33
37
  <input name="setting[default_allow_comments]" id="default_allow_comments" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.default_allow_comments%> />
34
38
  <input name="setting[default_allow_comments]" type="hidden" value="0"/>
@@ -1,4 +1,4 @@
1
- <% @page_heading = 'Users' %>
1
+ <% @page_heading = "User: #{@user.name}" %>
2
2
 
3
3
  <% content_for('tasks') do %>
4
4
  <%= task_new 'Create new user' %>
@@ -16,3 +16,9 @@
16
16
  <label>Notify on new comments:</label> <span class="static"><%= @user.notify_on_comments? ? "yes" : "no" %></span><br/>
17
17
 
18
18
  </div>
19
+
20
+
21
+ <div class="list">
22
+ <h2>User's articles</h2>
23
+ <%= render :partial => 'admin/content/articles' %>
24
+ </div>
@@ -38,7 +38,7 @@
38
38
  <% if @article.comments.blank? %>
39
39
  <li id="dummy_comment" style="display: none"></li>
40
40
  <% else %>
41
- <%= render(:partial => "comment", :collection => @article.comments.to_a.select {|c| c.published? }) %>
41
+ <%= render(:partial => "comment", :collection => @article.published_comments) %>
42
42
  <% end %>
43
43
  </ol>
44
44
  <% end -%>
@@ -50,7 +50,7 @@
50
50
  <span class="light-bg"><%= server_url_for :controller=>"articles", :action=>"trackback", :id=>@article.id %></span>
51
51
  </p>
52
52
  <%= content_tag(:ol,
53
- render(:partial => "trackback", :collection => @article.trackbacks),
53
+ render(:partial => "trackback", :collection => @article.published_trackbacks),
54
54
  :id => 'trackbackList', :class => 'trackback-list') unless @article.trackbacks.blank? %>
55
55
  <% end -%>
56
56
 
data/bin/typo CHANGED
@@ -1,21 +1,22 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'installer/rails-installer'
3
+ require 'rails-installer'
4
4
 
5
5
  class TypoInstaller < RailsInstaller
6
6
  application_name 'typo'
7
7
  support_location 'the Typo mailing list'
8
- rails_version '1.1.4'
8
+ rails_version '1.1.5'
9
9
 
10
10
  def install_post_hook
11
11
  sweep_cache
12
12
  end
13
-
13
+
14
14
  # Sweep the cache
15
15
  def sweep_cache
16
- Dir.chdir(install_directory)
17
- message "Cleaning out #{@@app_name.capitalize}'s cache"
18
- status = system("rake -s sweep_cache > /dev/null 2> /dev/null")
16
+ in_directory install_directory do
17
+ message "Cleaning out #{@@app_name.capitalize}'s cache"
18
+ status = system_silently("rake -s sweep_cache")
19
+ end
19
20
  end
20
21
  end
21
22
 
@@ -18,6 +18,6 @@ class Plugins::Sidebars::RecentCommentsController < Sidebars::ComponentPlugin
18
18
  # setting :flag, true, :input_type => :checkbox
19
19
 
20
20
  def content
21
- @comments = Comment.find(:all, :limit => count, :order => 'created_at DESC' )
21
+ @comments = Comment.find(:all, :limit => count, :conditions => ['published = ?', true], :order => 'created_at DESC')
22
22
  end
23
23
  end
@@ -48,6 +48,8 @@ Rails::Initializer.run do |config|
48
48
  # config.active_record.observers = :cacher, :garbage_collector
49
49
  config.active_record.observers = :content_observer, :email_notifier, :web_notifier
50
50
 
51
+ config.active_record.allow_concurrency = true
52
+
51
53
  # Make Active Record use UTC-base instead of local time
52
54
  # config.active_record.default_timezone = :utc
53
55
 
@@ -1,7 +1,7 @@
1
1
  require 'bare_migration'
2
2
  class FixupForthcomingPublications < ActiveRecord::Migration
3
3
  class Trigger < ActiveRecord::Base
4
- belongs_to :pending_items, :polymorphic => true
4
+ belongs_to :pending_item, :polymorphic => true
5
5
  end
6
6
 
7
7
  class Content < ActiveRecord::Base
@@ -0,0 +1,31 @@
1
+ class RemoveCountCaching < ActiveRecord::Migration
2
+ class Content < ActiveRecord::Base
3
+ include BareMigration
4
+
5
+ def count_children_of_type(type)
6
+ self.class.find(:all,
7
+ :conditions => ["article_id = ? and type = ?",
8
+ self.id, type]).size
9
+ end
10
+
11
+ def correct_counts
12
+ self.comments_count = self.count_children_of_type('Comment')
13
+ self.trackbacks_count = self.count_children_of_type('Trackback')
14
+ end
15
+ end
16
+
17
+ def self.up
18
+ remove_column :contents, :comments_count
19
+ remove_column :contents, :trackbacks_count
20
+ end
21
+
22
+ def self.down
23
+ modify_tables_and_update(
24
+ [:add_column, Content, :comments_count, :integer],
25
+ [:add_column, Content, :trackbacks_count, :integer]) do |a|
26
+ if not $schema_generator
27
+ a.correct_counts
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,33 @@
1
+ class MoveFeedbackToNewStateMachine < ActiveRecord::Migration
2
+ class Content < ActiveRecord::Base
3
+ include BareMigration
4
+ end
5
+
6
+ def self.up
7
+ return if $schema_generator
8
+ Content.find(:all,
9
+ :conditions => ['type = ? or type = ?',
10
+ 'Trackback', 'Comment']).each do |c|
11
+ c.state = if c.published?
12
+ 'ContentState::PresumedHam'
13
+ else
14
+ 'ContentState::PresumedSpam'
15
+ end
16
+ c.save!
17
+ end
18
+ end
19
+
20
+ def self.down
21
+ return if $schema_generator
22
+ Content.find(:all,
23
+ :conditions => ['type = ? or type = ?',
24
+ 'Trackback', 'Comment']).each do |c|
25
+ c.state = if c.published?
26
+ 'ContentState::Published'
27
+ else
28
+ 'ContentState::Withdrawn'
29
+ end
30
+ c.save!
31
+ end
32
+ end
33
+ end
@@ -60,13 +60,12 @@ CREATE TABLE contents (
60
60
  `ip` varchar(40),
61
61
  `blog_name` varchar(255),
62
62
  `name` varchar(255),
63
- `comments_count` int(11),
64
- `trackbacks_count` int(11),
65
63
  `published` tinyint(1) DEFAULT 0,
66
64
  `allow_pings` tinyint(1),
67
65
  `allow_comments` tinyint(1),
68
66
  `blog_id` int(11) NOT NULL,
69
- `published_at` datetime
67
+ `published_at` datetime,
68
+ `state` text
70
69
  ) TYPE=MyISAM;
71
70
 
72
71
  CREATE TABLE notifications (
@@ -215,4 +214,4 @@ CREATE TABLE schema_info (
215
214
  `version` int(11)
216
215
  ) TYPE=MyISAM;
217
216
 
218
- insert into schema_info (version) values (46);
217
+ insert into schema_info (version) values (49);
@@ -60,13 +60,12 @@ CREATE TABLE contents (
60
60
  `ip` varchar(40),
61
61
  `blog_name` varchar(255),
62
62
  `name` varchar(255),
63
- `comments_count` int(11),
64
- `trackbacks_count` int(11),
65
63
  `published` tinyint(1) DEFAULT 0,
66
64
  `allow_pings` tinyint(1),
67
65
  `allow_comments` tinyint(1),
68
66
  `blog_id` int(11) NOT NULL,
69
- `published_at` datetime
67
+ `published_at` datetime,
68
+ `state` text
70
69
  ) ENGINE=InnoDB;
71
70
 
72
71
  CREATE TABLE notifications (
@@ -215,4 +214,4 @@ CREATE TABLE schema_info (
215
214
  `version` int(11)
216
215
  ) ENGINE=InnoDB;
217
216
 
218
- insert into schema_info (version) values (46);
217
+ insert into schema_info (version) values (49);
@@ -60,13 +60,12 @@ CREATE TABLE contents (
60
60
  "ip" character varying(40),
61
61
  "blog_name" character varying(255),
62
62
  "name" character varying(255),
63
- "comments_count" integer,
64
- "trackbacks_count" integer,
65
63
  "published" boolean DEFAULT 'f',
66
64
  "allow_pings" boolean,
67
65
  "allow_comments" boolean,
68
66
  "blog_id" integer NOT NULL,
69
- "published_at" timestamp
67
+ "published_at" timestamp,
68
+ "state" text
70
69
  );
71
70
 
72
71
  CREATE TABLE notifications (
@@ -215,4 +214,4 @@ CREATE TABLE schema_info (
215
214
  "version" integer
216
215
  );
217
216
 
218
- insert into schema_info (version) values (46);
217
+ insert into schema_info (version) values (49);
@@ -2,12 +2,12 @@
2
2
  # migrations feature of ActiveRecord to incrementally modify your database, and
3
3
  # then regenerate this schema definition.
4
4
 
5
- ActiveRecord::Schema.define(:version => 47) do
5
+ ActiveRecord::Schema.define(:version => 49) do
6
6
 
7
7
  create_table "articles_categories", :id => false, :force => true do |t|
8
8
  t.column "article_id", :integer
9
9
  t.column "category_id", :integer
10
- t.column "primary_item", :integer
10
+ t.column "is_primary", :integer
11
11
  end
12
12
 
13
13
  create_table "articles_tags", :id => false, :force => true do |t|
@@ -16,11 +16,11 @@ ActiveRecord::Schema.define(:version => 47) do
16
16
  end
17
17
 
18
18
  create_table "blacklist_patterns", :force => true do |t|
19
- t.column "type", :string, :limit => 15
19
+ t.column "type", :string
20
20
  t.column "pattern", :string
21
21
  end
22
22
 
23
- add_index "blacklist_patterns", ["pattern"], :name => "idx_blacklist_pattern"
23
+ add_index "blacklist_patterns", ["pattern"], :name => "blacklist_patterns_pattern_index"
24
24
 
25
25
  create_table "blogs", :force => true do |t|
26
26
  t.column "settings", :text
@@ -28,8 +28,7 @@ ActiveRecord::Schema.define(:version => 47) do
28
28
 
29
29
  create_table "categories", :force => true do |t|
30
30
  t.column "name", :string
31
- t.column "position", :integer, :default => 0, :null => false
32
- t.column "is_primary", :integer
31
+ t.column "position", :integer
33
32
  t.column "permalink", :string
34
33
  end
35
34
 
@@ -58,12 +57,10 @@ ActiveRecord::Schema.define(:version => 47) do
58
57
  t.column "ip", :string, :limit => 40
59
58
  t.column "blog_name", :string
60
59
  t.column "name", :string
61
- t.column "comments_count", :integer
62
- t.column "trackbacks_count", :integer
63
60
  t.column "published", :boolean, :default => false
64
61
  t.column "allow_pings", :boolean
65
62
  t.column "allow_comments", :boolean
66
- t.column "blog_id", :integer
63
+ t.column "blog_id", :integer, :null => false
67
64
  t.column "published_at", :datetime
68
65
  t.column "state", :text
69
66
  end
@@ -85,12 +82,12 @@ ActiveRecord::Schema.define(:version => 47) do
85
82
  add_index "page_caches", ["name"], :name => "page_caches_name_index"
86
83
 
87
84
  create_table "pings", :force => true do |t|
88
- t.column "article_id", :integer, :null => false
85
+ t.column "article_id", :integer
89
86
  t.column "url", :string
90
87
  t.column "created_at", :datetime
91
88
  end
92
89
 
93
- add_index "pings", ["article_id"], :name => "idx_pings_article_id"
90
+ add_index "pings", ["article_id"], :name => "pings_article_id_index"
94
91
 
95
92
  create_table "redirects", :force => true do |t|
96
93
  t.column "from_path", :string
@@ -124,10 +121,10 @@ ActiveRecord::Schema.define(:version => 47) do
124
121
  add_index "sessions", ["sessid"], :name => "sessions_sessid_index"
125
122
 
126
123
  create_table "sidebars", :force => true do |t|
127
- t.column "active_position", :integer
128
124
  t.column "controller", :string
125
+ t.column "active_position", :integer
126
+ t.column "config", :text
129
127
  t.column "staged_position", :integer
130
- t.column "config", :string, :limit => nil
131
128
  end
132
129
 
133
130
  create_table "tags", :force => true do |t|
@@ -153,8 +150,8 @@ ActiveRecord::Schema.define(:version => 47) do
153
150
  end
154
151
 
155
152
  create_table "users", :force => true do |t|
156
- t.column "login", :string, :limit => 40
157
- t.column "password", :string, :limit => 40
153
+ t.column "login", :string
154
+ t.column "password", :string
158
155
  t.column "email", :text
159
156
  t.column "name", :text
160
157
  t.column "notify_via_email", :boolean
@@ -165,6 +162,4 @@ ActiveRecord::Schema.define(:version => 47) do
165
162
  t.column "jabber", :string
166
163
  end
167
164
 
168
- add_index "users", ["login"], :name => "users_login_key", :unique => true
169
-
170
165
  end
@@ -60,13 +60,12 @@ CREATE TABLE contents (
60
60
  "ip" varchar(40),
61
61
  "blog_name" varchar(255),
62
62
  "name" varchar(255),
63
- "comments_count" integer,
64
- "trackbacks_count" integer,
65
63
  "published" boolean DEFAULT 'f',
66
64
  "allow_pings" boolean,
67
65
  "allow_comments" boolean,
68
66
  "blog_id" integer NOT NULL,
69
- "published_at" datetime
67
+ "published_at" datetime,
68
+ "state" text
70
69
  );
71
70
 
72
71
  CREATE TABLE notifications (
@@ -215,4 +214,4 @@ CREATE TABLE schema_info (
215
214
  "version" integer
216
215
  );
217
216
 
218
- insert into schema_info (version) values (46);
217
+ insert into schema_info (version) values (49);
@@ -64,13 +64,12 @@ CREATE TABLE contents (
64
64
  [ip] varchar(40),
65
65
  [blog_name] varchar(255),
66
66
  [name] varchar(255),
67
- [comments_count] int,
68
- [trackbacks_count] int,
69
67
  [published] bit DEFAULT 0,
70
68
  [allow_pings] bit,
71
69
  [allow_comments] bit,
72
70
  [blog_id] int NOT NULL,
73
- [published_at] datetime
71
+ [published_at] datetime,
72
+ [state] text
74
73
  );
75
74
 
76
75
  CREATE TABLE notifications (
@@ -229,4 +228,4 @@ CREATE TABLE schema_info (
229
228
  [version] int
230
229
  );
231
230
 
232
- insert into schema_info (version) values (46);
231
+ insert into schema_info (version) values (49);
@@ -1 +1 @@
1
- 46
1
+ 49
@@ -137,6 +137,10 @@ Troubleshooting
137
137
  You didn't install Swig before installing `sqlite3-ruby`. Uninstall the SQLite
138
138
  driver, install Swig, and then re-install `sqlite3-ruby`.
139
139
 
140
+ ### SQLite dies with "unsupported file format"
141
+
142
+ You have multiple versions of SQLite3 installed, and you're using the command-line tool from one with the library from the other. Most likely this is on OS X with Darwinports. Make sure that `/opt/local/bin` is ahead of `/usr/bin` in your path.
143
+
140
144
  ### MySQL fails with timeout errors
141
145
 
142
146
  Install the MySQL GEM. It's faster then Rails' default MySQL driver, and it
@@ -3,6 +3,10 @@ require 'jabber4r/jabber4r'
3
3
  class JabberNotify
4
4
  @@jabber = nil
5
5
 
6
+ def self.logger
7
+ @@logger ||= RAILS_DEFAULT_LOGGER || Logger.new(STDOUT)
8
+ end
9
+
6
10
  def self.send_message(user, subject, body, html)
7
11
  return if user.jabber.blank?
8
12
 
@@ -22,11 +26,11 @@ class JabberNotify
22
26
  def self.session
23
27
  return @@jabber if @@jabber
24
28
 
25
- address = this_blog.jabber_address
29
+ address = Blog.default.jabber_address
26
30
  unless address =~ /\//
27
31
  address = address + '/typo'
28
32
  end
29
33
 
30
- @@jabber ||= Jabber::Session.bind(address, this_blog.jabber_password)
34
+ @@jabber ||= Jabber::Session.bind(address, Blog.default.jabber_password)
31
35
  end
32
36
  end
@@ -63,7 +63,8 @@ module Sidebars
63
63
 
64
64
  class CheckBoxField < self
65
65
  def input_html(sidebar)
66
- check_box_tag(input_name(sidebar), 1, !sidebar.config[key].blank?, options)
66
+ check_box_tag(input_name(sidebar), 1, sidebar.config[key], options)+
67
+ hidden_field_tag(input_name(sidebar),0)
67
68
  end
68
69
 
69
70
  def line_html(sidebar)
@@ -1,7 +1,7 @@
1
1
  require 'rake/gempackagetask'
2
2
  require 'rake/contrib/rubyforgepublisher'
3
3
 
4
- PKG_VERSION = "4.0.0"
4
+ PKG_VERSION = "4.0.1"
5
5
  PKG_NAME = "typo"
6
6
  PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
7
7
  RUBY_FORGE_PROJECT = 'typo'
@@ -15,7 +15,8 @@ spec = Gem::Specification.new do |s|
15
15
  s.has_rdoc = false
16
16
 
17
17
  s.files = Dir.glob('**/*', File::FNM_DOTMATCH).reject do |f|
18
- [ /\.$/, /config\/database.yml$/, /config\database.yml-/,
18
+ [ /\.$/, /config\/database.yml$/, /config\/database.yml-/,
19
+ /database\.sqlite/,
19
20
  /\.log$/, /^pkg/, /\.svn/, /^vendor\/rails/,
20
21
  /^public\/(files|xml|articles|pages|index.html)/,
21
22
  /^public\/(stylesheets|javascripts|images)\/theme/, /\~$/,
@@ -29,10 +30,11 @@ spec = Gem::Specification.new do |s|
29
30
  s.platform = Gem::Platform::RUBY
30
31
  s.executables = ['typo']
31
32
 
32
- s.add_dependency("rails", "= 1.1.4")
33
+ s.add_dependency("rails", "= 1.1.5")
33
34
  s.add_dependency("mongrel", ">= 0.3.13.3")
34
35
  s.add_dependency("mongrel_cluster", ">= 0.2.0")
35
36
  s.add_dependency("sqlite3-ruby", ">= 1.1.0")
37
+ s.add_dependency("rails-app-installer", ">= 0.1.1")
36
38
  end
37
39
 
38
40
  Rake::GemPackageTask.new(spec) do |p|
@@ -41,7 +43,6 @@ Rake::GemPackageTask.new(spec) do |p|
41
43
  p.need_zip = true
42
44
  end
43
45
 
44
-
45
46
  desc "Publish the zip/tgz"
46
47
  task :leetsoft_upload => [:package] do
47
48
  Rake::SshFilePublisher.new("leetsoft.com", "dist/pkg", "pkg", "#{PKG_FILE_NAME}.zip").upload