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 +5 -5
- data/config/version.rb +1 -1
- data/lib/origen/application/release.rb +1 -1
- data/lib/origen/core_ext/string.rb +80 -2
- data/origen_app_generators/origen_app_generators.gemspec +3 -3
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5cf8ef1db0f389fbc583bff6c1b08c1758b3e83e
|
4
|
+
data.tar.gz: d813e05d000eafc086a6622667775f12fb21a00d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b8a52639b9294d8710786e7f310b978c4fa4170d05880cbf60316914c1ecba3418da55921b54c4fbb17dd934ab4e98e6f99830a7655e1587f5ca0f08d276d57
|
7
|
+
data.tar.gz: 7228e9ffd9d73d7fc5c73b767fee9201c370d71a3c72bab1237ff644876cd534338267823127eaa840a6633167f9e08d811332ef9ef8d7d0ab5bb9a79ba74314
|
data/config/version.rb
CHANGED
@@ -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
|
-
|
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 = "
|
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.
|
17
|
+
s.rubygems_version = "2.6.12".freeze
|
18
18
|
s.summary = "Origen application generators".freeze
|
19
19
|
|
20
|
-
s.installed_by_version = "2.
|
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.
|
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-
|
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.
|
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.
|
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.
|
753
|
+
rubygems_version: 2.6.12
|
740
754
|
signing_key:
|
741
755
|
specification_version: 4
|
742
756
|
summary: The Semiconductor Developer's Kit
|