appfuel 0.2.10 → 0.2.11
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/appfuel/application/dispatcher.rb +4 -15
- data/lib/appfuel/feature/initializer.rb +9 -3
- data/lib/appfuel/version.rb +1 -1
- data/lib/appfuel.rb +10 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 684209e19f1a18b1b855531cc3cfa8a3780add38
|
4
|
+
data.tar.gz: fa2a53437d5dc7c08dc8364bb83a4bd6bf2ee5d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e16e8282f66922d69856c3c693ab007984a319898248392210de9412c4ace6e2b78d6798ecb2bcfea84f566fadf5dc0eaed10e71a6721e7dc1346f1f44c52a95
|
7
|
+
data.tar.gz: 51369a25b4359e1bd30dd8162a3303e9685a6e953a3e435dd5124d032d33fc6e0311bdbe2ca84239bdd7a368b6b254510166470e9f689977e25ab72f5e1bb6b7
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. (Pending ap
|
|
5
5
|
|
6
6
|
|
7
7
|
# Releases
|
8
|
+
## [[0.2.11]](https://github.com/rsb/appfuel/releases/tag/0.2.9) 2017-06-15
|
9
|
+
### Changed
|
10
|
+
- Adding error handling to dispatching. Errors are converted to responses
|
11
|
+
|
8
12
|
## [[0.2.10]](https://github.com/rsb/appfuel/releases/tag/0.2.9) 2017-06-14
|
9
13
|
### Fixed
|
10
14
|
- configuration delete was using string for the key, corrected to symbol
|
@@ -5,25 +5,14 @@ module Appfuel
|
|
5
5
|
def dispatch(request, container)
|
6
6
|
begin
|
7
7
|
container[:feature_initializer].call(request.feature, container)
|
8
|
-
action
|
8
|
+
action = container[:action_loader].call(request.namespace, container)
|
9
9
|
response = action.run(request.inputs)
|
10
10
|
rescue => e
|
11
|
-
|
11
|
+
handler = Appfuel::ResponseHandler.new
|
12
|
+
response = handler.error(e)
|
12
13
|
end
|
13
14
|
|
14
|
-
|
15
|
-
handle_error(contaier, :failed, error)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
def handle_error(e, container)
|
21
|
-
p e.message
|
22
|
-
p e.backtrace
|
23
|
-
end
|
24
|
-
|
25
|
-
def default_error_handling(e, container)
|
26
|
-
|
15
|
+
response
|
27
16
|
end
|
28
17
|
end
|
29
18
|
end
|
@@ -13,13 +13,20 @@ module Appfuel
|
|
13
13
|
# @return [Boolean]
|
14
14
|
def call(name, container)
|
15
15
|
name = name.to_s.underscore
|
16
|
-
feature_key
|
16
|
+
feature_key = "features.#{name}"
|
17
|
+
return false if initialized?(container, feature_key)
|
18
|
+
|
17
19
|
unless container.key?(feature_key)
|
18
20
|
Appfuel.setup_container_dependencies(feature_key, container)
|
19
21
|
end
|
20
22
|
|
21
23
|
unless require_feature_disabled?(container, feature_key)
|
22
|
-
|
24
|
+
feature_path = "#{container[:features_path]}/#{name}"
|
25
|
+
begin
|
26
|
+
require feature_path
|
27
|
+
rescue LoadError => _e
|
28
|
+
raise "[#{feature_key} initialize] could not load #{feature_path}"
|
29
|
+
end
|
23
30
|
end
|
24
31
|
|
25
32
|
container[:auto_register_classes].each do |klass|
|
@@ -27,7 +34,6 @@ module Appfuel
|
|
27
34
|
container.register(klass.container_class_path, klass)
|
28
35
|
end
|
29
36
|
|
30
|
-
return false if initialized?(container, feature_key)
|
31
37
|
|
32
38
|
Appfuel.run_initializers(feature_key, container)
|
33
39
|
true
|
data/lib/appfuel/version.rb
CHANGED
data/lib/appfuel.rb
CHANGED
@@ -142,10 +142,15 @@ module Appfuel
|
|
142
142
|
end
|
143
143
|
|
144
144
|
exclude.map! {|item| item.to_s}
|
145
|
-
namespace
|
146
|
-
|
147
|
-
|
148
|
-
|
145
|
+
namespace = "#{key}.initializers"
|
146
|
+
finished_key = "#{key}.initialized"
|
147
|
+
runlist_key = "#{namespace}.run"
|
148
|
+
env = container['env']
|
149
|
+
config = container['config']
|
150
|
+
|
151
|
+
if container.key?(finished_key) && container[finished_key] == true
|
152
|
+
return false
|
153
|
+
end
|
149
154
|
|
150
155
|
runlist = []
|
151
156
|
if container.key?(runlist_key)
|
@@ -173,7 +178,7 @@ module Appfuel
|
|
173
178
|
raise error
|
174
179
|
end
|
175
180
|
end
|
176
|
-
container.register(
|
181
|
+
container.register(finished_key, true)
|
177
182
|
|
178
183
|
container
|
179
184
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appfuel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Scott-Buccleuch
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|