orange 0.1.4 → 0.1.7

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.
@@ -107,10 +107,11 @@ module Orange
107
107
  #
108
108
  # Usually, you'll call this in the rackup file: `run MyApplication.app`
109
109
  def self.app
110
+ @core ||= Orange::Core.new
110
111
  if @app.instance_of?(Proc)
111
- Orange::Stack.new &@app # turn saved proc into a block arg
112
+ Orange::Stack.new self, @core, &@app # turn saved proc into a block arg
112
113
  else
113
- Orange::Stack.new self
114
+ Orange::Stack.new self, @core
114
115
  end
115
116
  end
116
117
 
@@ -118,7 +119,8 @@ module Orange
118
119
  # is called
119
120
  #
120
121
  # Each call to stack overrides the previous one.
121
- def self.stack(&block)
122
+ def self.stack(core = false, &block)
123
+ @core = core
122
124
  @app = Proc.new # pulls in the block and makes it a proc
123
125
  end
124
126
  end
@@ -5,7 +5,7 @@ module Orange::Middleware
5
5
  def init(*args)
6
6
  opts = args.extract_options!.with_defaults(:file => "__ORANGE__/config.yml")
7
7
  @file = opts[:file].gsub('__ORANGE__', orange.app_dir)
8
- @globals = orange[:parser].yaml(@file)
8
+ @globals = orange[:parser].yaml(@file) || {}
9
9
  @globals.each{|k,v| orange.options[k] = v }
10
10
  end
11
11
  def packet_call(packet)
@@ -13,7 +13,8 @@ module Orange
13
13
  end
14
14
 
15
15
  def yaml(file)
16
- string = File.read(file)
16
+ return nil unless File.exists?(file)
17
+ string = File.read(file)
17
18
  string.gsub!('__ORANGE__', orange.app_dir)
18
19
  out = YAML::load(string)
19
20
  end
@@ -24,8 +24,9 @@ module Orange
24
24
  # other stacks that can be used.
25
25
  #
26
26
  # @param [Orange::Application] app_class the class of the main application
27
+ # @param [Orange::Core] core the orange core
27
28
  # @param [Symbol] prebuilt the optional prebuilt stack, if one isn't passed as block
28
- def initialize(app_class = nil, prebuilt = :none, &block)
29
+ def initialize(app_class = nil, core = false, prebuilt = :none, &block)
29
30
  @build = Rack::Builder.new
30
31
  @core = Orange::Core.new
31
32
  @auto_reload = false
@@ -1,3 +1,4 @@
1
+ require (File.join(File.dirname(__FILE__), 'cartons', 'site.rb'))
1
2
  Dir.glob(File.join(File.dirname(__FILE__), 'cartons', '*.rb')).each {|f| require f }
2
3
  Dir.glob(File.join(File.dirname(__FILE__), 'resources', '*.rb')).each {|f| require f }
3
4
  Dir.glob(File.join(File.dirname(__FILE__), 'middleware', '*.rb')).each {|f| require f }
@@ -6,7 +6,7 @@ module Orange
6
6
  call_me :cloud
7
7
  def afterLoad
8
8
  orange.register(:stack_loaded) do |stack|
9
- options[:ping_fm_key] = orange.options[:ping_fm_key] || false
9
+ options[:ping_fm_key] = orange.options['ping_fm_key'] || false
10
10
  end
11
11
  end
12
12
 
@@ -24,7 +24,7 @@ module Orange::Middleware
24
24
  end
25
25
 
26
26
  module Orange::Pulp::DebuggerHelpers
27
- def h(obj) # :nodoc:
27
+ def h_debug(obj) # :nodoc:
28
28
  case obj
29
29
  when String
30
30
  Rack::Utils.escape_html(obj)
@@ -33,9 +33,9 @@
33
33
  - packet.env.sort_by { |k, v| k.to_s }.each do |key, val|
34
34
  - unless key =~ /^orange\./
35
35
  %tr
36
- %td #{h key}
36
+ %td #{h_debug key}
37
37
  %td.code
38
- %div #{h val}
38
+ %div #{h_debug val}
39
39
  %h3#orange-info Orange ENV
40
40
  %table.req
41
41
  %thead
@@ -46,9 +46,9 @@
46
46
  - packet.env['orange.env'].sort_by { |k, v| k.to_s }.each do |key, val|
47
47
  - if(![:request, :headers, :content].include?(key))
48
48
  %tr
49
- %td #{h key}
49
+ %td #{h_debug key}
50
50
  %td.code
51
- %div #{h val}
51
+ %div #{h_debug val}
52
52
  %h3#orange-info= 'Orange<br /> Response'
