origen 0.60.5 → 0.60.6

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: db57b94cabfd9e14047a2922c410b920da75fd4bb9a66ba8bba6bb972cb4b125
4
- data.tar.gz: ad5be66cb94c42632a2d801b463ffb2984fd4fa9cdaffb5104d9bc3707bf53d4
3
+ metadata.gz: 7a8de77b7e1b7c8c36dbfbe4c09cfed6abf1fd1d508d915f2b06af3c62595fac
4
+ data.tar.gz: 13f365bc2529ba358d79bc281442190f4f41c723fa10d533badd4b349f476ea7
5
5
  SHA512:
6
- metadata.gz: a9df386c2629ca963ddb93b0c65d6eb0a6281bc394a0c5f5bf17a0c8c3502b4d184c45fdc97ab6f3f2b1ade1fd3141aa8725dcda06a68549954dcdbe9f5799e2
7
- data.tar.gz: 855228da5608fb39726acfe33e56e00ac46f5d2a5c557bb6f1c840cfc912a2bd1ae1627e19ac37f3cee67bac31d82acd177a0d9d774eb6440cbed76cfd7bb86e
6
+ metadata.gz: fec7b03350e86093b6733a2f870df766110489fa54bae7868d0d761b6a61811945f5483e4f57be963a0a3f4832dfef58abb924b85050da460e1b853ea5887192
7
+ data.tar.gz: 7cc42194880ba198e6e5dfa0b14321a96a6fcc83ad87c83b25fc0d5a0c759c90bfd20135fcebbf4362ebd785905d19da1deb532df9a4aac22badbb9f5918cb15
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Origen
2
2
  MAJOR = 0
3
3
  MINOR = 60
4
- BUGFIX = 5
4
+ BUGFIX = 6
5
5
  DEV = nil
6
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
7
7
  end
data/lib/origen/loader.rb CHANGED
@@ -117,11 +117,23 @@ module Origen
117
117
  # If a block definition exists for the given model, then this will load it and apply it to
118
118
  # the model.
119
119
  # if options[:inherit] is passed, it will first try to load the files for the class name contained
120
- # in that option, even if its from a plugin app
120
+ # in that option, even if its from a plugin app. Additionally, any bugs/features will be inherited
121
+ # as well unless disable_bug_inheritance or disable_feature_inheritance options are passed
121
122
  # Returns true if a model is found and loaded, otherwise nil.
122
123
  def self.load_block(model, options = {})
123
124
  model = model.model # Ensure we have a handle on the model and not its controller
124
125
  loaded = nil
126
+
127
+ if options[:inherit]
128
+ # pass down any bugs/features from the inherited block class
129
+ unless options[:disable_bug_inheritance]
130
+ model.class.instance_variable_set(:@bugs, options[:inherit].constantize.bugs.merge(model.class.bugs))
131
+ end
132
+ unless options[:disable_feature_inheritance]
133
+ model.class.instance_variable_set(:@features, options[:inherit].constantize.features.merge(model.class.features))
134
+ end
135
+ end
136
+
125
137
  if local_app = options[:app] || model.app
126
138
  if options[:path]
127
139
  local_full_paths = Array(options[:path])
@@ -132,6 +144,7 @@ module Origen
132
144
  end
133
145
  app_paths_map = { local_app => local_full_paths }
134
146
  if options[:inherit]
147
+ # update app_paths_map with the relevant inherited files
135
148
  inherit_full_paths = options[:inherit].split('::')
136
149
  inherit_app = Origen.app(inherit_full_paths.shift.underscore.to_sym)
137
150
  inherit_full_paths = [inherit_full_paths.join('/')]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.60.5
4
+ version: 0.60.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-19 00:00:00.000000000 Z
11
+ date: 2022-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport