ruby_sscanf 0.2.4 → 0.2.9

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
- SHA1:
3
- metadata.gz: 39d5948584a8362aff629ef8e2e69d4e0ecf1db6
4
- data.tar.gz: 34886c12fb70ee94405aa2bdbc1ee31effdb9aa2
2
+ SHA256:
3
+ metadata.gz: 05d51301d8d800c26586b31a134f09e7c3a632e757b123dc4d80d86e734eec84
4
+ data.tar.gz: 0323f09c4986467708577f7aeea0c35f41e7d2f0bae225b951f2ce0bab656695
5
5
  SHA512:
6
- metadata.gz: 8d35f7a9492d9560a62bdeb05aa271ea2925854d875f1cc0809c992bf7089a4c8744ca26434986e939e4b9d7bfd55b3d025d16fe1112c693bbf2599e54e913cf
7
- data.tar.gz: cf7b631bb392d898cd3c737c52ea195720522cfe13b2ed28109557c24e37a2d46182a165702bad545c56d226442285efd151607ec0a7d500cf85ff582c6401cb
6
+ metadata.gz: ff8d1bdf4ef2c32424dc28a4fac09ad186cfd2fdce6ce7932e8bb64eed7ef71dfa49ddc26747824bdf998fce6b3ed26e7d5c63b484fc835e10df44dd4e1728b6
7
+ data.tar.gz: cd1d3e1e43cc2d0b04499493c869454997c3a5fe75a6e5d81f542566b21764066e38246866dc2680a0b3cba4fbd4c21de5695bb87a1c5a72a603fd51e7c8f5ed
@@ -0,0 +1,49 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of
4
+ fostering an open and welcoming community, we pledge to respect all people who
5
+ contribute through reporting issues, posting feature requests, updating
6
+ documentation, submitting pull requests or patches, and other activities.
7
+
8
+ We are committed to making participation in this project a harassment-free
9
+ experience for everyone, regardless of level of experience, gender, gender
10
+ identity and expression, sexual orientation, disability, personal appearance,
11
+ body size, race, ethnicity, age, religion, or nationality.
12
+
13
+ Examples of unacceptable behavior by participants include:
14
+
15
+ * The use of sexualized language or imagery
16
+ * Personal attacks
17
+ * Trolling or insulting/derogatory comments
18
+ * Public or private harassment
19
+ * Publishing other's private information, such as physical or electronic
20
+ addresses, without explicit permission
21
+ * Other unethical or unprofessional conduct
22
+
23
+ Project maintainers have the right and responsibility to remove, edit, or
24
+ reject comments, commits, code, wiki edits, issues, and other contributions
25
+ that are not aligned to this Code of Conduct, or to ban temporarily or
26
+ permanently any contributor for other behaviors that they deem inappropriate,
27
+ threatening, offensive, or harmful.
28
+
29
+ By adopting this Code of Conduct, project maintainers commit themselves to
30
+ fairly and consistently applying these principles to every aspect of managing
31
+ this project. Project maintainers who do not follow or enforce the Code of
32
+ Conduct may be permanently removed from the project team.
33
+
34
+ This code of conduct applies both within project spaces and in public spaces
35
+ when an individual is representing the project or its community.
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported by contacting a project maintainer at peter.c.camilleri@gmail.com. All
39
+ complaints will be reviewed and investigated and will result in a response that
40
+ is deemed necessary and appropriate to the circumstances. Maintainers are
41
+ obligated to maintain confidentiality with regard to the reporter of an
42
+ incident.
43
+
44
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
+ version 1.3.0, available at
46
+ [http://contributor-covenant.org/version/1/3/0/][version]
47
+
48
+ [homepage]: http://contributor-covenant.org
49
+ [version]: http://contributor-covenant.org/version/1/3/0/
data/README.md CHANGED
@@ -105,7 +105,7 @@ Limitation: zero width (positive or negative) look behind assertions (?<= )
105
105
  and (?<! ) are not supported at this time.
106
106
 
107
107
  #### Examples
108
- Here are a few exmaples of the sscanf method in action.
108
+ Here are a few examples of the sscanf method in action.
109
109
 
110
110
  ```ruby
111
111
  "12 34 -56".sscanf "%d %2d %4d"
@@ -173,6 +173,8 @@ is not parsed. It is possible to retrieve this text using the following:
173
173
  ```ruby
174
174
  String.sscanf_unparsed
175
175
  ```
176
+ Note: Since the ruby_sscanf gem is designed to be thread safe, each thread has
177
+ its own copy of the unparsed text.
176
178
 
177
179
  ## Demo
178
180
 
@@ -187,25 +189,50 @@ I ran a test just to make sure that ruby_sscanf was not terribly
187
189
  under-performant when compared to the ruby standard library version. I was
188
190
  pleased to see that in fact ruby_sscanf was faster. Here are the results:
189
191
 
190
- Warming up --------------------------------------
191
- Scan strings with ruby_sscanf
192
- 1.734k i/100ms
193
- Scan strings with scanf
194
- 309.000 i/100ms
195
- Calculating -------------------------------------
196
- Scan strings with ruby_sscanf
197
- 17.926k (± 0.6%) i/s - 90.168k
198
- Scan strings with scanf
199
- 3.123k (± 0.6%) i/s - 15.759k
200
-
201
- Comparison:
202
- Scan strings with ruby_sscanf: 17925.7 i/s
203
- Scan strings with scanf: 3123.0 i/s - 5.74x slower
204
-
205
192
  This benchmark test was run under:
206
193
  * ruby 2.1.6p336 (2015-04-13 revision 50298) [i386-mingw32]
207
194
  * format_engine version = 0.7.2
208
195
 
196
+ ```
197
+ Warming up --------------------------------------
198
+ Scan strings with ruby_sscanf
199
+ 1.734k i/100ms
200
+ Scan strings with scanf
201
+ 309.000 i/100ms
202
+ Calculating -------------------------------------
203
+ Scan strings with ruby_sscanf
204
+ 17.926k (± 0.6%) i/s - 90.168k
205
+ Scan strings with scanf
206
+ 3.123k (± 0.6%) i/s - 15.759k
207
+
208
+ Comparison:
209
+ Scan strings with ruby_sscanf: 17925.7 i/s
210
+ Scan strings with scanf: 3123.0 i/s - 5.74x slower
211
+ ```
212
+
213
+ This benchmark test was run under:
214
+ * ruby 2.3.3p222 (2016-11-21 revision 56859) [i386-mingw32]
215
+ * format_engine version = 0.7.7
216
+
217
+ ```
218
+ Warming up --------------------------------------
219
+ Scan strings with ruby_sscanf
220
+ 1.632k i/100ms
221
+ Scan strings with scanf
222
+ 288.000 i/100ms
223
+ Calculating -------------------------------------
224
+ Scan strings with ruby_sscanf
225
+ 17.402k (± 0.6%) i/s - 88.128k in 5.064426s
226
+ Scan strings with scanf
227
+ 2.908k (± 0.3%) i/s - 14.688k in 5.050854s
228
+
229
+ Comparison:
230
+ Scan strings with ruby_sscanf: 17402.1 i/s
231
+ Scan strings with scanf: 2908.1 i/s - 5.98x slower
232
+ ```
233
+
234
+
235
+
209
236
  ## Contributing
210
237
 
211
238
  #### Plan A
@@ -218,6 +245,18 @@ This benchmark test was run under:
218
245
 
219
246
  #### Plan B
220
247
 
221
- Go to the GitHub repository and raise an issue calling attention to some
248
+ Go to the GitHub repository and raise an
249
+ [issue](https://github.com/PeterCamilleri/ruby_sscanf/issues)
250
+ calling attention to some
222
251
  aspect that could use some TLC or a suggestion or an idea.
223
252
 
253
+ ## License
254
+
255
+ The gem is available as open source under the terms of the
256
+ [MIT License](./LICENSE.txt).
257
+
258
+ ## Code of Conduct
259
+
260
+ Everyone interacting in the fully_freeze project’s codebases, issue trackers,
261
+ chat rooms and mailing lists is expected to follow the
262
+ [code of conduct](./CODE_OF_CONDUCT.md).
@@ -1,5 +1,5 @@
1
1
  #The ruby_sscanf doesn't really live here.
2
2
  module RubySscanf
3
3
  #The gem's version.
4
- VERSION = "0.2.4"
4
+ VERSION = "0.2.9".freeze
5
5
  end
data/rakefile.rb CHANGED
@@ -18,7 +18,7 @@ RDoc::Task.new do |rdoc|
18
18
  #rdoc.options << '--coverage-report'
19
19
 
20
20
  #Set a title.
21
- rdoc.options << '--title' << 'fOOrth Language Internals'
21
+ rdoc.options << '--title' << 'ruby_sscanf Internal Documentation'
22
22
 
23
23
  end
24
24
 
data/ruby_sscanf.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
 
12
12
  spec.summary = "A string parser."
13
13
  spec.description = "A formatted string data parser for Ruby"
14
- spec.homepage = "http://teuthida-technologies.com/"
14
+ spec.homepage = "https://github.com/PeterCamilleri/ruby_sscanf"
15
15
  spec.license = "MIT"
16
16
 
17
17
  raw_list = `git ls-files`.split($/)
@@ -22,12 +22,11 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.required_ruby_version = '>= 1.9.3'
24
24
 
25
- spec.add_runtime_dependency "format_engine", ">= 0.7.2"
25
+ spec.add_runtime_dependency "format_engine", "~> 0.7.2"
26
26
 
27
- spec.add_development_dependency "bundler", "~> 1.11"
28
- spec.add_development_dependency "rake", "~> 10.0"
29
- spec.add_development_dependency 'minitest', "~> 5.5.1"
30
- spec.add_development_dependency 'minitest_visible', ">= 0.1.1"
31
- spec.add_development_dependency 'rdoc', "~> 4.0.1"
27
+ spec.add_development_dependency "rake", ">= 12.3.3"
28
+ spec.add_development_dependency "bundler", ">= 2.1.0"
29
+ spec.add_development_dependency 'minitest', "~> 5.7"
30
+ spec.add_development_dependency 'rdoc', "~> 5.0"
32
31
 
33
32
  end
data/tests/scan_tests.rb CHANGED
@@ -1,15 +1,10 @@
1
1
  require_relative '../lib/ruby_sscanf'
2
2
  gem 'minitest'
3
3
  require 'minitest/autorun'
4
- require 'minitest_visible'
5
-
6
4
 
7
5
  # Test the internals of the parser engine. This is not the normal interface.
8
6
  class ScanTester < Minitest::Test
9
7
 
10
- #Track mini-test progress.
11
- include MinitestVisible
12
-
13
8
  def test_that_it_can_scan
14
9
  result = "12 34 -56".sscanf "%d %2d %4d"
15
10
  assert_equal([12, 34, -56] , result)
metadata CHANGED
@@ -1,99 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_sscanf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Camilleri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-30 00:00:00.000000000 Z
11
+ date: 2021-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: format_engine
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.7.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.7.2
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.11'
33
+ version: 12.3.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.11'
40
+ version: 12.3.3
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: 2.1.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: 2.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 5.5.1
61
+ version: '5.7'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 5.5.1
69
- - !ruby/object:Gem::Dependency
70
- name: minitest_visible
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 0.1.1
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 0.1.1
68
+ version: '5.7'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rdoc
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: 4.0.1
75
+ version: '5.0'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: 4.0.1
82
+ version: '5.0'
97
83
  description: A formatted string data parser for Ruby
98
84
  email:
99
85
  - peter.c.camilleri@gmail.com
@@ -102,6 +88,7 @@ extensions: []
102
88
  extra_rdoc_files: []
103
89
  files:
104
90
  - ".gitignore"
91
+ - CODE_OF_CONDUCT.md
105
92
  - Gemfile
106
93
  - LICENSE.txt
107
94
  - README.md
@@ -113,7 +100,7 @@ files:
113
100
  - rakefile.rb
114
101
  - ruby_sscanf.gemspec
115
102
  - tests/scan_tests.rb
116
- homepage: http://teuthida-technologies.com/
103
+ homepage: https://github.com/PeterCamilleri/ruby_sscanf
117
104
  licenses:
118
105
  - MIT
119
106
  metadata: {}
@@ -132,10 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
119
  - !ruby/object:Gem::Version
133
120
  version: '0'
134
121
  requirements: []
135
- rubyforge_project:
136
- rubygems_version: 2.2.2
122
+ rubygems_version: 3.2.17
137
123
  signing_key:
138
124
  specification_version: 4
139
125
  summary: A string parser.
140
126
  test_files: []
141
- has_rdoc: