gemstub 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/bin/gemstub +44 -4
  2. metadata +2 -2
data/bin/gemstub CHANGED
@@ -1,9 +1,25 @@
1
1
  require 'fileutils'
2
+ require 'optparse'
3
+ require 'optparse/time'
4
+ require 'ostruct'
5
+ require 'pp'
2
6
  require "active_support"
3
7
 
4
8
  app = ARGV[0]
5
9
  raise "You must specify a name for this gem!" if app.nil?
6
10
 
11
+ options = OpenStruct.new
12
+ options.binary = false
13
+
14
+ opts = OptionParser.new do |opts|
15
+ opts.banner = "Usage: example.rb [options]"
16
+
17
+ opts.on("-b") do
18
+ options.binary = true
19
+ end
20
+
21
+ end
22
+
7
23
  app = app.downcase.gsub(" ", "_")
8
24
 
9
25
  puts "create directory: #{app}"
@@ -44,9 +60,31 @@ gem_spec = Gem::Specification.new do |s|
44
60
 
45
61
  s.files = FileList['lib/**/*.rb', 'README', 'doc/**/*.*']
46
62
  s.require_paths << 'lib'
47
- s.autorequire = ['#{app}']
63
+
64
+ s.autorequire = []
65
+
66
+ ["lib"].each do |dir|
67
+ Find.find(dir) do |f|
68
+ if FileTest.directory?(f) and !f.match(/.svn/)
69
+ s.require_paths << f
70
+ else
71
+ if FileTest.file?(f)
72
+ m = f.match(/\/[a-zA-Z-_]*.rb/)
73
+ if m
74
+ model = m.to_s
75
+ unless model.match("test_")
76
+ x = model.gsub('/', '').gsub('.rb', '')
77
+ s.autorequire << x
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ s.autorequire.uniq!
85
+
48
86
  s.bindir = "bin"
49
- #s.executables = "#{app}"
87
+ #{options.binary ? "" : "#"}s.executables = "#{app}"
50
88
  #s.default_executable = ""
51
89
  #s.add_dependency("", "")
52
90
  #s.add_dependency("", "")
@@ -84,8 +122,10 @@ README
84
122
  }.strip
85
123
  end
86
124
 
87
- puts "creating #{app}/lib/#{app}.rb"
88
- File.open("#{app}/lib/#{app}.rb", "w") do |file|
125
+ ldir = options.binary ? "bin" : "lib"
126
+ fext = options.binary ? "" : ".rb"
127
+ puts "creating #{app}/#{ldir}/#{app}#{fext}"
128
+ File.open("#{app}/#{ldir}/#{app}#{fext}", "w") do |file|
89
129
  file << ""
90
130
  end
91
131
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: gemstub
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.0.1
7
- date: 2007-04-17 00:00:00 -04:00
6
+ version: 1.0.2
7
+ date: 2007-06-04 00:00:00 -04:00
8
8
  summary: "Gemstub is a very simple tool for creating the stub code you need to build a gem. Usage: at a command prompt simply type: gemstub your_gem_name_here That's it, after that, you all you have to do is the actual coding of your gem! Enjoy!"
9
9
  require_paths:
10
10
  - lib