origen 0.55.1 → 0.55.2

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
- SHA256:
3
- metadata.gz: 51a69dd9a87393aab955d52811375f4c601673ec38666a6dce21101eba2b56ca
4
- data.tar.gz: 710cf69a1ecfdca6c6bd7cb9e8124acae115c3a09cca274f55c7227545ac25d7
2
+ SHA1:
3
+ metadata.gz: 5cf8ef1db0f389fbc583bff6c1b08c1758b3e83e
4
+ data.tar.gz: d813e05d000eafc086a6622667775f12fb21a00d
5
5
  SHA512:
6
- metadata.gz: 5c3433290d16e6b279d335e3ff5fd8bcb494a1ca36c842870d7aa1e6e76c94912e519bb5144afddd205074493e4e97d960116cdaa9352383b43d1bf20189c6ba
7
- data.tar.gz: bc81251777e59c3d23ae98167d81a1b99d62f0d31d344a828511c5a13b5dccf088a6a55b88165b97fbb0a0edcda8e5c158681c645402110691f6d1c6ae76a368
6
+ metadata.gz: 7b8a52639b9294d8710786e7f310b978c4fa4170d05880cbf60316914c1ecba3418da55921b54c4fbb17dd934ab4e98e6f99830a7655e1587f5ca0f08d276d57
7
+ data.tar.gz: 7228e9ffd9d73d7fc5c73b767fee9201c370d71a3c72bab1237ff644876cd534338267823127eaa840a6633167f9e08d811332ef9ef8d7d0ab5bb9a79ba74314
@@ -1,7 +1,7 @@
1
1
  module Origen
2
2
  MAJOR = 0
3
3
  MINOR = 55
4
- BUGFIX = 1
4
+ BUGFIX = 2
5
5
  DEV = nil
6
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
7
7
  end
@@ -321,7 +321,7 @@ Your workspace has local modifications that are preventing the requested action
321
321
  file.puts ''
322
322
  end
323
323
  file.puts ''
324
- file.puts note.escape_underscores
324
+ file.puts note.escape_underscores(smartly = true)
325
325
  file.puts ''
326
326
  file.puts text
327
327
  end
@@ -1,4 +1,5 @@
1
1
  require 'active_support/core_ext/string/inflections'
2
+ require 'uri'
2
3
  begin
3
4
  require 'scrub_rb'
4
5
  rescue LoadError
@@ -19,11 +20,84 @@ class String
19
20
  end
20
21
  end
21
22
 
