merb-core 1.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -187,6 +187,8 @@ def setup_specs(name, spec_cmd='spec', run_opts = "-c")
187
187
  except += Dir["spec/**/memcache*_spec.rb"] if ENV['MEMCACHED'] == 'no'
188
188
 
189
189
  public_globs = Dir["#{Dir.pwd}/spec/public/**/*_spec.rb"].reject{|file| file.include?('/gems/')}
190
+ public_globs_10 =
191
+ Dir["#{Dir.pwd}/spec10/public/**/*_spec.rb"].reject{|file| file.include?('/gems/')}
190
192
 
191
193
  private_globs = Dir["#{Dir.pwd}/spec/private/**/*_spec.rb"]
192
194
 
@@ -197,6 +199,12 @@ def setup_specs(name, spec_cmd='spec', run_opts = "-c")
197
199
  run_specs(globs, spec_cmd, ENV['RSPEC_OPTS'] || run_opts, except)
198
200
  end
199
201
 
202
+ task "specs:oneoh" do
203
+ require "lib/merb-core/test/run_specs"
204
+ globs = public_globs_10
205
+ run_specs(globs, spec_cmd, ENV['RSPEC_OPTS'] || run_opts, except)
206
+ end
207
+
200
208
  desc "Run private specs (#{name})"
201
209
  task "specs:#{name}:private" do
202
210
  require "lib/merb-core/test/run_specs"
@@ -129,9 +129,10 @@ module Merb::Template
129
129
  full_file_path = File.expand_path(io.path)
130
130
  engine_neutral_path = full_file_path.gsub(/\.[^\.]*$/, "")
131
131
 
132
- SUPPORTED_LOCALS_LIST[engine_neutral_path] |= locals unless locals.empty?
132
+ local_list = (SUPPORTED_LOCALS_LIST[engine_neutral_path] |= locals)
133
133
  ret = METHOD_LIST[engine_neutral_path] =
134
- engine_for(full_file_path).compile_template(io, template_name(full_file_path), locals, mod)
134
+ engine_for(full_file_path).compile_template(io,
135
+ template_name(full_file_path), local_list, mod)
135
136
 
136
137
  io.close
137
138
  ret
@@ -34,7 +34,7 @@ module Kernel
34
34
 
35
35
  new_dep
36
36
  end
37
-
37
+
38
38
  # Loads the given string as a gem. Execution is deferred until
39
39
  # after the logger has been instantiated and the framework directory
40
40
  # structure is defined.
@@ -49,16 +49,70 @@ module Kernel
49
49
  # If the last argument is a Hash, extract the :immediate option,
50
50
  # forcing a dependency to load immediately.
51
51
  #
52
+ # ==== Options
53
+ #
54
+ # :immediate when true, gem is loaded immediately even if framework is not yet ready.
55
+ # :require_as file name to require for this gem.
56
+ #
57
+ # See examples below.
58
+ #
59
+ # ==== Notes
60
+ #
61
+ # If block is given, it is called after require is called. If you use a block to
62
+ # require multiple files, require first using :require_as option and the rest
63
+ # in the block.
64
+ #
65
+ # ==== Examples
66
+ #
67
+ # Usage scenario is typically one of the following:
68
+ #
69
+ # 1. Gem name and loaded file names are the same (ex.: amqp gem uses amqp.rb).
70
+ # In this case no extra options needed.
71
+ #
72
+ # dependency "amqp"
73
+ #
74
+ # 2. Gem name is different from the file needs to be required
75
+ # (ex.: ParseTree gem uses parse_tree.rb as main file).
76
+ #
77
+ # dependency "ParseTree", :require_as => "parse_tree"
78
+ #
79
+ # 3. You need to require a number of files from the library explicitly
80
+ # (ex.: cherry pick features from xmpp4r). Pass an array to :require_as.
81
+ #
82
+ # dependency "xmpp4r", :require_as => %w(xmpp4r/client xmpp4r/sasl xmpp4r/vcard)
83
+ #
84
+ # 4. You need to require a specific version of the gem.
85
+ #
86
+ # dependency "RedCloth", "3.0.4"
87
+ #
88
+ # 5. You want to load dependency as soon as the method is called.
89
+ #
90
+ # dependency "syslog", :immediate => true
91
+ #
92
+ # 6. You need to execute some arbitraty code after dependency is loaded:
93
+ #
94
+ # dependency "ruby-growl" do
95
+ # g = Growl.new "localhost", "ruby-growl",
96
+ # ["ruby-growl Notification"]
97
+ # g.notify "ruby-growl Notification", "Ruby-Growl is set up",
98
+ # "Ruby-Growl is set up"
99
+ # end
100
+ #
101
+ # When specifying a gem version to use, you can use the same syntax RubyGems
102
+ # support, for instance, >= 3.0.2 or >~ 1.2.
103
+ #
104
+ # See rubygems.org/read/chapter/16 for a complete reference.
105
+ #
52
106
  # ==== Returns
53
107
  # Gem::Dependency:: The dependency information.
54
108
  #
55
109
  # :api: public
