strum 0.0.24 → 0.0.25
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/strum/chain.rb +8 -6
- data/lib/strum/commands/mixin/app_check.rb +4 -1
- data/lib/strum/commands/resource/migration.rb +1 -1
- data/lib/strum/json_serializer.rb +17 -0
- data/lib/strum/serializer_name.rb +19 -0
- data/lib/strum/templates/app/blank/config/env.rb +3 -3
- data/lib/strum/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fe0b1d1b61058e17af6b6e7b9cf775cd5cdfa0c8ace295f1424f274ffbaaadf
|
4
|
+
data.tar.gz: 668ed074e8870bcdaa8badf23bed56b18a9f1ba98c4c91ba9f9aba9965145d2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9521ad19dcd7ec87e2870128bb7b4cb32a4de5a8bb3647a9a7a615fa13ae462160e98611113373fff0a2189f25bcc323e4c7b83da0808c6479c38d027fa250ac
|
7
|
+
data.tar.gz: '08a0b846e11138e6a0a38f9aadad666871a1d2bb6064a4270531ee33f8a901e80a13502605e2ec8d2f4429ccf464ac598c6d1dfb94b0060a17fce51971c74f9b'
|
data/Gemfile.lock
CHANGED
data/lib/strum/chain.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Strum
|
2
4
|
class Chain
|
3
5
|
include Strum::Service
|
@@ -12,11 +14,11 @@ module Strum
|
|
12
14
|
while (service = chain.shift) && valid?
|
13
15
|
service.public_send(:call, output) do |m|
|
14
16
|
m.success do |result|
|
15
|
-
if @output.is_a?(Hash) && result.is_a?(Hash)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
@output = if @output.is_a?(Hash) && result.is_a?(Hash)
|
18
|
+
@output.merge(result)
|
19
|
+
else
|
20
|
+
result
|
21
|
+
end
|
20
22
|
end
|
21
23
|
m.failure { |errors| add_errors(errors) }
|
22
24
|
end
|
@@ -24,4 +26,4 @@ module Strum
|
|
24
26
|
valid? ? valid_result(&block) : invalid_result(&block)
|
25
27
|
end
|
26
28
|
end
|
27
|
-
end
|
29
|
+
end
|
@@ -1,9 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Strum
|
2
4
|
module Commands
|
3
5
|
module Mixin
|
4
6
|
# Is it strum folder
|
5
7
|
module AppCheck
|
6
8
|
protected
|
9
|
+
|
7
10
|
class StrumGenerateError < StandardError; end
|
8
11
|
|
9
12
|
def app_class_name
|
@@ -18,4 +21,4 @@ module Strum
|
|
18
21
|
end
|
19
22
|
end
|
20
23
|
end
|
21
|
-
end
|
24
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "strum/serializer_name"
|
4
|
+
|
5
|
+
module Strum
|
6
|
+
module JsonSerializer
|
7
|
+
def self.const_missing(name)
|
8
|
+
Class.new do
|
9
|
+
include Strum::Service
|
10
|
+
define_method :call do
|
11
|
+
serializer_class = Strum::SerializerName.call(name: name)
|
12
|
+
@output = serializer_class.new(input).serializable_hash
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "strum/service"
|
4
|
+
|
5
|
+
module Strum
|
6
|
+
class SerializerName
|
7
|
+
include Strum::Service
|
8
|
+
|
9
|
+
def call
|
10
|
+
@output = Kernel.const_get(input[:name].to_s + "Serializer")
|
11
|
+
rescue StandardError => e
|
12
|
+
add_error(:serializer, e)
|
13
|
+
end
|
14
|
+
|
15
|
+
def audit
|
16
|
+
required(:name)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
$LOAD_PATH.unshift(
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
File.expand_path("..", __dir__),
|
5
|
+
File.expand_path("../lib", __dir__),
|
6
|
+
File.expand_path("../services", __dir__)
|
7
7
|
)
|
8
8
|
|
9
9
|
ENV["RACK_ENV"] ||= "development"
|
data/lib/strum/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Serhiy Nazarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-inflector
|
@@ -156,6 +156,8 @@ files:
|
|
156
156
|
- lib/strum/commands/resource/scaffold.rb
|
157
157
|
- lib/strum/commands/resource/serializer.rb
|
158
158
|
- lib/strum/commands/resource/service.rb
|
159
|
+
- lib/strum/json_serializer.rb
|
160
|
+
- lib/strum/serializer_name.rb
|
159
161
|
- lib/strum/service.rb
|
160
162
|
- lib/strum/sub_command_base.rb
|
161
163
|
- lib/strum/tasks/sequel.rake
|