22
- def escape_underscores
23
- gsub('_', '\_')
23
+ def escape_underscores(smartly = false)
24
+ if smartly
25
+ # Need to make sub-string ranges where the URLs are located
26
+ urls = URI.extract(self, %w(http https ssh))
27
+ url_matches = [].tap do |new_ary|
28
+ urls.each do |url|
29
+ scan(/#{Regexp.escape(url)}/) do |c|
30
+ indices = ($LAST_MATCH_INFO.offset(0).first..($LAST_MATCH_INFO.offset(0).first + c.size - 1))
31
+ new_ary << [indices, c]
32
+ end
33
+ end
34
+ end
35
+ # This order is because a better single regex is not yet found
36
+ italic_regex = [/^(\_\w+\_)\s+/, /(\_\w+\_)$/, /\s*(\_\w+\_)\s+/]
37
+ italic_matches = [].tap do |new_ary|
38
+ italic_regex.each_with_index do |regex, i|
39
+ scan(regex) do |c|
40
+ offset = c.first.size - 1
41
+ if i == 0
42
+ indices = (0..offset)
43
+ elsif i == 1
44
+ indices = (size - 1 - offset..size - 1)
45
+ else
46
+ indices = ($LAST_MATCH_INFO.offset(0).first..($LAST_MATCH_INFO.offset(0).first + c.first.size - 1))
47
+ end
48
+ new_ary << [indices, c]
49
+ end
50
+ end
51
+ end
52
+ # Make sure there are no italic matches within the URL ranges
53
+ filtered_italic_matches = [].tap do |new_ary|
54
+ url_matches.each do |url_ary|
55
+ url_range = url_ary.first
56
+ italic_matches.each do |italic_ary|
57
+ italic_range = italic_ary.first
58
+ # Ruby 2.6 has the Range#cover method but until then
59
+ unless ranges_overlap?(url_range, italic_range)
60
+ new_ary << italic_ary unless new_ary.include?(italic_ary)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ italic_ranges = [].tap do |new_ary|
66
+ filtered_italic_ranges = filtered_italic_matches.map(&:first)
67
+ italic_range_mins = filtered_italic_matches.map(&:first).map(&:min).sort
68
+ italic_range_mins.each_with_index do |range_min, i|
69
+ filtered_italic_ranges.each do |r|
70
+ new_ary << r if r.min == range_min
71
+ end
72
+ end
73
+ end
74
+ str = dup
75
+ inc = 0
76
+ italic_ranges.each do |r|
77
+ str[r.first + inc] = '\_'
78
+ inc += 1
79
+ str[r.last + inc] = '\_'
80
+ inc += 1
81
+ end
82
+ str
83
+ else
84
+ gsub('_', '\_')
85
+ end
24
86
  end
25
87
  alias_method :escape_underscore, :escape_underscores
26
88
 
89
+ def match_all(regex)
90
+ match_str = self
91
+ matches = []
92
+ while match_str.length > 0
93
+ md = match_str.match(regex)
94
+ break unless md
95
+ matches << md
96
+ match_str = md.post_match
97
+ end
98
+ matches
99
+ end
100
+
27
101
  def camel_case
28
102
  Origen.deprecate "String#camel_case! is deprecated, use String#camelcase instead, or if you want to get rid of spaces: my_string.gsub(' ', '_').camelcase"
29
103
  gsub(/\s+/, '_').split('_').map(&:capitalize).join
@@ -167,6 +241,10 @@ class String
167
241
 
168
242
  private
169
243
 
244
+ def ranges_overlap?(r1, r2)
245
+ !(r1.first > r2.last || r1.last < r2.first)
246
+ end
247
+
170
248
  # Convert a verilog number string to an integer
171
249
  def verilog_to_dec
172
250
  verilog_hash = parse_verilog_number
@@ -8,16 +8,16 @@ Gem::Specification.new do |s|
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 1.8.11".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Stephen McGinty".freeze]
11
- s.date = "2019-09-13"
11
+ s.date = "2020-01-29"
12
12
  s.email = ["stephen.f.mcginty@gmail.com".freeze]
