itsf_services 0.0.3 → 0.1.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
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d807dd88c973c2b67fab0aa8332664e38afa6b9
|
4
|
+
data.tar.gz: 5f346484b6b2d3946170ae2898365c31c6297b53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b872af8a1c4948ff0f34f6972ac9ffd455873f8317bd3c79501f59ff2aec72e4d2d78946fa064caa64c704bbd811ed76e51b8cb645541fe6b7787a631e73f87
|
7
|
+
data.tar.gz: ea7cdc9f196789f5c9060ad0a069fc07ad77ef681c34704344f62815341c8b68751a5a5a6cac24210e35819f4c022fae017ebb9bc101fffd9f94ff035a429e0e
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Itsf
|
2
|
+
module Services
|
3
|
+
module V2
|
4
|
+
module Message
|
5
|
+
class Base
|
6
|
+
attr_accessor :service_class, :message, :level, :indent
|
7
|
+
|
8
|
+
def initialize(attributes = {})
|
9
|
+
send_attributes(attributes)
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_s(format = :default)
|
13
|
+
case format
|
14
|
+
when :html
|
15
|
+
when :default
|
16
|
+
"[#{service_class.name} | #{level}]: #{' ' * indent}#{message}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def send_attributes(attributes)
|
23
|
+
attributes.each do |name, value|
|
24
|
+
send("#{name}=", value)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -6,9 +6,11 @@ module Itsf
|
|
6
6
|
extend ActiveModel::Naming
|
7
7
|
|
8
8
|
attr_reader :errors
|
9
|
+
attr_reader :messages
|
9
10
|
attr_writer :success
|
10
11
|
|
11
12
|
def initialize
|
13
|
+
@messages = []
|
12
14
|
@errors = ActiveModel::Errors.new(self)
|
13
15
|
end
|
14
16
|
|
@@ -35,6 +37,7 @@ module Itsf
|
|
35
37
|
private
|
36
38
|
|
37
39
|
attr_writer :errors
|
40
|
+
attr_writer :messages
|
38
41
|
end
|
39
42
|
end
|
40
43
|
end
|
@@ -8,9 +8,13 @@ module Itsf
|
|
8
8
|
include ActiveModel::Validations
|
9
9
|
extend Forwardable
|
10
10
|
|
11
|
+
include ActiveModel::Conversion
|
12
|
+
def persisted?; false end
|
13
|
+
|
11
14
|
def_delegator :@instrumenter, :instrument
|
12
15
|
attr_accessor :instrumenter
|
13
16
|
attr_reader :response
|
17
|
+
attr_reader :_messages
|
14
18
|
|
15
19
|
def self.i18n_scope
|
16
20
|
'activerecord'
|
@@ -24,6 +28,7 @@ module Itsf
|
|
24
28
|
options = args.extract_options!
|
25
29
|
options.reverse_merge!(instrumenter: ActiveSupport::Notifications)
|
26
30
|
|
31
|
+
@_messages = []
|
27
32
|
@errors = ActiveModel::Errors.new(self)
|
28
33
|
|
29
34
|
initialize_instrumenter(options[:instrumenter])
|
@@ -59,17 +64,31 @@ module Itsf
|
|
59
64
|
end
|
60
65
|
|
61
66
|
def response
|
67
|
+
set_messages_on_response
|
62
68
|
set_errors_on_response
|
63
69
|
@response
|
64
70
|
end
|
65
71
|
|
66
72
|
def say(message, options = {})
|
67
|
-
options.reverse_merge!(indent: 0)
|
73
|
+
options.reverse_merge!(indent: 0, level: :info)
|
68
74
|
indent = options.delete(:indent)
|
69
|
-
|
75
|
+
level = options.delete(:level)
|
76
|
+
formatted_message = "[#{self.class.name}]: #{' ' * indent}#{message}"
|
77
|
+
puts formatted_message
|
78
|
+
@_messages << Services::V2::Message::Base.new(service_class: self.class, message: message, level: level, indent: indent)
|
70
79
|
true
|
71
80
|
end
|
72
81
|
|
82
|
+
def info(message, options = {})
|
83
|
+
options.reverse_merge!(level: :info)
|
84
|
+
say(message, options)
|
85
|
+
end
|
86
|
+
|
87
|
+
def warn(message, options = {})
|
88
|
+
options.reverse_merge!(level: :warning)
|
89
|
+
say(message, options)
|
90
|
+
end
|
91
|
+
|
73
92
|
def add_error_and_say(attribute, message, options = {})
|
74
93
|
errors.add(attribute, message)
|
75
94
|
say(message, options)
|
@@ -78,6 +97,10 @@ module Itsf
|
|
78
97
|
def set_errors_on_response
|
79
98
|
@response.send(:'errors=', @errors)
|
80
99
|
end
|
100
|
+
|
101
|
+
def set_messages_on_response
|
102
|
+
@response.send(:'messages=', @_messages)
|
103
|
+
end
|
81
104
|
end
|
82
105
|
end
|
83
106
|
end
|
data/lib/itsf_services.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itsf_services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Vasquez Angel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -56,6 +56,7 @@ files:
|
|
56
56
|
- config/routes.rb
|
57
57
|
- lib/itsf/services.rb
|
58
58
|
- lib/itsf/services/engine.rb
|
59
|
+
- lib/itsf/services/v2/message/base.rb
|
59
60
|
- lib/itsf/services/v2/response/base.rb
|
60
61
|
- lib/itsf/services/v2/service/base.rb
|
61
62
|
- lib/itsf/services/version.rb
|