gemsonrails 0.4.4 → 0.5.0

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.
data/History.txt ADDED
@@ -0,0 +1,14 @@
1
+ +++ 0.5.0 2007-05-06
2
+
3
+ + 1 major enhancement:
4
+ + Refactored internals to use newgem/hoe structure
5
+
6
+ +++ 0.4.4 2007-05-06
7
+
8
+ + 1 minor improvement:
9
+ + Generated init.rb includes default #require statement
10
+
11
+ +++ 0.4.3
12
+
13
+ + 1 bugfix:
14
+ + Work around for RubyGems 0.9.X bug for unpack(dir) - now passes absolute path.
data/Manifest.txt ADDED
@@ -0,0 +1,21 @@
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ Rakefile
5
+ bin/gemsonrails
6
+ lib/gemsonrails.rb
7
+ lib/gemsonrails/version.rb
8
+ scripts/txt2html
9
+ setup.rb
10
+ templates/init.rb
11
+ templates/tasks_gems_freeze.rake
12
+ templates/tasks_gems_link.rake
13
+ templates/tasks_gems_unfreeze.rake
14
+ templates/tasks_load_tasks_in_gems.rake
15
+ test/test_gemsonrails.rb
16
+ test/test_helper.rb
17
+ website/index.html
18
+ website/index.txt
19
+ website/javascripts/rounded_corners_lite.inc.js
20
+ website/stylesheets/screen.css
21
+ website/template.rhtml
File without changes
data/Rakefile CHANGED
@@ -1,81 +1,89 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'rake/clean'
4
- require 'rake/packagetask'
5
- require 'rake/gempackagetask'
6
- require 'rake/rdoctask'
7
- require 'rake/contrib/rubyforgepublisher'
8
- require 'fileutils'
9
- include FileUtils
10
- require File.join(File.dirname(__FILE__), 'lib', 'gemsonrails', 'version')
11
-
12
- AUTHOR = "Dr Nic Williams"
13
- EMAIL = "drnicwilliams@gmail.com"
14
- DESCRIPTION = "Link or freeze RubyGems into your rails apps, instead of plugins"
15
- HOMEPATH = 'http://gemsonrails.rubyforge.org'
16
- BIN_FILES = %w( gemsonrails )
17
- RUBYFORGE_PROJECT = 'gemsonrails'
18
-
19
-
20
- NAME = "gemsonrails"
21
- REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
22
- VERS = ENV['VERSION'] || (GemsOnRails::VERSION::STRING + (REV ? ".#{REV}" : ""))
23
- CLEAN.include ['**/.*.sw?', '*.gem', '.config']
24
- RDOC_OPTS = ['--quiet', '--title', "gemsonrails documentation",
25
- "--opname", "index.html",
26
- "--line-numbers",
27
- "--main", "README",
28
- "--inline-source"]
29
-
30
- desc "Packages up gemsonrails gem."
31
- task :default => [:test]
32
- task :package => [:clean]
33
-
34
- task :test do
35
- require File.dirname(__FILE__) + '/test/all_tests.rb'
36
- end
37
-
38
- spec =
39
- Gem::Specification.new do |s|
40
- s.name = NAME
41
- s.version = VERS
42
- s.platform = Gem::Platform::RUBY
43
- s.rubyforge_project = RUBYFORGE_PROJECT
44
- s.has_rdoc = true
45
- s.extra_rdoc_files = ["README", "CHANGELOG"]
46
- s.rdoc_options += RDOC_OPTS + ['--exclude', '^(examples|extras)/']
47
- s.summary = DESCRIPTION
48
- s.description = DESCRIPTION
49
- s.author = AUTHOR
50
- s.email = EMAIL
51
- s.homepage = HOMEPATH
52
- s.executables = BIN_FILES
53
- s.bindir = "bin"
54
- s.require_path = "lib"
55
-
56
- #s.add_dependency('activesupport', '>=1.3.1')
57
- #s.required_ruby_version = '>= 1.8.2'
58
-
59
- s.files = %w(README CHANGELOG Rakefile) +
60
- Dir.glob("{bin,doc,test,lib,templates,extras,website,script}/**/*") +
61
- Dir.glob("ext/**/*.{h,c,rb}") +
62
- Dir.glob("examples/**/*.rb") +
63
- Dir.glob("tools/*.rb")
64
-
65
- # s.extensions = FileList["ext/**/extconf.rb"].to_a
66
- end
67
-
68
- Rake::GemPackageTask.new(spec) do |p|
69
- #p.need_tar = true
70
- p.gem_spec = spec
71
- end
72
-
73
- task :install do
74
- name = "#{NAME}-#{VERS}.gem"
75
- sh %{rake package}
76
- sh %{sudo gem install pkg/#{name}}
77
- end
78
-
79
- task :uninstall => [:clean] do
80
- sh %{sudo gem uninstall #{NAME}}
81
- end
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/clean'
4
+ require 'rake/testtask'
5
+ require 'rake/packagetask'
6
+ require 'rake/gempackagetask'
7
+ require 'rake/rdoctask'
8
+ require 'rake/contrib/rubyforgepublisher'
9
+ require 'fileutils'
10
+ require 'hoe'
11
+ include FileUtils
12
+ require File.join(File.dirname(__FILE__), 'lib', 'gemsonrails', 'version')
13
+
14
+ AUTHOR = 'nicwilliams' # can also be an array of Authors
15
+ EMAIL = "your contact email for bug fixes and info"
16
+ DESCRIPTION = "Link or freeze RubyGems into your rails apps, instead of plugins"
17
+ GEM_NAME = 'gemsonrails' # what ppl will type to install your gem
18
+ RUBYFORGE_PROJECT = 'gemsonrails' # The unix name for your project
19
+ HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
20
+ DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
21
+
22
+ NAME = "gemsonrails"
23
+ REV = nil # UNCOMMENT IF REQUIRED: File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
24
+ VERS = GemsOnRails::VERSION::STRING + (REV ? ".#{REV}" : "")
25
+ CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']
26
+ RDOC_OPTS = ['--quiet', '--title', 'gemsonrails documentation',
27
+ "--opname", "index.html",
28
+ "--line-numbers",
29
+ "--main", "README",
30
+ "--inline-source"]
31
+
32
+ class Hoe
33
+ def extra_deps
34
+ @extra_deps.reject { |x| Array(x).first == 'hoe' }
35
+ end
36
+ end
37
+
38
+ # Generate all the Rake tasks
39
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
40
+ hoe = Hoe.new(GEM_NAME, VERS) do |p|
41
+ p.author = AUTHOR
42
+ p.description = DESCRIPTION
43
+ p.email = EMAIL
44
+ p.summary = DESCRIPTION
45
+ p.url = HOMEPATH
46
+ p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
47
+ p.test_globs = ["test/**/test_*.rb"]
48
+ p.clean_globs = CLEAN #An array of file patterns to delete on clean.
49
+
50
+ # == Optional
51
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
52
+ #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
53
+ #p.spec_extras = {} # A hash of extra values to set in the gemspec.
54
+ end
55
+
56
+
57
+ desc 'Generate website files'
58
+ task :website_generate do
59
+ Dir['website/**/*.txt'].each do |txt|
60
+ sh %{ ruby scripts/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
61
+ end
62
+ end
63
+
64
+ desc 'Upload website files to rubyforge'
65
+ task :website_upload do
66
+ config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
67
+ host = "#{config["username"]}@rubyforge.org"
68
+ remote_dir = "/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/"
69
+ # remote_dir = "/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
70
+ local_dir = 'website'
71
+ sh %{rsync -av #{local_dir}/ #{host}:#{remote_dir}}
72
+ end
73
+
74
+ desc 'Generate and upload website files'
75
+ task :website => [:website_generate, :website_upload]
76
+
77
+ desc 'Release the website and new gem version'
78
+ task :deploy => [:check_version, :website, :release]
79
+
80
+ task :check_version do
81
+ unless ENV['VERSION']
82
+ puts 'Must pass a VERSION=x.y.z release version'
83
+ exit
84
+ end
85
+ unless ENV['VERSION'] == VERS
86
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
87
+ exit
88
+ end
89
+ end
@@ -1,8 +1,8 @@
1
1
  module GemsOnRails #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 4
5
- TINY = 4
4
+ MINOR = 5
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/scripts/txt2html ADDED
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'redcloth'
5
+ require 'syntax/convertors/html'
6
+ require 'erb'
7
+ require File.dirname(__FILE__) + '/../lib/gemsonrails/version.rb'
8
+
9
+ version = GemsOnRails::VERSION::STRING
10
+ download = 'http://rubyforge.org/projects/gemsonrails'
11
+
12
+ class Fixnum
13
+ def ordinal
14
+ # teens
15
+ return 'th' if (10..19).include?(self % 100)
16
+ # others
17
+ case self % 10
18
+ when 1: return 'st'
19
+ when 2: return 'nd'
20
+ when 3: return 'rd'
21
+ else return 'th'
22
+ end
23
+ end
24
+ end
25
+
26
+ class Time
27
+ def pretty
28
+ return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
29
+ end
30
+ end
31
+
32
+ def convert_syntax(syntax, source)
33
+ return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
34
+ end
35
+
36
+ if ARGV.length >= 1
37
+ src, template = ARGV
38
+ template ||= File.dirname(__FILE__) + '/../website/template.rhtml'
39
+
40
+ else
41
+ puts("Usage: #{File.split($0).last} source.txt [template.rhtml] > output.html")
42
+ exit!
43
+ end
44
+
45
+ template = ERB.new(File.open(template).read)
46
+
47
+ title = nil
48
+ body = nil
49
+ File.open(src) do |fsrc|
50
+ title_text = fsrc.readline
51
+ body_text = fsrc.read
52
+ syntax_items = []
53
+ body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</>!m){
54
+ ident = syntax_items.length
55
+ element, syntax, source = $1, $2, $3
56
+ syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, source)}</#{element}>"
57
+ "syntax-temp-#{ident}"
58
+ }
59
+ title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
60
+ body = RedCloth.new(body_text).to_html
61
+ body.gsub!(%r!(?:<pre><code>)?syntax-temp-(d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
62
+ end
63
+ stat = File.stat(src)
64
+ created = stat.ctime
65
+ modified = stat.mtime
66
+
67
+ $stdout << template.result(binding)