appengine-rack 0.0.2 → 0.0.3

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.
Files changed (3) hide show
  1. data/Rakefile +2 -4
  2. data/lib/appengine-rack.rb +42 -8
  3. metadata +4 -13
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ EOF
10
10
 
11
11
  spec = Gem::Specification.new do |s|
12
12
  s.name = "appengine-rack"
13
- s.version = "0.0.2"
13
+ s.version = "0.0.3"
14
14
  s.author = "Ryan Brown"
15
15
  s.email = "ribrdb@google.com"
16
16
  s.homepage = "http://code.google.com/p/appengine-jruby"
@@ -18,8 +18,6 @@ spec = Gem::Specification.new do |s|
18
18
 
19
19
  s.platform = Gem::Platform::RUBY
20
20
 
21
- s.add_dependency "rack"
22
-
23
21
  s.require_path = 'lib'
24
22
  s.files = %w(LICENSE Rakefile) + Dir.glob("lib/**/*")
25
23
  end
@@ -40,4 +38,4 @@ task :make_spec do
40
38
  File.open("#{GEM}.gemspec", "w") do |file|
41
39
  file.puts spec.to_ruby
42
40
  end
43
- end
41
+ end
@@ -17,6 +17,7 @@
17
17
 
18
18
  begin
19
19
  require 'appengine-apis/urlfetch'
20
+ require 'appengine-apis/tempfile'
20
21
  rescue Exception
21
22
  end
22
23
 
@@ -25,23 +26,42 @@ module AppEngine
25
26
  ROOT = File.expand_path(File.dirname(__FILE__))
26
27
 
27
28
  class Resources
29
+ COMMON_EXCLUDES = {
30
+ :rails_excludes => %w(README Rakefile db/** doc/**
31
+ log/** script/** test/** tmp/**),
32
+ :merb_excludes => %w(Rakefile autotest/** doc/** gems/** spec/**) }
33
+
28
34
  def initialize
29
35
  @includes = []
30
36
  @excludes = []
31
37
  end
32
38
 
33
- def include(glob)
34
- @includes << glob
39
+ def include(glob, expiration=nil)
40
+ if glob.is_a? Array
41
+ glob.each do |g|
42
+ @includes << [g, expiration]
43
+ end
44
+ else
45
+ @includes << [glob, expiration]
46
+ end
35
47
  end
36
48
 
37
49
  def exclude(glob)
38
- @excludes << glob
50
+ if glob.is_a? Array
51
+ @excludes += glob
52
+ elsif glob.is_a? Symbol
53
+ @excludes += COMMON_EXCLUDES[glob]
54
+ else
55
+ @excludes << glob
56
+ end
39
57
  end
40
58
 
41
59
  def append_to(xml, type)
42
60
  resources = xml.add_element(type)
43
- @includes.each do |path|
44
- resources.add_element('include').add_attribute('path', path)
61
+ @includes.each do |path, expiration|
62
+ element = resources.add_element('include')
63
+ element.add_attribute('path', path)
64
+ element.add_attribute('expiration', expiration) if expiration
45
65
  end
46
66
  @excludes.each do |path|
47
67
  resources.add_element('exclude').add_attribute('path', path)
@@ -74,19 +94,21 @@ module AppEngine
74
94
  end
75
95
 
76
96
  class RackApplication
77
- attr_accessor :application, :public_root
78
- attr_reader :version, :static_files, :resource_files
97
+ attr_accessor :application, :inbound_services
98
+ attr_reader :version, :static_files, :resource_files, :public_root
79
99
  attr_reader :system_properties, :environment_variables
80
100
  attr_writer :ssl_enabled, :sessions_enabled
81
101
 
82
102
  def initialize
83
103
  @version = '1'
84
104
  @system_properties = PropertyMap[ 'os.arch' => '',
85
- 'jruby.management.enabled' => 'false' ]
105
+ 'jruby.management.enabled' => false,
106
+ 'jruby.rack.input.rewindable' => false ]
86
107
  @environment_variables = EnvVarMap.new
87
108
  @static_files = Resources.new
88
109
  @resource_files = Resources.new
89
110
  @public_root = '/public'
111
+ @inbound_services = []
90
112
  end
91
113
 
92
114
  alias id application
@@ -99,6 +121,12 @@ module AppEngine
99
121
  @ssl_enabled
100
122
  end
101
123
 
124
+ def public_root=(root)
125
+ root = "/#{root}".squeeze '/'
126
+ root = nil if root.eql? '/'
127
+ @public_root = root
128
+ end
129
+
102
130
  def version=(version)
103
131
  @version = version.to_s
104
132
  end
@@ -128,6 +156,12 @@ module AppEngine
128
156
  if ssl_enabled?
129
157
  xml.add_element('ssl-enabled').add_text('true')
130
158
  end
159
+ unless @inbound_services.empty?
160
+ services = xml.add_element('inbound-services')
161
+ @inbound_services.each do |service|
162
+ services.add_element('service').add_text(service.to_s)
163
+ end
164
+ end
131
165
  return xml
132
166
  end
133
167
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appengine-rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Brown
@@ -9,19 +9,10 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-13 00:00:00 -07:00
12
+ date: 2009-09-03 00:00:00 -07:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rack
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
14
+ dependencies: []
15
+
25
16
  description: |
26
17
  Commom dependencies for configuring an App Engine application via Rack.
27
18