rasti-app 7.0.0 → 8.0.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
- SHA1:
3
- metadata.gz: 1f5e7d237705fb022c18bf1b05f5ffb4d340973c
4
- data.tar.gz: f7f735f1a1993da764987479181cf3c3bea52763
2
+ SHA256:
3
+ metadata.gz: 7972c3bb037aef600f00035632bb6c08743a019dd6f37d38d5803e5ab7e70c44
4
+ data.tar.gz: 22b0c8e2eb9e7dc2adcea7e24116608fb09e7a05f7dc9272e1804994c8e2c375
5
5
  SHA512:
6
- metadata.gz: ddc1634232efaf679ed4f7e9feb87320d09d5d696dd7f41b6f6ba4cda3ce2271650bcbd487cb754c2d8ff4a99ca0cd3bba004d99239e92e04c47fc4d4dc15bfb
7
- data.tar.gz: b50499f3b04aec69f0aed9044dea0885aadca7650e4195166689be0776d9cd13a2e6f91a8bcbc2a76eb3cafbd729aa220e688169aaabb334344dbc962a171b2b
6
+ metadata.gz: 33c5bce4648dc13e03a9645538991a0779e8c87cd799e8c219fb0440987b1b26bf6cbb4a70a29f29321fec13e79ebba73c08ddb23b05a5ea3144aca0f600d8bf
7
+ data.tar.gz: 6c751407cdf3730478f74bc790966d4f8aabc1a11ef41fa5f398bc95b8222176c8fdf8f75929a19deae090ba5e09c6730c0be67587d130553b718d1d821d801b
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.4.0
1
+ ruby-2.5.7
data/.travis.yml CHANGED
@@ -1,14 +1,15 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 1.9.3
5
4
  - 2.0
6
5
  - 2.1
7
6
  - 2.2
8
- - 2.3.0
9
- - 2.4.0
10
- - jruby-1.7.25
11
- - jruby-9.1.7.0
7
+ - 2.3
8
+ - 2.4
9
+ - 2.5
10
+ - 2.6
11
+ - 2.7
12
+ - jruby-9.2.9.0
12
13
  - ruby-head
13
14
  - jruby-head
14
15
 
@@ -16,7 +17,4 @@ matrix:
16
17
  fast_finish: true
17
18
  allow_failures:
18
19
  - rvm: ruby-head
19
- - rvm: jruby-head
20
-
21
- before_install:
22
- - gem install bundler
20
+ - rvm: jruby-head
data/lib/rasti/app.rb CHANGED
@@ -22,7 +22,7 @@ module Rasti
22
22
  def_delegators :facade, :interactions,
23
23
  :synchronic_interactions,
24
24
  :asynchronic_interactions,
25
- :permissions,
25
+ :permissions,
26
26
  :valid_permission?
27
27
 
28
28
  attr_reader :facade
@@ -64,22 +64,18 @@ module Rasti
64
64
  form = self.class.facade.build_form name, params
65
65
  authorize! permission, form
66
66
  result = self.class.facade.call name, environment, session, form
67
- after_call name, form.attributes, result
67
+ after_call name, form.to_h, result
68
68
 
69
69
  result
70
70
  end
71
71
 
72
72
  def enqueue(name, permission, params={})
73
- options = {
74
- queue: params.delete(:queue),
75
- job_id: params.delete(:job_id),
76
- job_wrapper: params.delete(:job_wrapper)
77
- }
78
-
79
- form = self.class.facade.build_form name, params
73
+ options, attributes = Utils.split_hash params, [:queue, :job_id, :job_wrapper]
74
+
75
+ form = self.class.facade.build_form name, attributes
80
76
  authorize! permission, form
81
77
  result = self.class.facade.enqueue name, session, form, options
82
- after_call name, form.attributes, result
78
+ after_call name, form.to_h, result
83
79
 
84
80
  result
85
81
  end
@@ -13,13 +13,15 @@ module Rasti
13
13
  end
14
14
 
15
15
  def enqueue(interaction, params)
16
- job.send :async, Job, queue: params.delete(:queue) || Asynchronic.default_queue,
17
- alias: params.delete(:alias) || interaction,
18
- dependency: params.delete(:dependency),
19
- dependencies: params.delete(:dependencies),
16
+ options, attributes = Utils.split_hash params, [:queue, :alias, :dependency, :dependencies]
17
+
18
+ job.send :async, Job, queue: options[:queue] || Asynchronic.default_queue,
19
+ alias: options[:alias] || interaction,
20
+ dependency: options[:dependency],
21
+ dependencies: options[:dependencies],
20
22
  interaction: interaction,
21
23
  session: session,
22
- params: params
24
+ params: attributes
23
25
  end
24
26
 
25
27
  def result_of(reference)
@@ -35,7 +35,7 @@ module Rasti
35
35
  end
36
36
 
37
37
  def form_attributes
38
- interaction.const_defined?(:Form) ? interaction.const_get(:Form).attributes : {}
38
+ interaction.const_defined?(:Form) ? interaction.const_get(:Form).attributes : []
39
39
  end
