darkhelmet-darkext 0.9.7 → 0.10.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/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :minor: 9
3
- :patch: 7
2
+ :minor: 10
3
+ :patch: 0
4
4
  :major: 0
@@ -0,0 +1,52 @@
1
+ require 'rbconfig'
2
+
3
+ class SinatraAppGenerator < RubiGen::Base
4
+ DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
5
+ Config::CONFIG['ruby_install_name'])
6
+
7
+ default_options(:shebang => DEFAULT_SHEBANG)
8
+
9
+ attr_accessor :app_name, :module_name, :app_name_fixed
10
+
11
+ def initialize(runtime_args, runtime_options = {})
12
+ super
13
+ usage if args.empty?
14
+ @destination_root = args.shift
15
+ self.app_name = File.basename(File.expand_path(@destination_root))
16
+ self.app_name_fixed = self.app_name.split('-').map(&:capitalize).join
17
+ self.module_name = app_name.camelize
18
+ end
19
+
20
+ def manifest
21
+ # Use /usr/bin/env if no special shebang was specified
22
+ script_options = { :chmod => 0755, :shebang => options[:shebang] == DEFAULT_SHEBANG ? nil : options[:shebang] }
23
+ windows = (RUBY_PLATFORM =~ /dos|win32|cygwin/i) || (RUBY_PLATFORM =~ /(:?mswin|mingw)/)
24
+
25
+ record do |m|
26
+ # Root directory and all subdirectories.
27
+ m.directory('')
28
+ %w(lib public views).each { |path| m.directory(path) }
29
+ %w(get put post delete).each do |path|
30
+ m.template('http_method.rb', "lib/#{path}.rb", :assigns => { :method => path })
31
+ end
32
+ m.template('helpers.rb', 'lib/helpers.rb')
33
+ m.template('options.rb', 'lib/options.rb')
34
+ m.template('error.rb', 'lib/error.rb')
35
+ m.template('app.rb', "#{app_name}.rb", script_options)
36
+ #m.dependency "install_rubigen_scripts", [destination_root, "rubygems"], :shebang => options[:shebang]
37
+ end
38
+ end
39
+
40
+ protected
41
+ def banner
42
+ "Create a stub for #{File.basename $0} to get started."
43
+ end
44
+
45
+ def add_options!(opts)
46
+ opts.separator ''
47
+ opts.separator 'Options:'
48
+ opts.on("-r", "--ruby=path", String,
49
+ "Path to the Ruby binary of your choice (otherwise scripts use env, dispatchers current path).",
50
+ "Default: #{DEFAULT_SHEBANG}") { |v| options[:shebang] = v }
51
+ end
52
+ end
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ %w(rubygems sinatra/base darkext darkext/sinatra).each { |lib| require lib }
4
+ Dir['lib/*.rb'].each { |file| load file }
5
+
6
+ load 'local_options.rb' if File.exists?('local_options.rb')
7
+
8
+ class <%= app_name_fixed %>Site < Sinatra::Default
9
+ set(:app_file, File.expand_path(__FILE__))
10
+ register Sinatra::DarkHelpers
11
+ <% for lib in %w(Options Helpers Error Get Post Put Delete) %>
12
+ register Sinatra::<%= app_name_fixed %><%= lib %><% end %>
13
+ register Sinatra::LocalOptions unless defined?(Sinatra::LocalOptions).nil?
14
+ end
15
+
16
+ <%= app_name_fixed %>Site.run! if __FILE__ == $0
@@ -0,0 +1,8 @@
1
+ module Sinatra
2
+ module <%= app_name_fixed %>Error
3
+ def self.registered(app)
4
+ end
5
+ end
6
+
7
+ register <%= app_name_fixed %>Error
8
+ end
@@ -0,0 +1,12 @@
1
+ module Sinatra
2
+ module <%= app_name_fixed %>Helpers
3
+ module HelperMethods
4
+ end
5
+
6
+ def self.registered(app)
7
+ app.helpers(HelperMethods)
8
+ end
9
+ end
10
+
11
+ register <%= app_name_fixed %>Helpers
12
+ end
@@ -0,0 +1,8 @@
1
+ module Sinatra
2
+ module <%= app_name_fixed %><%= method.capitalize %>
3
+ def self.registered(app)
4
+ end
5
+ end
6
+
7
+ register <%= app_name_fixed %><%= method.capitalize %>
8
+ end
@@ -0,0 +1,9 @@
1
+ module Sinatra
2
+ module <%= app_name_fixed %>Options
3
+ def self.registered(app)
4
+ app.set(:site_name,<%= "'#{app_name_fixed}'" %>)
5
+ end
6
+ end
7
+
8
+ register <%= app_name_fixed %>Options
9
+ end
data/bin/sinatra-app ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'rubigen'
5
+
6
+ if %w(-v --version).include? ARGV.first
7
+ require 'newgem/version'
8
+ puts "#{File.basename($0)} #{Newgem::VERSION}"
9
+ exit(0)
10
+ end
11
+
12
+ require 'rubigen/scripts/generate'
13
+ RubiGen::Base.use_application_sources!
14
+ RubiGen::Scripts::Generate.new.run(ARGV, :generator => 'SinatraApp')
@@ -17,16 +17,16 @@ module Beagle
17
17
  loop do
18
18
  line = @io.gets
19
19
  break if line.nil?
20
+ line.chomp!
21
+ break if line.empty? && 0 < result.keys.size
20
22
  if !line.include?('=') || line.starts_with?(' Snip')
21
23
  parts = line.split(':')
22
24
  k = parts.shift.strip
23
- break if result.keys.include?(k)
24
25
  v = parts.join(':').strip
