exception_string 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +1,14 @@
1
1
  History.txt
2
2
  Manifest.txt
3
- README.txt
3
+ README.rdoc
4
4
  Rakefile
5
5
  lib/exception_string.rb
6
6
  spec/.bacon
7
7
  spec/helper.rb
8
8
  spec/runner
9
9
  spec/spec_exception_string.rb
10
- tasks/ann.rake
11
10
  tasks/autospec.rake
11
+ tasks/bacon.rake
12
12
  tasks/bones.rake
13
13
  tasks/gem.rake
14
14
  tasks/git.rake
@@ -1,4 +1,4 @@
1
- exception_string
1
+ = exception_string
2
2
  by James Tucker
3
3
  http://ra66i.org
4
4
  http://github.com/raggi/exception_string
@@ -1,6 +1,6 @@
1
1
  module ExceptionString
2
2
 
3
- Version = VERSION = '0.1.1'
3
+ Version = VERSION = '0.1.2'
4
4
 
5
5
  def self.version
6
6
  Version
@@ -0,0 +1,7 @@
1
+ desc "Run the executable test specifications"
2
+ task :spec do
3
+ ruby 'spec/runner'
4
+ end
5
+
6
+ desc "Run the executable test specifications"
7
+ task :test => :spec
@@ -18,6 +18,9 @@ namespace :gem do
18
18
  PROJ.gem.dependencies.each do |dep|
19
19
  s.add_dependency(*dep)
20
20
  end
21
+ PROJ.gem.development_dependencies.each do |dep|
22
+ s.add_development_dependency(*dep)
23
+ end
21
24
 
22
25
  s.files = PROJ.gem.files
23
26
  s.executables = PROJ.gem.executables.map {|fn| File.basename(fn)}
@@ -114,6 +117,15 @@ namespace :gem do
114
117
  sh "#{SUDO} #{GEM} cleanup #{PROJ.gem._spec.name}"
115
118
  end
116
119
 
120
+ file "#{PROJ.name}.gemspec" => PROJ.gem._spec.files do |t|
121
+ open(t.name, 'w') { |f| f.write PROJ.gem._spec.to_ruby }
122
+ end
123
+ CLOBBER.include("#{PROJ.name}.gemspec")
124
+
125
+ desc 'Generate gemspec'
126
+ task :spec => "#{PROJ.name}.gemspec"
127
+ task :release => :spec
128
+
117
129
  end # namespace :gem
118
130
 
119
131
  desc 'Alias to gem:package'
@@ -3,9 +3,11 @@
3
3
  # This file does not define any rake tasks. It is used to load some project
4
4
  # settings if they are not defined by the user.
5
5
 
6
+ PROJ.rdoc.main ||= PROJ.readme_file
7
+ PROJ.rdoc.dir ||= File.join('doc', PROJ.name)
8
+
6
9
  PROJ.rdoc.exclude << "^#{Regexp.escape(PROJ.manifest_file)}$"
