alula-ruby 2.6.3 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/alula/util.rb CHANGED
@@ -1,4 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alula
4
+ # Utility methods for the Alula gem
2
5
  class Util
3
6
  class << self
4
7
  #
@@ -13,10 +16,11 @@ module Alula
13
16
  # activesupport/lib/active_support/inflector/methods.rb, line 90
14
17
  def underscore(camel_cased_word)
15
18
  return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/
19
+
16
20
  word = camel_cased_word.to_s.gsub(/::/, '/')
17
- word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
18
- word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
19
- word.tr!("-", "_")
21
+ word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
22
+ word.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
23
+ word.tr!('-', '_')
20
24
  word.downcase!
21
25
  word
22
26
  end
@@ -28,21 +32,26 @@ module Alula
28
32
 
29
33
  def camelize(under_scored_word)
30
34
  return CAMELIZE_MAPPING[under_scored_word.to_s] if CAMELIZE_MAPPING.key?(under_scored_word.to_s)
35
+
31
36
  words = under_scored_word.to_s.split(/-|_/)
32
- words.each_with_index.map{ |el, i| i == 0 ? el.downcase : el.capitalize }.join
37
+ words.each_with_index.map { |el, i| i.zero? ? el.downcase : el.capitalize }.join
33
38
  end
34
39
 
35
40
  def upper_camelcase(under_scored_word)
36
41
  under_scored_word.to_s.split(/-|_/).map(&:capitalize).join
37
42
  end
38
43
 
39
- def split_on_word(string, separator_match = /-|_/, &block)
44
+ def upper_camelcase_from_camelcase(camel_cased_word)
45
+ camel_cased_word.split(/(?=[A-Z])/).map(&:capitalize).join
46
+ end
47
+
48
+ def split_on_word(string, separator_match = /-|_/, &_block)
40
49
  string.to_s.split(separator_match)
41
50
  end
42
51
 
43
52
  # https://stackoverflow.com/questions/9381553/ruby-merge-nested-hash
44
53
  def deep_merge(first, second)
45
- merger = proc do |key, v1, v2|
54
+ merger = proc do |_key, v1, v2|
46
55
  if Hash === v1 && Hash === v2
47
56
  v1.merge(v2, &merger)
48
57
  elsif Array === v1 && Array === v2
@@ -70,7 +79,7 @@ module Alula
70
79
 
71
80
  # Error objects contain a bunch of info, but all the good stuff
72
81
  # is stored in a sub-object named meta
73
- #
82
+ #
74
83
  # meta looks something like this
75
84
  # {
76
85
  # fieldName: 'field error description',
@@ -103,6 +112,14 @@ module Alula
103
112
 
104
113
  error_object
105
114
  end
115
+
116
+ def model_errors_from_dcp_response(response)
117
+ return false unless response.data['error'] || response.data['message']
118
+
119
+ {
120
+ model: response.data['message']
121
+ }
122
+ end
106
123
  end
107
124
  end
108
125
  end
data/lib/alula/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alula
4
- VERSION = '2.6.3'
4
+ VERSION = '2.7.0'
5
5
  end
data/lib/alula.rb CHANGED
@@ -1,13 +1,25 @@
1
1
  require 'alula/version'
2
2
  require 'request_store'
3
3
  require 'forwardable'
4
+ require 'logger'
4
5
  require_relative 'alula/resource_attributes'
6
+ require_relative 'alula/dcp/resource_attributes'
5
7
  require_relative 'alula/relationship_attributes'
6
8
  require_relative 'alula/api_operations/list'
7
9
  require_relative 'alula/api_operations/request'
8
10
  require_relative 'alula/api_operations/save'
9
11
  require_relative 'alula/api_operations/delete'
10
12
  require_relative 'alula/api_resource'
