padrino-core 0.6.7 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -389,6 +389,32 @@ An application can explicitly enable / disable reloading through the use of opti
389
389
 
390
390
  By default, reloading is enabled in development and disabled in the test and production environments.
391
391
 
392
+ If you want to build a standalone app you need to take some precautions see example:
393
+
394
+ # simple_demo.rb
395
+ PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
396
+ require 'padrino-core'
397
+
398
+ class SimpleDemo < Padrino::Application
399
+ set :reload, true
400
+
401
+ get "/" do
402
+ "This is a simple Demo!!!"
403
+ end
404
+ end
405
+
406
+ Padrino.mount_core("SimpleDemo")
407
+
408
+ Padrino.run! unless Padrino.loaded? # If you enable reloader prevent to re-run the app
409
+
410
+ Padrino.load!
411
+
412
+ Now you can run simple_demo.rb with:
413
+
414
+ $ ruby simple_demo.rb
415
+
416
+ Browse http://localhost:3000 edit your file and refresh your page for see changes!
417
+
392
418
  === Terminal Commands
393
419
 
394
420
  Padrino also comes equipped with multiple useful terminal commands which can be activated to perform
@@ -415,6 +441,29 @@ The following commands are available:
415
441
 
416
442
  Using these commands can simplify common tasks making development that much smoother.
417
443
 
444
+ === Special Folders
445
+
446
+ Padrino load these paths:
447
+
448
+ project/lib
449
+ project/models
450
+ project/shared/lib
451
+ project/shared/models
452
+ project/each_app/models
453
+
454
+ This mean that you are free to store for example +models+ where you prefer, if you have two or more apps with same
455
+ models you can use +project+/+shared+/+models+ or +root+/+models+.
456
+
457
+ If you have only one app you still use +project+/+app+/+models+ (this is the default padrino-gen choice)
458
+
459
+ Remember that if you need to load other paths you can use:
460
+
461
+ Padrino.set_load_paths("path/one")
462
+
463
+ and if you need to load dependencies use:
464
+
465
+ Padrino.require_dependencies("path/one/**/*.rb")
466
+
418
467
  == Copyright
419
468
 
420
469
  Copyright (c) 2010 Padrino. See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.7
1
+ 0.7.0
data/lib/padrino-core.rb CHANGED
@@ -42,7 +42,7 @@ module Padrino
42
42
  #
43
43
  def set_encoding
44
44
  unless RUBY_VERSION >= '1.9'
45
- $KCODE = 'UTF8' if $KCODE == 'NONE' || $KCODE.blank?
45
+ $KCODE = 'U' if $KCODE == 'NONE' || $KCODE.blank?
46
46
  end
47
47
  nil
48
48
  end
@@ -188,7 +188,7 @@ module Padrino
188
188
  unless options.static? && options.public? && (request.get? || request.head?) && static_file?(request.path_info)
189
189
  request.path_info =~ /\.([^\.\/]+)$/
190
190
  @_content_type = ($1 || :html).to_sym
191
- content_type(@_content_type) rescue content_type('application/octet-stream')
191
+ content_type(@_content_type, :charset => 'utf-8') rescue content_type('application/octet-stream')
192
192
  end
193
193
  end
194
194
  end
@@ -296,7 +296,7 @@ module Padrino
296
296
  path += "/" unless path =~ /\/$/
297
297
  path += Array(params).collect(&:inspect).join("/")
298
298
  end
299
-
299
+
300
300
  # Now we need to parse our respond_to
301
301
  if format = options.delete(:respond_to)
302
302
  path += case format
@@ -309,10 +309,10 @@ module Padrino
309
309
  else ".{:format,#{format}}"
310
310
  end
311
311
  end
312
-
312
+
313
313
  # Build our controller
314
314
  controller = Array(@_controller).collect(&:to_s)
315
-
315
+
316
316
  unless controller.empty?
317
317
  # Now we need to add our controller path only if not mapped directly
318
318
  if map.blank?
@@ -325,7 +325,7 @@ module Padrino
325
325
  name = "#{controller_name}_#{name}".to_sym unless controller_name.blank?
326
326
  end
327
327
  end
328
-
328
+
329
329
  # We need to have a path that start with / in some circumstances and that don't end with /
330
330
  if path != "(/)" && path != "/"
331
331
  path = "/" + path if path !~ /^\//
@@ -391,15 +391,13 @@ module Padrino
391
391
  # serving files from the public directory
392
392
  #
393
393
  def static_file?(path_info)
394
- [options.public, Padrino.root("shared/public")].find do |folder|
395
- next if folder.nil?
396
- public_dir = File.expand_path(folder)
397
-
398
- path = File.expand_path(public_dir + unescape(path_info))
399
- next if path[0, public_dir.length] != public_dir
400
- next unless File.file?(path)
401
- return path
402
- end
394
+ return if (public_dir = options.public).nil?
395
+ public_dir = File.expand_path(public_dir)
396
+
397
+ path = File.expand_path(public_dir + unescape(path_info))
398
+ return if path[0, public_dir.length] != public_dir
399
+ return unless File.file?(path)
400
+ return path
403
401
  end
404
402
 
405
403
  private
@@ -484,7 +482,7 @@ module Padrino
484
482
  if (options[:layout].nil? || options[:layout] == true) && !self.class.templates.has_key?(:layout)
485
483
  layout = self.class.instance_variable_defined?(:@_layout) ? self.class.instance_variable_get(:@_layout) : :application
486
484
  if layout
487
- options[:layout] = File.join('layouts', layout.to_s).to_sym
485
+ options[:layout] = Dir["#{self.options.views}/#{layout}.*"].size == 0 ? File.join('layouts', layout.to_s).to_sym : layout.to_sym
488
486
  logger.debug "Rendering layout #{options[:layout]}"
489
487
  end
490
488
  end
data/padrino-core.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{padrino-core}
8
- s.version = "0.6.7"
8
+ s.version = "0.7.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
12
- s.date = %q{2010-01-26}
12
+ s.date = %q{2010-01-31}
13
13
  s.default_executable = %q{padrino}
14
14
  s.description = %q{The Padrino core gem required for use of this framework}
15
15
  s.email = %q{nesquena@gmail.com}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2010-01-26 00:00:00 +01:00
15
+ date: 2010-01-31 00:00:00 +01:00
16
16
  default_executable: padrino
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency