kea-on-rails 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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