rasti-app 7.0.1 → 8.0.1

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: 142dc067d4a36842117ab120c8c562ff25b4cae8
4
- data.tar.gz: 1eac819553b800ba8fba24061e071d828c76b45e
2
+ SHA256:
3
+ metadata.gz: c42c07b7fa78222a470a0333706bbbebd3d34d5bad6f192d5279820469f0895d
4
+ data.tar.gz: dd85a56fa4fc1fd531131ab82fa1213ede2c868605f361004bf01dfc0b8220f6
5
5
  SHA512:
6
- metadata.gz: 432d5d28ac9496a0c02d9e68c99331879b0eb4ef97d7d3d2c56fa71ff3757d8209927ba98f4bfbabdfe5dbe066e02430c70dfdc14966bf619f7cd942853a4cd2
7
- data.tar.gz: ceaa848dd8eb180e6fa0c75f27244bce1f96b10086a162571ddabdfc3cdc85017cf9b2094e5e78ce4f4609db9f12932e2c2ecae3cf53a3011121d6dac157b265
6
+ metadata.gz: ec32ec4361ee507ada6a7ce36ee4cf7ec0edb7d161d0718e6950fb7f7a9041a5afc7d29a8c094d203d5ff8d4c37f251d89cb459b620764845cd8375f3cc9f0ef
7
+ data.tar.gz: d1429899556f7041b617380a8870d62d3bfce8e5d0e567e1ae001c6f2663e3d30472cef1413382e7de9984364611ba5b09f6f12f9198f7bbd9ba6a926ce1adb2
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.1'
3
+ VERSION = '8.0.1'
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', '>= 3.0.1'
22
+ spec.add_runtime_dependency 'asynchronic', '~> 3.0', '>= 3.0.3'
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.1
4
+ version: 8.0.1
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-07-04 00:00:00.000000000 Z
11
+ date: 2021-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inflecto
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '3.0'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 3.0.1
36
+ version: 3.0.3
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '3.0'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 3.0.1
46
+ version: 3.0.3
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: multi_require
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -92,28 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.0'
95
+ version: '4.0'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '3.0'
103
- - !ruby/object:Gem::Dependency
104
- name: bundler
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '1.12'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: '1.12'
102
+ version: '4.0'
117
103
  - !ruby/object:Gem::Dependency
118
104
  name: rake
119
105
  requirement: !ruby/object:Gem::Requirement
@@ -267,8 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
253
  - !ruby/object:Gem::Version
268
254
  version: '0'
269
255
  requirements: []
270
- rubyforge_project:
271
- rubygems_version: 2.6.8
256
+ rubygems_version: 3.0.6
272
257
  signing_key:
273
258
  specification_version: 4
274
259
  summary: ''