Sha256: 2ebe094920f81e7e4e7ed2ecf566bf1ab393060ccdd69a1ca57dcc69fe303a77
Contents?: true
Size: 1.55 KB
Versions: 1
Compression:
Stored size: 1.55 KB
Contents
require 'net/http' require 'uri' module AhcHelper def render_ahc(template) if defined? Rails && @data @data ||= {} @data['authenticity_token'] = form_authenticity_token end if params[:format] == 'json' render json: @data else render text: Ahc.render(template, @data) end end end module AhcInheritedResourcesHelper include AhcHelper def respond_with(*resources, &block) controller = params[:controller].split('/').last action = params[:action] @data ||= {} case params[:action] when 'show' @data['resource'] = resource when 'index' @data['resources'] = resources[0] when 'create', 'update' params[:format] = 'json' if resource.valid? @data['resource'] = resource else @data['errors'] = resource.errors end when 'destroy' return render json: {success: !resource.persisted?} end render_ahc("#{controller}/#{action}") end end class AhcProxy def initialize(app) @app = app end def call(env) request = Rack::Request.new(env) path = request.fullpath if path.start_with?('/s/') || path.start_with?('/static/') || path.start_with?('/plovr/') begin response = Net::HTTP.get(URI.parse("http://#{Ahc.host || Ahc.default_host}:#{Ahc.port || Ahc.default_port}" + path)) headers = path.end_with?('.css') ? {"Content-Type"=>"text/css"} : {} return [200, headers, [response]] rescue return [200, {}, ['Ahc server is not running']] end end @app.call(env) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ahc-0.3.6 | lib/ahc_helper.rb |