kea-on-rails 0.2.1 → 0.3.0

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: f70d714fafb87fc116f21429a38b1e2715949750
4
- data.tar.gz: 3b3d782a74b3626bce748883816dae76286bec14
3
+ metadata.gz: fac811ef71996ba3e8d2077b9b7b24db8d68152f
4
+ data.tar.gz: 889f7ecced0d3361a98522aa6a330893baa107d3
5
5
  SHA512:
6
- metadata.gz: 9335007566ac986749f255a2b975a0735c9f391baba51614b5ebb98fcf3489e25caac5f275e210b4678c7df52686d11ba577a1c9ae06327fd6bea70cb2d7453c
7
- data.tar.gz: 83d64bab5c2e0e9fefca21f9accabfa740be8ecbe9fac7da04f10e5ace9e61d7bc9f0f207752e2bf5bc51839dde06056d42d5bfbab2318d6b0a1fb6ac6862953
6
+ metadata.gz: 18c91a33a5f608630ed24229b06c21d85d4538871e6646325b972f5c25205e537ed95ddb881e5d9e3576c17ec58d0059720d168d9ddc9d4c1637fc0c8f686041
7
+ data.tar.gz: 333f9247e8b8fec70ca3501eb83e8b237951b495780013de2880431d3b3ba9bb0e99c1c035aff8ac48313c6906e01de29ac4df7de051639ff5954888f8534c90
@@ -0,0 +1,4 @@
1
+ <%= react_component(request.env["kea.component"],
2
+ @props,
3
+ generator_function: false,
4
+ prerender: request.env["kea.prerender"]) %>
data/lib/kea-on-rails.rb CHANGED
@@ -1,3 +1,9 @@
1
1
  require 'kea/controller'
2
2
  require 'kea/error_controller'
3
3
  require 'kea/router'
4
+ require 'kea/routes'
5
+
6
+ module Kea
7
+ class Engine < Rails::Engine
8
+ end
9
+ end
@@ -4,12 +4,14 @@ module Kea
4
4
 
5
5
  def run_kea_action
6
6
  active_method = params['method']
7
- @running_via_kea = true
8
- self.send(active_method)
7
+ if self.respond_to? active_method
8
+ @running_via_kea = true
9
+ self.send(active_method)
10
+ else
11
+ raise Kea::ActionNotFoundError
12
+ end
9
13
  end
10
14
 
11
- protected
12
-
13
15
  def params
14
16
  if @running_via_kea
15
17
  request.params['params']
@@ -17,5 +19,12 @@ module Kea
17
19
  request.params
18
20
  end
19
21
  end
22
+
23
+ def render_props_or_component
24
+ respond_to do |format|
25
+ format.html { render 'kea/component' }
26
+ format.json { render json: @props }
27
+ end
28
+ end
20
29
  end
21
30
  end
@@ -1,7 +1,7 @@
1
1
  module Kea
2
2
  class ErrorController < ActionController::Base
3
3
  def render_kea_error
4
- render json: {error: env['KEA_ERROR']}
4
+ render json: {error: env['kea.error']}
5
5
  end
6
6
  end
7
7
  end
data/lib/kea/router.rb CHANGED
@@ -25,7 +25,7 @@ module Kea
25
25
  end
26
26
 
27
27
  def render_error(error)
28
- @env['KEA_ERROR'] = error
28
+ @env['kea.error'] = error
29
29
  Kea::ErrorController.action(:render_kea_error).call(@env)
30
30
  end
31
31
  end
data/lib/kea/routes.rb ADDED
@@ -0,0 +1,27 @@
1
+ module ActionDispatch::Routing
2
+ class Mapper
3
+ def kea_endpoint(*resources)
4
+ path = resources[0]
5
+
6
+ match path, to: Kea::Router.do_route, as: :kea, via: [:post]
7
+ end
8
+
9
+ def kea_bundle(*resources)
10
+ options = resources.extract_options!
11
+ bundle = options[:bundle] || resources[0] || 'common'
12
+ component = options[:component] || (ActiveSupport::Inflector.classify(bundle) + 'App')
13
+ prerender = options[:prerender].nil? ? true : options[:prerender]
14
+
15
+ constraint = lambda do |request|
16
+ request.env["kea.bundle"] = bundle
17
+ request.env["kea.component"] = component
18
+ request.env["kea.prerender"] = prerender
19
+ true
20
+ end
21
+
22
+ constraints(constraint) do
23
+ yield
24
+ end
25
+ end
26
+ end
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kea-on-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marius Andra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-16 00:00:00.000000000 Z
11
+ date: 2016-03-21 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Rails connector for kea and kea-rails-loader
14
14
  email: marius.andra@gmail.com
@@ -16,10 +16,12 @@ executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
+ - app/views/kea/component.html.erb
19
20
  - lib/kea-on-rails.rb
20
21
  - lib/kea/controller.rb
21
22
  - lib/kea/error_controller.rb
22
23
  - lib/kea/router.rb
24
+ - lib/kea/routes.rb
23
25
  homepage: https://github.com/mariusandra/kea-rails
24
26
  licenses:
25
27
  - MIT