nuntius 1.2.1 → 1.2.3

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
  SHA256:
3
- metadata.gz: df98bf73de1a269908316bc3ef1f0c9db2c7f574747c2b47bc1dfa56f5c90949
4
- data.tar.gz: 3e05992c01c3d2318317bd165a0de414fa9fcbcdcb25edf9dee9c49f56676c66
3
+ metadata.gz: 51a140309f3795cd044824a25f27c43eb0fba451908244bf2a706300dbc64b63
4
+ data.tar.gz: 34d191435b233f2e2bfa5842e51200cf3c8f74997825d558ea7572db2286506a
5
5
  SHA512:
6
- metadata.gz: c6cf596ea8d983346ba1fe6828b4111789c4f833f7cb3acba07e7b00b40f4f2c6d00a0d8a7de91ba1001369304ae33dd99546f1b62bcc624cf63a326ced6d9fc
7
- data.tar.gz: 0330aed1bee32f7892f97e9443baceabd6b3b3a6e900e3e84df7f8d7f99c814fa64065e8f153b536b453454aa803910db929d14b31f2f038220b943a99a77398
6
+ metadata.gz: 22cf317eb93dd8961125c2c0832b6eb409b6f2debb6d748cee8070955f8f40c9a1fdb18125b690afd103491d152d60fe9ac14baaa8822ecf77eb89203eb6235e
7
+ data.tar.gz: '080ed91044f680fdaa1ee580191a73bba9f2dc860437d2eac254364c8a94416f8bcba8032c8363006b81deab5c7be9d65e6340a3a2c672ebca03cf9913e37369'
@@ -11,7 +11,8 @@ module Nuntius
11
11
  setting_reader :port, required: true, description: "Port (example: 578)"
12
12
  setting_reader :username, required: true, description: "Username (nuntius@entdec.com)"
13
13
  setting_reader :password, required: true, description: "Password"
14
- setting_reader :allow_list, required: false, default: [], description: "Allow list (example: [boxture.com, tom@degrunt.net])"
14
+ setting_reader :allow_list, required: false, default: [], description: "Allow list (example: [example.com, tim@apple.com])"
15
+ setting_reader :ssl, required: false, default: false, description: "Whether to use SSL or not"
15
16
 
16
17
  def deliver
17
18
  return block unless MailAllowList.new(settings[:allow_list]).allowed?(message.to)
@@ -31,7 +32,8 @@ module Nuntius
31
32
  port: port,
32
33
  user_name: username,
33
34
  password: password,
34
- return_response: true
35
+ return_response: true,
36
+ ssl: ssl
35
37
  end
36
38
 
37
39
  mail.to = message.to
@@ -7,7 +7,13 @@ module Nuntius
7
7
  end
8
8
 
9
9
  def perform
10
- Mail::IMAP.new(context.settings).all do |message, imap, uid|
10
+ settings = context.settings
11
+ settings.merge!(address: context.settings[:host],
12
+ port: context.settings[:port],
13
+ enable_ssl: context.settings[:enable_ssl],
14
+ user_name: context.settings[:username],
15
+ password: context.settings[:password])
16
+ Mail::IMAP.new(settings).all do |message, imap, uid|
11
17
  inbound_message = Nuntius::InboundMessage.find_or_initialize_by(transport: "mail", provider: "imap", provider_id: message.message_id)
12
18
  if inbound_message.new_record?
13
19
  inbound_message.digest = Digest::SHA256.hexdigest(message.to_s)
@@ -3,9 +3,20 @@
3
3
  module Nuntius
4
4
  module Options
5
5
  module ClassMethods
6
- def option(name, default: nil)
7
- attr_accessor(name)
8
- schema[name] = default
6
+ def option(name, default: nil, proc: false)
7
+ attr_writer(name)
8
+ schema[name] = {default: default, proc: proc}
9
+
10
+ if schema[name][:proc]
11
+ define_method(name) do |*params|
12
+ value = instance_variable_get(:"@#{name}")
13
+ instance_exec(*params, &value)
14
+ end
15
+ else
16
+ define_method(name) do
17
+ instance_variable_get(:"@#{name}")
18
+ end
19
+ end
9
20
  end
10
21
 
11
22
  def schema
@@ -14,8 +25,8 @@ module Nuntius
14
25
  end
15
26
 
16
27
  def set_defaults!
17
- self.class.schema.each do |name, default|
18
- instance_variable_set(:"@#{name}", default)
28
+ self.class.schema.each do |name, options|
29
+ instance_variable_set(:"@#{name}", options[:default])
19
30
  end
20
31
  end
21
32
 
@@ -27,7 +38,7 @@ module Nuntius
27
38
  class Configuration
28
39
  include Options
29
40
 
30
- option :logger, default: -> { Rails.logger }
41
+ option :logger, default: -> { Rails.logger }, proc: true
31
42
  option :admin_authentication_module, default: "Auxilium::Concerns::AdminAuthenticated"
32
43
  option :base_controller, default: "::ApplicationController"
33
44
  option :base_runner, default: "Nuntius::BasicApplicationRunner"
@@ -36,7 +47,7 @@ module Nuntius
36
47
  option :jobs_queue_name, default: "message"
37
48
  option :allow_custom_events, default: false
38
49
  option :active_storage_service
39
- option :host, default: ->(message) {}
50
+ option :host, default: ->(message) {}, proc: true
40
51
 
41
52
  attr_accessor :visible_scope, :add_metadata, :metadata_fields, :default_template_scope
42
53
  attr_writer :metadata_humanize, :default_params, :flow_color
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nuntius
4
- VERSION = "1.2.1"
4
+ VERSION = "1.2.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nuntius
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom de Grunt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-05 00:00:00.000000000 Z
11
+ date: 2024-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apnotic
@@ -374,6 +374,34 @@ dependencies:
374
374
  - - "~>"
375
375
  - !ruby/object:Gem::Version
376
376
  version: '0'
377
+ - !ruby/object:Gem::Dependency
378
+ name: debug
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - "~>"
382
+ - !ruby/object:Gem::Version
383
+ version: '0'
384
+ type: :development
385
+ prerelease: false
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - "~>"
389
+ - !ruby/object:Gem::Version
390
+ version: '0'
391
+ - !ruby/object:Gem::Dependency
392
+ name: rubocop
393
+ requirement: !ruby/object:Gem::Requirement
394
+ requirements:
395
+ - - "~>"
396
+ - !ruby/object:Gem::Version
397
+ version: '1'
398
+ type: :development
399
+ prerelease: false
400
+ version_requirements: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - "~>"
403
+ - !ruby/object:Gem::Version
404
+ version: '1'
377
405
  - !ruby/object:Gem::Dependency
378
406
  name: standard
379
407
  requirement: !ruby/object:Gem::Requirement