56
- def dependency(name, *ver, &blk)
57
- immediate = ver.last.delete(:immediate) if ver.last.is_a?(Hash)
110
+ def dependency(name, *opts, &blk)
111
+ immediate = opts.last.delete(:immediate) if opts.last.is_a?(Hash)
58
112
  if immediate || Merb::BootLoader.finished?(Merb::BootLoader::Dependencies)
59
- load_dependency(name, *ver, &blk)
113
+ load_dependency(name, *opts, &blk)
60
114
  else
61
- track_dependency(name, *ver, &blk)
115
+ track_dependency(name, *opts, &blk)
62
116
  end
63
117
  end
64
118
 
@@ -37,14 +37,14 @@ module Merb
37
37
  class << self
38
38
  # An array containing all the application routes in order of
39
39
  # priority.
40
- # ---
40
+ #
41
41
  # :api: private
42
42
  attr_accessor :routes
43
43
 
44
44
  # A hash containing all the named application routes. The names
45
45
  # are absolute (as in, all routes named in a namespace will
46
46
  # contain the name of the namespace).
47
- # ---
47
+ #
48
48
  # :api: private
49
49
  attr_accessor :named_routes
50
50
 
@@ -57,7 +57,7 @@ module Merb
57
57
  # end
58
58
  #
59
59
  # The show comment route will have a key of ["User", "Comment"]
60
- # ---
60
+ #
61
61
  # :api: private
62
62
  attr_accessor :resource_routes
63
63
 
@@ -73,13 +73,13 @@ module Merb
73
73
  # It is important to note that this attribute must be set before any
74
74
  # routes are defined in order for the behavior to be applied to the
75
75
  # routes.
76
- # ---
76
+ #
77
77
  # :api: plugin
78
78
  attr_accessor :root_behavior
79
79
 
80
80
  # A block that will be run around route matching. This block must yield
81
81
  # in order for the actual matching to happen.
82
- # ---
82
+ #
83
83
  # :api: plugin
84
84
  attr_accessor :around_match
85
85
 
@@ -98,7 +98,7 @@ module Merb
98
98
  # ==== Returns
99
99
  # Merb::Router::
100
100
  # Returns self to allow chaining of methods.
101
- # ---
101
+ #
102
102
  # :api: public
103
103
  def prepare(first = [], last = [], &block)
104
104
  @routes = []
@@ -216,7 +216,7 @@ module Merb
216
216
  # end
217
217
  #
218
218
  # url(:articles, 2008, 10, "test_article")
219
- # ---
219
+ #
220
220
  # :api: plugin
221
221
  def url(name, *args)
222
222
  if name.is_a?(Route)
@@ -250,7 +250,7 @@ module Merb
250
250
  #
251
251
  # ==== Returns
252
252
  # String:: The generated URL
253
- # ---
253
+ #
254
254
  # :api: plugin
255
255
  def resource(*args)
256
256
  defaults = args.pop
@@ -289,23 +289,23 @@ module Merb
289
289
  # nil
290
290
  #
291
291
  # ==== Example
292
- # Merb::Router.extensions do
293
- # def domain(name, domain, options={}, &block)
294
- # match(:domain => domain).namespace(name, :path => nil, &block)
292
+ # Merb::Router.extensions do
293
+ # def domain(name, domain, options={}, &block)
294
+ # match(:domain => domain).namespace(name, :path => nil, &block)
295
+ # end
295
296
  # end
296
- # end
297
297
  #
298
298
  # In this case, a method 'domain' will be available to the route builder
299
299
  # which will create namespaces around domains instead of path prefixes.
300
300
  #
301
301
  # This can then be used as follows.
302
302
  #
303
- # Merb::Router.prepare do
304
- # domain(:admin, "my-admin.com") do
305
- # # ... routes come here ...
303
+ # Merb::Router.prepare do
304
+ # domain(:admin, "my-admin.com") do
305
+ # # ... routes come here ...
306
+ # end
306
307
  # end
307
- # end
308
- # ---
308
+ #
309
309
  # :api: public
310
310
  def extensions(&block)
311
311
  Router::Behavior.class_eval(&block)
@@ -314,7 +314,7 @@ module Merb
314
314
  private
315
315
 
316
316
  # Compiles the routes and creates the +match+ method.
317
- # ---
317
+ #
318
318
  # :api: private
319
319
  def compile
320
320
  if routes.any?
@@ -326,7 +326,7 @@ module Merb
326
326
 
327
327
  # Generates the method for evaluation defining a +match+ method to match
328
328
  # a request with the defined routes.
329
- # ---
329
+ #
330
330
  # :api: private
331
331
  def compiled_statement
332
332
  @compiler_mutex.synchronize do
@@ -1,3 +1,3 @@
1
1
  module Merb
2
- VERSION = '1.0' unless defined?(Merb::VERSION)
2
+ VERSION = '1.0.1' unless defined?(Merb::VERSION)
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merb-core
3
3
  version: !ruby/object:Gem::Version
4
- version: "1.0"
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezra Zygmuntowicz
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-11-07 00:00:00 -05:00
12
+ date: 2008-11-18 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency