module Sinatra::React::Helpers
Public Instance Methods
find_template(views, name, engine, &block)
click to toggle source
Calls superclass method
# File lib/sinatra/react.rb, line 20 def find_template(views, name, engine, &block) if engine == Tilt::ReactTemplate views = Tilt::ReactTemplate.components end super(views, name, engine, &block) end
react(component, opts = {})
click to toggle source
# File lib/sinatra/react.rb, line 8 def react(component, opts = {}) req = Rack::Accept::MediaType.new(request.env['HTTP_ACCEPT']) if req.accept?('text/html') return render :jsx, component, opts elsif req.accept?('application/json') content_type :json return json_for_props(component, opts[:locals]) else halt 406 end end
Private Instance Methods
json_for_props(component, props)
click to toggle source
# File lib/sinatra/react.rb, line 29 def json_for_props(component, props) [ Tilt::ReactTemplate.file_to_class_name(component.to_s), props ].to_json end