namo.rb 0.31.7

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.
@@ -0,0 +1,40 @@
1
+ # test/sizing_test.rb
2
+
3
+ require 'minitest/autorun'
4
+ require 'minitest-spec-context'
5
+
6
+ # script/sizing produces the figures in ROADMAP.md's "What size it is for". A
7
+ # measurement whose script has rotted is a measurement nobody can repeat, which is
8
+ # the condition the script exists to end — so assert it still runs, at sizes small
9
+ # enough not to make the suite a benchmark.
10
+
11
+ describe 'script/sizing' do
12
+ def sizing(*arguments)
13
+ root = File.expand_path('..', __dir__)
14
+ IO.popen([File.join(root, 'script', 'sizing'), *arguments],
15
+ chdir: root, err: [:child, :out]){|io| io.read}
16
+ end
17
+
18
+ it "reports a row per size asked for" do
19
+ output = sizing('2000', '4000')
20
+ _($?.success?).must_equal true
21
+ _(output).must_match(/^\| 2,000 \| \d+ ms \|/)
22
+ _(output).must_match(/^\| 4,000 \| \d+ ms \|/)
23
+ end
24
+
25
+ it "renders as the table the ROADMAP carries" do
26
+ _(sizing('2000').lines.first).must_equal "| rows | group_by | per row | bytes/row |\n"
27
+ end
28
+
29
+ it "refuses a size it cannot measure" do
30
+ sizing('0')
31
+ _($?.success?).must_equal false
32
+ end
33
+
34
+ it "needs nothing but the gem's own dependencies" do
35
+ root = File.expand_path('..', __dir__)
36
+ output = IO.popen({'RUBYLIB' => nil}, [File.join(root, 'script', 'sizing'), '2000'],
37
+ chdir: root, err: [:child, :out]){|io| io.read}
38
+ _(output).wont_match(/LoadError/)
39
+ end
40
+ end
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: namo.rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.31.7
5
+ platform: ruby
6
+ authors:
7
+ - thoran
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: minitest
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: minitest-spec-context
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rake
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ description: A Ruby library for working with multi-dimensional data using named dimensions.
55
+ Initialise from an array of hashes making it trivial to use with databases, CSV,
56
+ JSON, and YAML. Dimensions and coordinates are inferred automatically.
57
+ email: code@thoran.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - CHANGELOG
63
+ - Gemfile
64
+ - LICENSE
65
+ - README.md
66
+ - Rakefile
67
+ - lib/Namo/Collection.rb
68
+ - lib/Namo/Enumerable.rb
69
+ - lib/Namo/Formulae.rb
70
+ - lib/Namo/Formulary.rb
71
+ - lib/Namo/NegatedDimension.rb
72
+ - lib/Namo/Row.rb
73
+ - lib/Namo/VERSION.rb
74
+ - lib/Symbol.rb
75
+ - lib/namo.rb
76
+ - namo.rb.gemspec
77
+ - test/Namo/Collection_test.rb
78
+ - test/Namo/Formulae_test.rb
79
+ - test/Namo/NegatedDimension_test.rb
80
+ - test/Namo/Row_test.rb
81
+ - test/Symbol_test.rb
82
+ - test/console_test.rb
83
+ - test/demo_test.rb
84
+ - test/namo_test.rb
85
+ - test/sizing_test.rb
86
+ homepage: https://github.com/thoran/namo
87
+ licenses:
88
+ - MIT
89
+ metadata: {}
90
+ rdoc_options: []
91
+ require_paths:
92
+ - lib
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '2.7'
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ requirements: []
104
+ rubygems_version: 4.0.19
105
+ specification_version: 4
106
+ summary: Named dimensional data for Ruby.
107
+ test_files: []