gemsonrails 0.4.4 → 0.5.0

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