25
26
  result[k] = v unless k.empty? || v.empty?
26
27
  elsif line.include?('=')
27
28
  k,v = line.split('=')
28
29
  k = k.split(':').last.strip
29
- break if result.keys.include?(k)
30
30
  v = v.gsub("'",'').strip
31
31
  result[k] = v unless k.empty? || v.empty?
32
32
  end
@@ -71,7 +71,7 @@ module Beagle
71
71
  args << '--verbose'
72
72
  args << '--max-hits'
73
73
  args << max_hits.to_s
74
- args << query
74
+ args << "\"#{query.gsub('"','\"')}\""
75
75
  return BeagleResultsHelper.new(IO.popen(args.join(' ')))
76
76
  end
77
77
 
data/lib/darkext/net.rb CHANGED
@@ -1,8 +1,19 @@
1
1
  require 'net/http'
2
2
 
3
3
  module Net
4
- def self.download(url)
5
- Net::HTTP.get_response(URI.parse(url))
4
+ def self.download(url,limit = 10)
5
+ raise ArgumentError, 'HTTP redirect too deep' if limit == 0
6
+ #url = URI.parse(url)
7
+ #req = Net::HTTP::Get.new(url.path)
8
+ #req['User-Agent'] = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.10 (intrepid) Firefox/3.0.7"
9
+ #resp = Net::HTTP.new(url.host, url.port).start { |http| http.request(req) }
10
+ resp = Net::HTTP.get_response(URI.parse(url))
11
+ case resp
12
+ when Net::HTTPSuccess then resp
13
+ when Net::HTTPRedirection then download(resp['location'], limit - 1)
14
+ else
15
+ resp.error!
16
+ end
6
17
  end
7
18
 
8
19
  def self.download_and_save(url,path = nil)
@@ -12,6 +23,6 @@ module Net
12
23
  path = File.expand_path(path)
13
24
  end
14
25
  resp = download(url)
15
- open(path,'w') { |file| file.write(resp) } if resp.to_s.include?('HTTPOK')
26
+ open(path,'w') { |file| file.write(resp.body) } if resp.is_a?(Net::HTTPSuccess)
16
27
  end
17
28
  end
@@ -1,6 +1,11 @@
1
1
  class Object
2
2
  def try(*args, &block)
3
- return if self.nil?
3
+ return nil if self.nil?
4
4
  block.given? ? yield(self) : self.__send__(args.shift, *args)
5
5
  end
6
+
7
+ def tap
8
+ yield(self)
9
+ return self
10
+ end
6
11
  end
@@ -61,8 +61,9 @@ module Sinatra
61
61
  end
62
62
 
63
63
  def self.registered(app)
64
- app.helpers HelperMethods
64
+ app.helpers(HelperMethods)
65
65
  app.disable(:slash)
66
+ app.set(:site_base, '/')
66
67
  app.enable(:sessions)
67
68
  end
68
69
  end
data/spec/spec.opts ADDED
@@ -0,0 +1,2 @@
1
+ --diff
2
+ --color
@@ -1,11 +1,10 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
1
+ require File.dirname(__FILE__) + '/helper.rb'
2
2
 
3
3
  class TestDarkext < Test::Unit::TestCase
4
-
5
4
  def setup
6
5
  end
7
-
6
+
8
7
  def test_truth
9
- assert true
8
+ assert(true)
10
9
  end
11
10
  end
@@ -1,3 +1,4 @@
1
+ require 'rubygems'
1
2
  require 'stringio'
2
3
  require 'test/unit'
3
4
  require File.dirname(__FILE__) + '/../lib/darkext'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: darkhelmet-darkext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Huckstep
@@ -9,22 +9,30 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-02 00:00:00 -08:00
13
- default_executable:
12
+ date: 2009-03-18 00:00:00 -07:00
13
+ default_executable: sinatra-app
14
14
  dependencies: []
15
15
 
16
16
  description: Just some useful Ruby functionality. No particular focus, except usefulness
17
17
  email: darkhelmet@darkhelmetlive.com
18
- executables: []
19
-
18
+ executables:
19
+ - sinatra-app
20
20
  extensions: []
21
21
 
22
- extra_rdoc_files: []
23
-
22
+ extra_rdoc_files:
23
+ - README.rdoc
24
24
  files:
25
25
  - VERSION.yml
26
26
  - README.rdoc
27
27
  - History.txt
28
+ - bin/sinatra-app
29
+ - app_generators/sinatra_app_generator.rb
30
+ - app_generators/templates
31
+ - app_generators/templates/http_method.rb
32
+ - app_generators/templates/app.rb
33
+ - app_generators/templates/helpers.rb
34
+ - app_generators/templates/options.rb
35
+ - app_generators/templates/error.rb
28
36
  - lib/darkext
29
37
  - lib/darkext/numeric.rb
30
38
  - lib/darkext/string.rb
@@ -43,8 +51,9 @@ files:
43
51
  - lib/darkext/float.rb
44
52
  - lib/darkext/integer.rb
45
53
  - lib/darkext.rb
46
- - test/test_helper.rb
47
- - test/test_darkext.rb
54
+ - test/helper.rb
55
+ - test/darkext_test.rb
56
+ - spec/spec.opts
48
57
  has_rdoc: true
49
58
  homepage: http://github.com/darkhelmet/darkext
50
59
  post_install_message:
@@ -70,7 +79,7 @@ requirements: []
70
79
  rubyforge_project:
71
80
  rubygems_version: 1.2.0
72
81
  signing_key:
73
- specification_version: 2
82
+ specification_version: 3
74
83
  summary: Just some useful Ruby functionality
75
84
  test_files: []
76
85