ncore 3.3.0 → 3.3.4

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: 0104ef39fd536e1845266782c236e1a00af04c0c6187b62567f247f3558f51bd
4
- data.tar.gz: 99668e3c3ee5b104f2ec649a6dce845821943c9b67e361d0721a64ea9e5e94f0
3
+ metadata.gz: 36ef02739c4a1da72bcddc653c521e617947618f18819df4cf03d5e83695c7bd
4
+ data.tar.gz: fb2363f1754bb367126b871faeaaa0327869166f276715dbde1ec9cea698f41a
5
5
  SHA512:
6
- metadata.gz: 257d7bd01c3f0c77b5b7c6f65d6bba245c8a7331627003ea1a72af9664eaf8a19026bc21df976c2499106f3701ef712a9b0a92b3754ec784468b9eb2783171b8
7
- data.tar.gz: 2858e6b9cd9c067b41ebe4ba2968747db8553af7fe37c2a3e69abda1f22d60f8e841fce7e4b8dcf204ba6a5bbf6debf601fb18b111cc4a6f050ce47195042685
6
+ metadata.gz: d5f6e466021e4ddfdd378ebc381e515931861a51cd3df4c1340de887f044f47ffe8721a0a94f6c3fb4e59c44eeb78abd94a21e6682ec8ce999072b74e7fa3d3c
7
+ data.tar.gz: 195dc54e8e8414819ceef4d0714ac1118cf9bae7fc03143019c18d8fa5fe4d800b8850a9ded557667d85a970329dc9589ee2e5363ceb3546d43bfcf90d433349
data/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ #### 3.3.4
2
+
3
+ - Fix :cache option on Ruby 3.0
4
+
5
+ #### 3.3.3
6
+
7
+ - Handle recursion in #inspect
8
+
9
+ #### 3.3.2
10
+
11
+ - Ruby 3.0 compatibility
12
+
13
+ #### 3.3.1
14
+
15
+ - Fix module_parent when using ActiveSupport 5.2
16
+
1
17
  #### 3.3.0
2
18
 
3
19
  - Allow headers: {} as part of params/attribs everywhere
data/lib/ncore.rb CHANGED
@@ -40,3 +40,4 @@ end
40
40
 
41
41
  require 'ncore/rails/action_controller' if defined?(::ActionController)
42
42
  require 'ncore/rails/active_model'
43
+ require 'ncore/rails/module_fix'
@@ -160,10 +160,14 @@ module NCore
160
160
  end
161
161
 
162
162
 
163
- def load(data:, errors: nil, metadata: nil)
164
- self.metadata = metadata || {}.with_indifferent_access
165
- self.errors = parse_errors(errors)
166
- data.each do |k,v|
163
+ def load(args={})
164
+ raise ArgumentError, "Missing :data" unless args.key?(:data)
165
+ extra_keys = args.keys - %i(data errors metadata)
166
+ raise ArgumentError, "Unexpected keys: #{extra_keys.inpsect}" if extra_keys.any?
167
+
168
+ self.metadata = args[:metadata] || {}.with_indifferent_access
169
+ self.errors = parse_errors(args[:errors])
170
+ args[:data].each do |k,v|
167
171
  if respond_to? "#{k}="
168
172
  send "#{k}=", self.class.interpret_type(v, api_creds)
169
173
  else
@@ -26,7 +26,7 @@ module NCore
26
26
  end
27
27
 
28
28
  if store && req[:method] == :get
29
- store.fetch request_cache_key(req.slice(:url, :headers)), cache_opts do
29
+ store.fetch request_cache_key(**req.slice(:url, :headers)), cache_opts do
30
30
  super
31
31
  end
32
32
  else
@@ -0,0 +1,19 @@
1
+ # ActiveSupport 6.0 changed :parent -> :module_parent
2
+ # This continues to support AS <= 5.2.
3
+
4
+ module NCore
5
+ module ModuleFix
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ alias :module_parent :parent
10
+ alias :module_parent_name :parent_name
11
+ alias :module_parents :parents
12
+ end
13
+
14
+ end
15
+ end
16
+
17
+ unless Module.respond_to?(:module_parent)
18
+ Module.include NCore::ModuleFix
19
+ end
data/lib/ncore/util.rb CHANGED
@@ -62,7 +62,15 @@ module NCore
62
62
 
63
63
 
64
64
  def inspect
65
- "#<#{self.class}:0x#{'%016x'%self.object_id} id: #{id.inspect}, attribs: #{@attribs.except(:id).inspect}, metadata: #{metadata.inspect}>"
65
+ base = "#{self.class}:0x#{'%016x'%self.object_id} id: #{id.inspect}"
66
+ @@inspect_chain ||= []
67
+ return "#<#{base}, ...>" if @@inspect_chain.include? self
68
+ begin
69
+ @@inspect_chain.push self
70
+ "#<#{base}, attribs: #{@attribs.except(:id).inspect}, metadata: #{metadata.inspect}>"
71
+ ensure
72
+ @@inspect_chain.pop
73
+ end
66
74
  end
67
75
 
68
76
  end
data/lib/ncore/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module NCore
2
- VERSION = '3.3.0'
2
+ VERSION = '3.3.4'
3
3
  end
data/ncore.gemspec CHANGED
@@ -21,6 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'activemodel', '>= 5.2', '< 6.2'
22
22
  spec.add_dependency 'excon', '~> 0.32'
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.3"
24
+ spec.add_development_dependency "bundler"
25
25
  spec.add_development_dependency "rake"
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ncore
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Notioneer Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-15 00:00:00.000000000 Z
11
+ date: 2021-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -48,16 +48,16 @@ dependencies:
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '1.3'
53
+ version: '0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '1.3'
60
+ version: '0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -117,6 +117,7 @@ files:
117
117
  - lib/ncore/rails/action_controller.rb
118
118
  - lib/ncore/rails/active_model.rb
119
119
  - lib/ncore/rails/log_subscriber.rb
120
+ - lib/ncore/rails/module_fix.rb
120
121
  - lib/ncore/singleton_base.rb
121
122
  - lib/ncore/util.rb
122
123
  - lib/ncore/version.rb
@@ -140,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
141
  - !ruby/object:Gem::Version
141
142
  version: '0'
142
143
  requirements: []
143
- rubygems_version: 3.0.9
144
+ rubygems_version: 3.2.15
144
145
  signing_key:
145
146
  specification_version: 4
146
147
  summary: NCore - Gem for building REST API clients