ncore 3.3.0 → 3.3.4

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: 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