7
- PROJ.exclude << ["^#{Regexp.escape(PROJ.ann.file)}$",
8
- "^#{Regexp.escape(PROJ.rdoc.dir)}/",
10
+ PROJ.exclude << ["^#{Regexp.escape(PROJ.rdoc.dir)}/",
9
11
  "^#{Regexp.escape(PROJ.rcov.dir)}/"]
10
12
 
11
13
  flatten_arrays = lambda do |this,os|
@@ -34,6 +36,4 @@ PROJ.gem.files ||=
34
36
 
35
37
  PROJ.gem.executables ||= PROJ.gem.files.find_all {|fn| fn =~ %r/^bin/}
36
38
 
37
- PROJ.rdoc.main ||= PROJ.readme_file
38
-
39
39
  # EOF
@@ -46,7 +46,7 @@ namespace :doc do
46
46
  host = "#{config['username']}@rubyforge.org"
47
47
  remote_dir = "/var/www/gforge-projects/#{PROJ.rubyforge.name}/"
48
48
  remote_dir << PROJ.rdoc.remote_dir if PROJ.rdoc.remote_dir
49
- local_dir = PROJ.rdoc.dir
49
+ local_dir = File.dirname(PROJ.rdoc.dir)
50
50
 
51
51
  Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
52
52
  end
@@ -18,7 +18,8 @@ PROJ = OpenStruct.new(
18
18
  :email => nil,
19
19
  :url => "\000",
20
20
  :version => ENV['VERSION'] || '0.0.0',
21
- :exclude => %w(tmp$ bak$ ~$ CVS \.svn/ \.git/ ^pkg/),
21
+ :exclude => %w(tmp$ bak$ ~$ CVS \.git/ \.hg/ \.svn/ ^pkg/ ^doc/ \.DS_Store
22
+ \.hgignore \.gitignore \.dotest \.swp$ .*\.gemspec$),
22
23
  :release_name => ENV['RELEASE'],
23
24
 
24
25
  # System Defaults
@@ -26,28 +27,12 @@ PROJ = OpenStruct.new(
26
27
  :libs => [],
27
28
  :history_file => 'History.txt',
28
29
  :manifest_file => 'Manifest.txt',
29
- :readme_file => 'README.txt',
30
-
31
- # Announce
32
- :ann => OpenStruct.new(
33
- :file => 'announcement.txt',
34
- :text => nil,
35
- :paragraphs => [],
36
- :email => {
37
- :from => nil,
38
- :to => %w(ruby-talk@ruby-lang.org),
39
- :server => 'localhost',
40
- :port => 25,
41
- :domain => ENV['HOSTNAME'],
42
- :acct => nil,
43
- :passwd => nil,
44
- :authtype => :plain
45
- }
46
- ),
30
+ :readme_file => 'README.rdoc',
47
31
 
48
32
  # Gem Packaging
49
33
  :gem => OpenStruct.new(
50
34
  :dependencies => [],
35
+ :development_dependencies => ['rake', 'bones', 'bacon'],
51
36
  :executables => nil,
52
37
  :extensions => FileList['ext/**/extconf.rb'],
53
38
  :files => nil,
@@ -59,7 +44,7 @@ PROJ = OpenStruct.new(
59
44
  # File Annotations
60
45
  :notes => OpenStruct.new(
61
46
  :exclude => %w(^tasks/setup\.rb$),
62
- :extensions => %w(.txt .rb .erb) << '',
47
+ :extensions => %w(.txt .rb .erb .rdoc) << '',
63
48
  :tags => %w(FIXME OPTIMIZE TODO)
64
49
  ),
65
50
 
@@ -74,10 +59,10 @@ PROJ = OpenStruct.new(
74
59
  # Rdoc
75
60
  :rdoc => OpenStruct.new(
76
61
  :opts => [],
77
- :include => %w(^lib/ ^bin/ ^ext/ \.txt$),
62
+ :include => %w(^lib/ ^bin/ ^ext/ \.txt$ \.rdoc$),
78
63
  :exclude => %w(extconf\.rb$),
79
64
  :main => nil,
80
- :dir => 'doc',
65
+ :dir => nil,
81
66
  :remote_dir => nil
82
67
  ),
83
68
 
@@ -86,25 +71,10 @@ PROJ = OpenStruct.new(
86
71
  :name => "\000"
87
72
  ),
88
73
 
89
- # Rspec
90
- :spec => OpenStruct.new(
91
- :files => FileList['spec/**/*_spec.rb'],
92
- :opts => []
93
- ),
94
-
95
- # Subversion Repository
96
- :svn => OpenStruct.new(
97
- :root => nil,
98
- :path => '',
99
- :trunk => 'trunk',
100
- :tags => 'tags',
101
- :branches => 'branches'
102
- ),
103
-
104
- # Test::Unit
74
+ # Tests
105
75
  :test => OpenStruct.new(
106
- :files => FileList['test/**/test_*.rb'],
107
- :file => 'test/all.rb',
76
+ :files => FileList['{test,spec}/{{test,spec}_*.rb,*_spec.rb}'],
77
+ :file => '',
108
78
  :opts => []
109
79
  )
110
80
  )
@@ -166,7 +136,7 @@ HAVE_GIT = (Dir.entries(Dir.pwd).include?('.git') and
166
136
  # specified.
167
137
  #
168
138
  # changes = paragraphs_of('History.txt', 0..1).join("\n\n")
169
- # summary, *description = paragraphs_of('README.txt', 3, 3..8)
139
+ # summary, *description = paragraphs_of('README.rdoc', 3, 3..8)
170
140
  #
171
141
  def paragraphs_of( path, *paragraphs )
172
142
  title = String === paragraphs.first ? paragraphs.shift : nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exception_string
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Tucker
@@ -9,10 +9,39 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-29 00:00:00 -04:00
12
+ date: 2009-01-16 00:00:00 +00:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: bones
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: bacon
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
16
45
  description: Provides clean exception formatting as a string, which resembles native output formats for back-traces that kill the interpreter. Whilst there are shorter, simpler ways to format ruby exceptions, this format is almost as short, but provides the format that young ruby programmers will be familiar with, and can be used to keep logs and output data consistent with other areas of the platform. At present the only provided format is that which is generated by MRI 1.8.x.
17
46
  email: raggi@rubyforge.org
18
47
  executables: []
@@ -21,19 +50,19 @@ extensions: []
21
50
 
22
51
  extra_rdoc_files:
23
52
  - History.txt
24
- - README.txt
53
+ - README.rdoc
25
54
  files:
26
55
  - History.txt
27
56
  - Manifest.txt
28
- - README.txt
57
+ - README.rdoc
29
58
  - Rakefile
30
59
  - lib/exception_string.rb
31
60
  - spec/.bacon
32
61
  - spec/helper.rb
33
62
  - spec/runner
34
63
  - spec/spec_exception_string.rb
35
- - tasks/ann.rake
36
64
  - tasks/autospec.rake
65
+ - tasks/bacon.rake
37
66
  - tasks/bones.rake
38
67
  - tasks/gem.rake
39
68
  - tasks/git.rake
@@ -48,7 +77,7 @@ homepage: http://github.com/raggi/exception_string
48
77
  post_install_message:
49
78
  rdoc_options:
50
79
  - --main
51
- - README.txt
80
+ - README.rdoc
52
81
  require_paths:
53
82
  - lib
54
83
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -70,5 +99,5 @@ rubygems_version: 1.3.1
70
99
  signing_key:
71
100
  specification_version: 2
72
101
  summary: Provides clean exception formatting as a string, which resembles native output formats for back-traces that kill the interpreter
73
- test_files: []
74
-
102
+ test_files:
103
+ - spec/spec_exception_string.rb
@@ -1,81 +0,0 @@
1
- # $Id$
2
-
3
- begin
4
- require 'bones/smtp_tls'
5
- rescue LoadError
6
- require 'net/smtp'
7
- end
8
- require 'time'
9
-
10
- namespace :ann do
11
-
12
- # A prerequisites task that all other tasks depend upon
13
- task :prereqs
14
-
15
- file PROJ.ann.file do
16
- ann = PROJ.ann
17
- puts "Generating #{ann.file}"
18
- File.open(ann.file,'w') do |fd|
19
- fd.puts("#{PROJ.name} version #{PROJ.version}")
20
- fd.puts(" by #{Array(PROJ.authors).first}") if PROJ.authors
21
- fd.puts(" #{PROJ.url}") if PROJ.url.valid?
22
- fd.puts(" (the \"#{PROJ.release_name}\" release)") if PROJ.release_name
23
- fd.puts
24
- fd.puts("== DESCRIPTION")
25
- fd.puts
26
- fd.puts(PROJ.description)
27
- fd.puts
28
- fd.puts(PROJ.changes.sub(%r/^.*$/, '== CHANGES'))
29
- fd.puts
30
- ann.paragraphs.each do |p|
31
- fd.puts "== #{p.upcase}"
32
- fd.puts
33
- fd.puts paragraphs_of(PROJ.readme_file, p).join("\n\n")
34
- fd.puts
35
- end
36
- fd.puts ann.text if ann.text
37
- end
38
- end
39
-
40
- desc "Create an announcement file"
41
- task :announcement => ['ann:prereqs', PROJ.ann.file]
42
-
43
- desc "Send an email announcement"
44
- task :email => ['ann:prereqs', PROJ.ann.file] do
45
- ann = PROJ.ann
46
- from = ann.email[:from] || PROJ.email
47
- to = Array(ann.email[:to])
48
-
49
- ### build a mail header for RFC 822
50
- rfc822msg = "From: #{from}\n"
51
- rfc822msg << "To: #{to.join(',')}\n"
52
- rfc822msg << "Subject: [ANN] #{PROJ.name} #{PROJ.version}"
53
- rfc822msg << " (#{PROJ.release_name})" if PROJ.release_name
54
- rfc822msg << "\n"
55
- rfc822msg << "Date: #{Time.new.rfc822}\n"
56
- rfc822msg << "Message-Id: "
57
- rfc822msg << "<#{"%.8f" % Time.now.to_f}@#{ann.email[:domain]}>\n\n"
58
- rfc822msg << File.read(ann.file)
59
-
60
- params = [:server, :port, :domain, :acct, :passwd, :authtype].map do |key|
61
- ann.email[key]
62
- end
63
-
64
- params[3] = PROJ.email if params[3].nil?
65
-
66
- if params[4].nil?
67
- STDOUT.write "Please enter your e-mail password (#{params[3]}): "
68
- params[4] = STDIN.gets.chomp
69
- end
70
-
71
- ### send email
72
- Net::SMTP.start(*params) {|smtp| smtp.sendmail(rfc822msg, from, to)}
73
- end
74
- end # namespace :ann
75
-
76
- desc 'Alias to ann:announcement'
77
- task :ann => 'ann:announcement'
78
-
79
- CLOBBER << PROJ.ann.file
80
-
81
- # EOF