53
53
  %table.req
54
54
  %thead
@@ -59,6 +59,6 @@
59
59
  - packet.env['orange.env'].sort_by { |k, v| k.to_s }.each do |key, val|
60
60
  - if([:headers, :content].include?(key))
61
61
  %tr
62
- %td #{h key}
62
+ %td #{h_debug key}
63
63
  %td.code
64
- %div #{h val}
64
+ %div #{h_debug val}
@@ -128,7 +128,7 @@ describe Orange::Stack do
128
128
  end
129
129
  x.middlewarez.should have(1).middlewares
130
130
  x.prerouting
131
- x.middlewarez.should have(6).middlewares
131
+ x.middlewarez.should have(9).middlewares
132
132
  x.middlewarez.select{|y| y.instance_of?(Rack::AbstractFormat)}.should_not be_empty
133
133
  x.middlewarez.select{|y| y.instance_of?(Orange::Middleware::RouteSite)}.should_not be_empty
134
134
  end
@@ -140,23 +140,11 @@ describe Orange::Stack do
140
140
  end
141
141
  x.middlewarez.should have(1).middlewares
142
142
  x.prerouting(:no_abstract_format => true)
143
- x.middlewarez.should have(5).middlewares
143
+ x.middlewarez.should have(8).middlewares
144
144
  x.middlewarez.select{|y| y.instance_of?(Rack::AbstractFormat)}.should be_empty
145
145
  x.middlewarez.select{|y| y.instance_of?(Orange::Middleware::RouteSite)}.should_not be_empty
146
146
  end
147
147
 
148
- it "should add middleware when calling restful_routing" do
149
- x= Orange::Stack.new do
150
- no_recapture
151
- run MockExitware.new
152
- end
153
- x.middlewarez.should have(1).middlewares
154
- x.restful_routing
155
- x.middlewarez.should have(2).middlewares
156
- restfuls = x.middlewarez.select{|y| y.instance_of?(Orange::Middleware::RestfulRouter)}
157
- restfuls.should_not be_empty
158
- restfuls.should have(1).items
159
- end
160
148
 
161
149
  it "should have not have extra middleware for a default stack" do
162
150
  x= Orange::Stack.new MockApplication
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orange
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 7
9
+ version: 0.1.7
5
10
  platform: ruby
6
11
  authors:
7
12
  - David Haslem
@@ -9,49 +14,61 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-03-05 00:00:00 -05:00
17
+ date: 2010-03-09 00:00:00 -05:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rack
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 0
30
+ - 1
23
31
  version: 1.0.1
24
- version:
32
+ type: :runtime
33
+ version_requirements: *id001
25
34
  - !ruby/object:Gem::Dependency
26
35
  name: haml
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
30
38
  requirements:
31
39
  - - ">="
32
40
  - !ruby/object:Gem::Version
41
+ segments:
42
+ - 2
43
+ - 2
44
+ - 13
33
45
  version: 2.2.13
34
- version:
46
+ type: :runtime
47
+ version_requirements: *id002
35
48
  - !ruby/object:Gem::Dependency
36
49
  name: rspec
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
40
52
  requirements:
41
53
  - - ">="
42
54
  - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
43
57
  version: "0"
44
- version:
58
+ type: :development
59
+ version_requirements: *id003
45
60
  - !ruby/object:Gem::Dependency
46
61
  name: rack-test
47
- type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
62
+ prerelease: false
63
+ requirement: &id004 !ruby/object:Gem::Requirement
50
64
  requirements:
51
65
  - - ">="
52
66
  - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
53
69
  version: "0"
54
- version:
70
+ type: :development
71
+ version_requirements: *id004
55
72
  description: Orange is a Ruby framework for building managed websites with code as simple as Sinatra
56
73
  email: therabidbanana@gmail.com
57
74
  executables: []
@@ -210,18 +227,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
227
  requirements:
211
228
  - - ">="
212
229
  - !ruby/object:Gem::Version
230
+ segments:
231
+ - 0
213
232
  version: "0"
214
- version:
215
233
  required_rubygems_version: !ruby/object:Gem::Requirement
216
234
  requirements:
217
235
  - - ">="
218
236
  - !ruby/object:Gem::Version
237
+ segments:
238
+ - 0
219
239
  version: "0"
220
- version:
221
240
  requirements: []
222
241
 
223
242
  rubyforge_project:
224
- rubygems_version: 1.3.5
243
+ rubygems_version: 1.3.6
225
244
  signing_key:
226
245
  specification_version: 3
227
246
  summary: Middle ground between Sinatra and Rails