mks_common 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1aba70bdf7f2808518036bab9676cfad18e2debb2dae6d4c3e9ee660dd434cd1
4
- data.tar.gz: f80732a7506e3faf628a2800f4d372b773c43537ffdf51c0244bc9e49ee2cfa4
3
+ metadata.gz: 8c80194251b33b0e31cac450309e3733bd4823b03e558249aabd5b803e9993ac
4
+ data.tar.gz: cb2bdd5da8b44fe4d2dd20e09532bcc611b7aeb9a63ed8d821950f16c4ff79e2
5
5
  SHA512:
6
- metadata.gz: cf1be9f1d149e6d9733a25f93d8907acaafeb1ee04964157dd8eb6c1cf53e4578389a96bc57da0e7970e38b641fc4fef03e70aac87f484844378d1b8f864f45d
7
- data.tar.gz: 7c663751a7d18905977c8027894e8003900e843becc9b9e05535c1ceddc7eddcff6efd39b4dd72b28a4225f205173676cf5af6c3aaee3730108ef2105ed9c88b
6
+ metadata.gz: c70e77cecf3a1d5efe2c6061cb57814e762f7379c5c5dc2d8e3aa145da87296826b1a604fae9a7226fedb6e1988b29d64d9f6a910d4f3887bcbdc6c479e70cd9
7
+ data.tar.gz: 2077e73e9c670add4b400b0b8886a45a520bd34daece364272b2209560fae6e890476b0c2ceced50c4197779797bcacaa4214008be803151173793a0f9298be4
@@ -5,7 +5,7 @@ module Mks
5
5
  class MethodResponse
6
6
  attr_accessor :success, :message, :data, :errors, :total
7
7
 
8
- def initialize(success = nil, message = nil, data = nil, errors = [], total = nil)
8
+ def initialize(success=nil, message=nil, data=nil, errors=[], total=nil)
9
9
  @success = success
10
10
  @message = message
11
11
  @data = data
@@ -13,17 +13,23 @@ module Mks
13
13
  @total = total
14
14
  end
15
15
 
16
- def self.success_response(data, msg = nil)
17
- if data.kind_of?(Array) || data.class.name == 'ActiveRecord::Relation'
18
- MethodResponse.new(true, msg, data[0].json(data), nil, data.count)
19
- else
20
- MethodResponse.new(true, msg, data.json, nil, nil)
21
- end
16
+ def self.from_json(json_response)
17
+ response = JSON.parse json_response
18
+ success = response['success'] if response.has_key?('success')
19
+ message = response['message'] if response.has_key?('message')
20
+ data = response['data'] if response.has_key?('data')
21
+ errors = response['errors'] if response.has_key?('errors')
22
+ total = response['total'] if response.has_key?('total')
23
+ MethodResponse.new(success, message, data, errors, total)
22
24
  end
23
25
 
24
- def self.failure_response(data)
25
- data.errors.details
26
+ def to_hash
27
+ hash = {}
28
+ self.instance_variables.each do |var|
29
+ hash[var.to_s.delete("@")] = self.instance_variable_get var
30
+ end
31
+ return hash
26
32
  end
27
33
  end
28
34
  end
29
- end
35
+ end
@@ -0,0 +1,9 @@
1
+ module Mks
2
+ module Common
3
+ class Util
4
+ def self.error_messages obj, name=obj.class.name
5
+ obj.errors.full_messages.inject([]) { |list, msg| list << "#{name} #{msg}"}
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  module Mks
2
2
  module Common
3
- VERSION = '1.0.5'.freeze
3
+ VERSION = '1.1.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mks_common
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-04 00:00:00.000000000 Z
11
+ date: 2020-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -107,6 +107,7 @@ files:
107
107
  - bin/console
108
108
  - bin/setup
109
109
  - lib/mks/common/methodresponse.rb
110
+ - lib/mks/common/util.rb
110
111
  - lib/mks/common/version.rb
111
112
  - lib/mks_common.rb
112
113
  - mks_common.gemspec
@@ -130,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
131
  version: '0'
131
132
  requirements: []
132
133
  rubyforge_project:
133
- rubygems_version: 2.7.6
134
+ rubygems_version: 2.7.6.2
134
135
  signing_key:
135
136
  specification_version: 4
136
137
  summary: Common reusable classes for MKS