Module: Ruflet::Rails
- Defined in:
- lib/ruflet/rails.rb,
lib/ruflet/rails.rb,
lib/ruflet/rails/railtie.rb,
lib/ruflet/rails/form_helpers.rb,
lib/ruflet/rails/resource_view.rb,
lib/ruflet/rails/install_support.rb,
lib/ruflet/rails/protocol/runner.rb,
lib/ruflet/rails/desktop_launcher.rb,
lib/ruflet/rails/protocol/context.rb,
lib/ruflet/rails/session_registry.rb,
lib/ruflet/rails/protocol/endpoint.rb,
lib/ruflet/rails/resource_component.rb,
lib/ruflet/rails/protocol/middleware.rb,
lib/ruflet/rails/protocol/wire_codec.rb,
lib/ruflet/rails/protocol/local_server.rb,
lib/ruflet/rails/protocol/mobile_loader.rb,
lib/ruflet/rails/protocol/web_socket_connection.rb
Defined Under Namespace
Modules: DesktopLauncher, FormHelpers, InstallSupport, Protocol
Classes: Railtie, ResourceComponent, ResourceView, Session, SessionRegistry, ViewRouter
Class Method Summary
collapse
Class Method Details
.app(file_path) ⇒ Object
Load a Ruflet app file (MyApp.new.run) and mount it in Rails routes.
.broadcast(&block) ⇒ Object
37
38
39
|
# File 'lib/ruflet/rails.rb', line 37
def broadcast(&block)
sessions.broadcast(&block)
end
|
.endpoint(&block) ⇒ Object
Mount inside Rails routes; route “at:” controls URL path.
.load_views(root) ⇒ Object
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/ruflet/rails.rb', line 22
def load_views(root)
return [] if root.to_s.empty?
files = Dir[File.join(root.to_s, "components", "**", "*.rb")].sort
files += Dir[File.join(root.to_s, "**", "*_view.rb")].sort
files.each do |file|
Kernel.load(file)
end
end
|
.mobile(file_path) ⇒ Object
Backward-compatible alias for older Rails installs.
52
53
54
|
# File 'lib/ruflet/rails.rb', line 52
def mobile(file_path)
app(file_path)
end
|
.register_view(view_class) ⇒ Object
13
14
15
16
|
# File 'lib/ruflet/rails.rb', line 13
def register_view(view_class)
view_classes << view_class unless view_classes.include?(view_class)
view_class
end
|
.render(page, routes: nil, default: nil) ⇒ Object
18
19
20
|
# File 'lib/ruflet/rails.rb', line 18
def render(page, routes: nil, default: nil)
ViewRouter.new(page, routes: routes, default: default).start
end
|
.sessions ⇒ Object
33
34
35
|
# File 'lib/ruflet/rails.rb', line 33
def sessions
@sessions ||= SessionRegistry.new
end
|
.view_classes ⇒ Object
9
10
11
|
# File 'lib/ruflet/rails.rb', line 9
def view_classes
@view_classes ||= []
end
|