40
40
 
41
41
  end
@@ -92,7 +92,7 @@ module Rasti
92
92
  alias: interaction,
93
93
  interaction: interaction,
94
94
  session: session,
95
- params: form.attributes
95
+ params: form.to_h
96
96
  end
97
97
 
98
98
  def synchronic_interactions
@@ -125,4 +125,4 @@ module Rasti
125
125
 
126
126
  end
127
127
  end
128
- end
128
+ end
@@ -9,6 +9,7 @@ module Rasti
9
9
 
10
10
  define_method name do
11
11
  cache[name] ||= begin
12
+ raise "Undefined settings for service: #{name}" unless settings.key? name
12
13
  adapter_class = Consty.get(settings[name][:adapter], self.class.services[name])
13
14
  self.class.services[name].new adapter_class.new(environment, settings[name][:options])
14
15
  end
@@ -3,18 +3,18 @@ module Rasti
3
3
  class Settings
4
4
  class << self
5
5
 
6
- def load(environment)
7
- load_file File.join(Dir.pwd, "#{environment}.yml")
6
+ def load(environment, options={})
7
+ load_file File.join(Dir.pwd, "#{environment}.yml"), options
8
8
  end
9
9
 
10
- def load_file(filename)
11
- Hash::Accessible.new(evaluate(File.read(filename))).deep_freeze
10
+ def load_file(filename, options={})
11
+ Hash::Accessible.new(evaluate(File.read(filename), options)).deep_freeze
12
12
  end
13
13
 
14
14
  private
15
15
 
16
- def evaluate(yml)
17
- YAML.load ERB.new(yml).result
16
+ def evaluate(yml, options={})
17
+ YAML.load ERB.new(yml).result_with_hash(options)
18
18
  end
19
19
 
20
20
  end
@@ -21,6 +21,10 @@ module Rasti
21
21
  namespace.empty? ? nil : Object.const_get(namespace)
22
22
  end
23
23
 
24
+ def split_hash(hash, keys)
25
+ [hash.slice(*keys), hash.slice(*(hash.keys - keys))]
26
+ end
27
+
24
28
  end
25
29
  end
26
30
  end
@@ -1,5 +1,5 @@
1
1
  module Rasti
2
2
  class App
3
- VERSION = '7.0.0'
3
+ VERSION = '8.0.0'
4
4
  end
5
5
  end
data/rasti-app.gemspec CHANGED
@@ -19,13 +19,12 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ['lib']
20
20
 
21
21
  spec.add_runtime_dependency 'inflecto', '~> 0.0'
22
- spec.add_runtime_dependency 'asynchronic', '~> 3.0'
22
+ spec.add_runtime_dependency 'asynchronic', '~> 3.0', '>= 3.0.2'
23
23
  spec.add_runtime_dependency 'multi_require', '~> 1.0'
24
24
  spec.add_runtime_dependency 'hash_ext', '~> 0.5'
25
25
  spec.add_runtime_dependency 'consty', '~> 1.0'
26
- spec.add_runtime_dependency 'rasti-form', '~> 3.0'
26
+ spec.add_runtime_dependency 'rasti-form', '~> 4.0'
27
27
 
28
- spec.add_development_dependency 'bundler', '~> 1.12'
29
28
  spec.add_development_dependency 'rake', '~> 11.0'
30
29
  spec.add_development_dependency 'minitest', '~> 5.0'
31
30
  spec.add_development_dependency 'minitest-colorin', '~> 0.1'
@@ -33,10 +32,4 @@ Gem::Specification.new do |spec|
33
32
  spec.add_development_dependency 'simplecov', '~> 0.12'
34
33
  spec.add_development_dependency 'coveralls', '~> 0.8'
35
34
  spec.add_development_dependency 'pry-nav', '~> 0.2'
36
-
37
- if RUBY_VERSION < '2'
38
- spec.add_development_dependency 'term-ansicolor', '~> 1.3.0'
39
- spec.add_development_dependency 'tins', '~> 1.6.0'
40
- spec.add_development_dependency 'json', '~> 1.8'
41
- end
42
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rasti-app
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Naiman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-24 00:00:00.000000000 Z
11
+ date: 2021-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inflecto
@@ -31,6 +31,9 @@ dependencies:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.0'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 3.0.2
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +41,9 @@ dependencies:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
43
  version: '3.0'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.2
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: multi_require
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +92,14 @@ dependencies:
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '3.0'
95
+ version: '4.0'
90
96
  type: :runtime
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '3.0'
97
- - !ruby/object:Gem::Dependency
98
- name: bundler
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1.12'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.12'
102
+ version: '4.0'
111
103
  - !ruby/object:Gem::Dependency
112
104
  name: rake
113
105
  requirement: !ruby/object:Gem::Requirement
@@ -261,8 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
253
  - !ruby/object:Gem::Version
262
254
  version: '0'
263
255
  requirements: []
264
- rubyforge_project:
265
- rubygems_version: 2.6.8
256
+ rubygems_version: 3.0.6
266
257
  signing_key:
267
258
  specification_version: 4
268
259
  summary: ''