13
13
  s.files = ["bin/boot.rb".freeze, "config/application.rb".freeze, "config/boot.rb".freeze, "config/commands.rb".freeze, "config/shared_commands.rb".freeze, "config/version.rb".freeze, "lib/origen_app_generators.rb".freeze, "lib/origen_app_generators/application.rb".freeze, "lib/origen_app_generators/base.rb".freeze, "lib/origen_app_generators/empty_application.rb".freeze, "lib/origen_app_generators/empty_plugin.rb".freeze, "lib/origen_app_generators/new.rb".freeze, "lib/origen_app_generators/new_app_tests.rb".freeze, "lib/origen_app_generators/origen_infrastructure/app_generator_plugin.rb".freeze, "lib/origen_app_generators/plugin.rb".freeze, "lib/origen_app_generators/test_engineering/common.rb".freeze, "lib/origen_app_generators/test_engineering/stand_alone_application.rb".freeze, "lib/origen_app_generators/test_engineering/test_block.rb".freeze, "templates/app_generators".freeze, "templates/app_generators/application".freeze, "templates/app_generators/application/.gitignore".freeze, "templates/app_generators/application/.irbrc".freeze, "templates/app_generators/application/.rspec".freeze, "templates/app_generators/application/.travis.yml".freeze, "templates/app_generators/application/Gemfile".freeze, "templates/app_generators/application/Rakefile".freeze, "templates/app_generators/application/app".freeze, "templates/app_generators/application/app/blocks".freeze, "templates/app_generators/application/app/blocks/top_level.rb".freeze, "templates/app_generators/application/app/lib".freeze, "templates/app_generators/application/app/lib/module.rb".freeze, "templates/app_generators/application/app/templates".freeze, "templates/app_generators/application/app/templates/web".freeze, "templates/app_generators/application/app/templates/web/index.md.erb".freeze, "templates/app_generators/application/app/templates/web/layouts".freeze, "templates/app_generators/application/app/templates/web/layouts/_basic.html.erb".freeze, "templates/app_generators/application/app/templates/web/partials".freeze, "templates/app_generators/application/app/templates/web/partials/_navbar.html.erb".freeze, "templates/app_generators/application/app/templates/web/release_notes.md.erb".freeze, "templates/app_generators/application/config".freeze, "templates/app_generators/application/config/application.rb".freeze, "templates/app_generators/application/config/boot.rb".freeze, "templates/app_generators/application/config/commands.rb".freeze, "templates/app_generators/application/config/maillist_dev.txt".freeze, "templates/app_generators/application/config/maillist_prod.txt".freeze, "templates/app_generators/application/config/version.rb".freeze, "templates/app_generators/application/doc".freeze, "templates/app_generators/application/doc/history".freeze, "templates/app_generators/application/dot_keep".freeze, "templates/app_generators/application/origen_core_session".freeze, "templates/app_generators/application/spec".freeze, "templates/app_generators/application/spec/spec_helper.rb".freeze, "templates/app_generators/application/target".freeze, "templates/app_generators/application/target/debug.rb".freeze, "templates/app_generators/application/target/default.rb".freeze, "templates/app_generators/application/target/production.rb".freeze, "templates/app_generators/new".freeze, "templates/app_generators/new/generator.rb".freeze, "templates/app_generators/new/info.md.erb".freeze, "templates/app_generators/origen_infrastructure".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/application.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/base.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/module.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/plugin.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/config".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/config/load_generators.rb".freeze, "templates/app_generators/plugin".freeze, "templates/app_generators/plugin/Gemfile".freeze, "templates/app_generators/plugin/Rakefile".freeze, "templates/app_generators/plugin/app".freeze, "templates/app_generators/plugin/app/templates".freeze, "templates/app_generators/plugin/app/templates/web".freeze, "templates/app_generators/plugin/app/templates/web/index.md.erb".freeze, "templates/app_generators/plugin/app/templates/web/partials".freeze, "templates/app_generators/plugin/app/templates/web/partials/_navbar_external.html.erb".freeze, "templates/app_generators/plugin/app/templates/web/partials/_navbar_internal.html.erb".freeze, "templates/app_generators/plugin/config".freeze, "templates/app_generators/plugin/config/boot.rb".freeze, "templates/app_generators/plugin/gemspec.rb".freeze, "templates/app_generators/test_engineering".freeze, "templates/app_generators/test_engineering/environment".freeze, "templates/app_generators/test_engineering/environment/j750.rb".freeze, "templates/app_generators/test_engineering/environment/uflex.rb".freeze, "templates/app_generators/test_engineering/environment/v93k.rb".freeze, "templates/app_generators/test_engineering/stand_alone_application".freeze, "templates/app_generators/test_engineering/stand_alone_application/.keep".freeze, "templates/app_generators/test_engineering/test_block".freeze, "templates/app_generators/test_engineering/test_block/.keep".freeze]
14
14
  s.homepage = "http://origen-sdk.org/origen_app_generators".freeze
15
15
  s.licenses = ["MIT".freeze]
16
16
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze)
17
- s.rubygems_version = "2.7.7".freeze
17
+ s.rubygems_version = "2.6.12".freeze
18
18
  s.summary = "Origen application generators".freeze
19
19
 
20
- s.installed_by_version = "2.7.7" if s.respond_to? :installed_by_version
20
+ s.installed_by_version = "2.6.12" if s.respond_to? :installed_by_version
21
21
 
22
22
  if s.respond_to? :specification_version then
23
23
  s.specification_version = 4
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.55.1
4
+ version: 0.55.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-28 00:00:00.000000000 Z
11
+ date: 2020-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -226,14 +226,28 @@ dependencies:
226
226
  requirements:
227
227
  - - "~>"
228
228
  - !ruby/object:Gem::Version
229
- version: '0.9'
229
+ version: '0.17'
230
230
  type: :runtime
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
- version: '0.9'
236
+ version: '0.17'
237
+ - !ruby/object:Gem::Dependency
238
+ name: simplecov-html
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '0.10'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '0.10'
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: scrub_rb
239
253
  requirement: !ruby/object:Gem::Requirement
@@ -736,7 +750,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
736
750
  version: 1.8.11
737
751
  requirements: []
738
752
  rubyforge_project:
739
- rubygems_version: 2.7.7
753
+ rubygems_version: 2.6.12
740
754
  signing_key:
741
755
  specification_version: 4
742
756
  summary: The Semiconductor Developer's Kit