13
+ require_relative 'alula/dcp/error_handler'
14
+ require_relative 'alula/dcp/list_object'
15
+ require_relative 'alula/dcp_operations/list'
16
+ require_relative 'alula/dcp_operations/request'
17
+ require_relative 'alula/dcp_operations/save'
18
+ require_relative 'alula/dcp_operations/delete'
19
+ require_relative 'alula/dcp_operations/delete_staged'
20
+ require_relative 'alula/dcp/meta'
21
+ require_relative 'alula/dcp_resource'
22
+ require_relative 'alula/singleton_dcp_command_resource'
11
23
  require_relative 'alula/rpc_resource'
12
24
  require_relative 'alula/rpc_response'
13
25
  require_relative 'alula/rest_resource'
@@ -67,6 +79,11 @@ require_relative 'alula/resources/feature_plan'
67
79
  require_relative 'alula/resources/feature_planvideo'
68
80
  require_relative 'alula/resources/feature_price'
69
81
  require_relative 'alula/resources/feature_bysubject'
82
+ require_relative 'alula/resources/dcp/base_resource'
83
+ require_relative 'alula/resources/dcp/users_data'
84
+ require_relative 'alula/resources/dcp/users_data/user'
85
+ require_relative 'alula/resources/dcp/users_data/installer_pin'
86
+ require_relative 'alula/resources/dcp/config/synchronize'
70
87
  require_relative 'alula/resources/video/base_resource'
71
88
  require_relative 'alula/resources/video/device'
72
89
  require_relative 'alula/procedures/device_cellular_history_proc'
@@ -162,7 +179,7 @@ module Alula
162
179
  end
163
180
 
164
181
  def self.logger
165
- @@logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
182
+ @@logger ||= defined?(Rails) ? Rails.logger : Logger.new($stdout)
166
183
  end
167
184
 
168
185
  def self.logger=(logger)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alula-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.3
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Titus Johnson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-30 00:00:00.000000000 Z
11
+ date: 2025-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -207,6 +207,16 @@ files:
207
207
  - lib/alula/api_resource.rb
208
208
  - lib/alula/client.rb
209
209
  - lib/alula/client_configuration.rb
210
+ - lib/alula/dcp/error_handler.rb
211
+ - lib/alula/dcp/list_object.rb
212
+ - lib/alula/dcp/meta.rb
213
+ - lib/alula/dcp/resource_attributes.rb
214
+ - lib/alula/dcp_operations/delete.rb
215
+ - lib/alula/dcp_operations/delete_staged.rb
216
+ - lib/alula/dcp_operations/list.rb
217
+ - lib/alula/dcp_operations/request.rb
218
+ - lib/alula/dcp_operations/save.rb
219
+ - lib/alula/dcp_resource.rb
210
220
  - lib/alula/errors.rb
211
221
  - lib/alula/filter_builder.rb
212
222
  - lib/alula/helpers/device_helpers/attribute_translations_helper.rb
@@ -259,6 +269,12 @@ files:
259
269
  - lib/alula/relationship_attributes.rb
260
270
  - lib/alula/resource_attributes.rb
261
271
  - lib/alula/resources/billing_program.rb
272
+ - lib/alula/resources/dcp/base_resource.rb
273
+ - lib/alula/resources/dcp/config.rb
274
+ - lib/alula/resources/dcp/config/synchronize.rb
275
+ - lib/alula/resources/dcp/users_data.rb
276
+ - lib/alula/resources/dcp/users_data/installer_pin.rb
277
+ - lib/alula/resources/dcp/users_data/user.rb
262
278
  - lib/alula/resources/dealer.rb
263
279
  - lib/alula/resources/dealer_account_transfer.rb
264
280
  - lib/alula/resources/dealer_address.rb
@@ -304,6 +320,7 @@ files:
304
320
  - lib/alula/rest_resource.rb
305
321
  - lib/alula/rpc_resource.rb
306
322
  - lib/alula/rpc_response.rb
323
+ - lib/alula/singleton_dcp_command_resource.rb
307
324
  - lib/alula/singleton_rest_resource.rb
308
325
  - lib/alula/util.rb
309
326
  - lib/alula/version.rb