wedge 0.1.44 → 0.1.45

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47902d338ff5dca666c0812e85f89f914cbe0461
4
- data.tar.gz: ee8d7d7a206e8b032267b8e41179f9de1c2c3b4e
3
+ metadata.gz: 91e8e17312c22438ccf5dc770ba7a08194c65462
4
+ data.tar.gz: 4779a4ddc4fab7e9b58ad36fd7049e3f1bd78335
5
5
  SHA512:
6
- metadata.gz: 61a8f72002617a95a7252465267e252c450e158dd2eed6993f507d882be0d997255e5e7ab3e8aedd1ac5283a134b9043e3cac1c3f973cd8a5ded6468d2ab2e04
7
- data.tar.gz: 6255420cf34a22296bd9bfc6a693c4a49112fc30d182280ce0cad75d14b5ac65096120be90bc3fb333c6cae9bebca94eb6ae93ef2adce7509b1507e804a31a3a
6
+ metadata.gz: 5b77b8a55850545908c158ddf06677f4f1af9f377cd9255633d90dd09487682e4fca4d6043e9317934e63b4e1917c1b1776cfaf9097a49f37b32b801b06c1419
7
+ data.tar.gz: 1c1367eed5c7cae0c498cdc0dd057659adcb2d1982da2a0152c091cfdd2fd0cd8b82706bbb668fc3e6c84811d80952ee358cd4316daaefb21b57c09b77599dc0
data/lib/wedge/opal.rb CHANGED
@@ -70,6 +70,85 @@ unless RUBY_ENGINE == 'opal'
70
70
  end
71
71
  end
72
72
  end
73
+
74
+ class Server
75
+ attr_accessor :headers
76
+
77
+ def initialize debug_or_options = {}
78
+ unless Hash === debug_or_options
79
+ warn "passing a boolean to control debug is deprecated.\n"+
80
+ "Please pass an Hash instead: Server.new(debug: true)"
81
+ options = {:debug => debug_or_options}
82
+ else
83
+ options = debug_or_options
84
+ end
85
+
86
+ @headers = {}
87
+ @use_index = true
88
+ @public_root = nil
89
+ @public_urls = ['/']
90
+ @sprockets = options.fetch(:sprockets, ::Sprockets::Environment.new)
91
+ @debug = options.fetch(:debug, true)
92
+ @prefix = options.fetch(:prefix, '/assets')
93
+
94
+ Opal.paths.each { |p| @sprockets.append_path(p) }
95
+
96
+ yield self if block_given?
97
+ create_app
98
+ end
99
+
100
+ def headers
101
+ @headers
102
+ end
103
+
104
+ def create_app
105
+ server, sprockets, prefix, headers = self, @sprockets, self.prefix, @headers
106
+ sprockets.logger.level ||= Logger::DEBUG
107
+ source_map_enabled = self.source_map_enabled
108
+ if source_map_enabled
109
+ maps_prefix = SOURCE_MAPS_PREFIX_PATH
110
+ maps_app = SourceMapServer.new(sprockets, maps_prefix)
111
+ ::Opal::Sprockets::SourceMapHeaderPatch.inject!(maps_prefix)
112
+ end
113
+
114
+ @app = Rack::Builder.app do
115
+ not_found = lambda { |env| [404, {}, []] }
116
+ use Rack::Deflater
117
+ use Rack::ShowExceptions
118
+ use Index, server if server.use_index
119
+ use Headers, server
120
+ if source_map_enabled
121
+ map(maps_prefix) do
122
+ require 'rack/conditionalget'
123
+ require 'rack/etag'
124
+ use Rack::ConditionalGet
125
+ use Rack::ETag
126
+ run maps_app
127
+ end
128
+ end
129
+ map(prefix) { run sprockets }
130
+ run Rack::Static.new(not_found, root: server.public_root, urls: server.public_urls)
131
+ end
132
+ end
133
+
134
+ class Headers
135
+ def initialize(app, server)
136
+ @app = app
137
+ @server = server
138
+ end
139
+
140
+ def call(env)
141
+ status, headers, body = @app.call env
142
+
143
+ if env['PATH_INFO'][@server.prefix]
144
+ status, headers, body = @app.call env
145
+ [status, headers.merge(@server.headers), [body]]
146
+ else
147
+ @app.call env
148
+ end
149
+ end
150
+ end
151
+ end
73
152
  end
74
153
  end
75
154
 
data/lib/wedge/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Wedge
2
- VERSION = '0.1.44'
2
+ VERSION = '0.1.45'
3
3
  end
data/lib/wedge.rb CHANGED
@@ -50,6 +50,7 @@ class Wedge
50
50
  s.prefix = Wedge.assets_url
51
51
  s.debug = Wedge.config.debug
52
52
  s.append_path "#{Dir.pwd}/#{Wedge.config.app_dir}"
53
+ s.headers = Wedge.config.assets_headers
53
54
  }}
54
55
 
55
56
  if Wedge.config.debug
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wedge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.44
4
+ version: 0.1.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - cj