typo 4.0.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
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