mb-geometry 0.0.0.usegit

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: d157954ba57b6ff4700b33eaedf90d04cef1faa43e25d14d7da8e31ac590f9d9
4
+ data.tar.gz: 83574739aa83559f960fefc2da90f3ceae416dfc3e5b78319a0886d875d182aa
5
+ SHA512:
6
+ metadata.gz: 65c1d19586fcaf9f23ba019a56ea9d15bfaa632c69197808dc92e4b0e60493955e8e5be9662553a54e5a3e4e84b195736d4eb679aaa48d9e494b99c30bb8602f
7
+ data.tar.gz: 9a555a194e8e7426cf4da42cb2d61439e5ce06d4a79076800288d195d04c396961a47aa3b546f6c7e9cd3ee41027a95f053d18485f590f62a86d69b06e4ee77b
data/.gitignore ADDED
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ .*.swp
10
+ .*.swo
11
+ /spec/examples.txt
12
+ .gdb_history
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ mb-geometry
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.3
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in mb-geometry.gemspec
6
+ gemspec
7
+
8
+ gem "rake", "~> 12.0"
data/Gemfile.lock ADDED
@@ -0,0 +1,31 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ mb-geometry (0.0.0.usegit)
5
+ rubyvor (= 0.1.4)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ GeoRuby (1.3.4)
11
+ coderay (1.1.3)
12
+ libxml-ruby (3.2.1)
13
+ method_source (1.0.0)
14
+ pry (0.14.1)
15
+ coderay (~> 1.1)
16
+ method_source (~> 1.0)
17
+ rake (12.3.3)
18
+ rubyvor (0.1.4)
19
+ GeoRuby (>= 1.3.0)
20
+ libxml-ruby (>= 0.9.9)
21
+
22
+ PLATFORMS
23
+ ruby
24
+
25
+ DEPENDENCIES
26
+ mb-geometry!
27
+ pry
28
+ rake (~> 12.0)
29
+
30
+ BUNDLED WITH
31
+ 2.1.4
data/README.md ADDED
@@ -0,0 +1,94 @@
1
+ # mb-geometry
2
+
3
+ Recreational Ruby tools for geometry. This ranges from simple functions like
4
+ area calculation and line intersection, to Delaunay triangulation and Voronoi
5
+ partitions. This is companion code to my [educational video series about code
6
+ and sound][0].
7
+
8
+ You might also be interested in [mb-sound][1], [mb-math][2], and [mb-util][3].
9
+
10
+ This code is reasonably well-tested, but I recommend using it for non-critical
11
+ tasks like fun and offline graphics, and not for making important decisions or
12
+ mission-critical data modeling.
13
+
14
+ ## Installation and usage
15
+
16
+ This project contains some useful programs of its own, or you can use it as a
17
+ Gem (with Git source) in your own projects.
18
+
19
+ ### Standalone usage and development
20
+
21
+ First, install a Ruby version manager like RVM. Using the system's Ruby is not
22
+ recommended -- that is only for applications that come with the system. You
23
+ should follow the instructions from https://rvm.io, but here are the basics:
24
+
25
+ ```bash
26
+ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
27
+ \curl -sSL https://get.rvm.io | bash -s stable
28
+ ```
29
+
30
+ Next, install Ruby. RVM binary rubies are still broken on Ubuntu 20.04.x, so
31
+ use the `--disable-binary` option if you are running Ubuntu 20.04.x.
32
+
33
+ ```bash
34
+ rvm install --disable-binary 2.7.3
35
+ ```
36
+
37
+ You can tell RVM to isolate all your projects and switch Ruby versions
38
+ automatically by creating `.ruby-version` and `.ruby-gemset` files (already
39
+ present in this project):
40
+
41
+ ```bash
42
+ cd mb-geometry
43
+ cat .ruby-gemset
44
+ cat .ruby-version
45
+ ```
46
+
47
+ Now install dependencies:
48
+
49
+ ```bash
50
+ bundle install
51
+ ```
52
+
53
+ ### Using the project as a Gem
54
+
55
+ To use mb-geometry in your own Ruby projects, add this Git repo to your
56
+ `Gemfile`:
57
+
58
+ ```ruby
59
+ # your-project/Gemfile
60
+ gem 'mb-geometry', git: 'https://github.com/mike-bourgeous/mb-sound.git
61
+ ```
62
+
63
+ ## Examples
64
+
65
+ TODO
66
+
67
+ ## Testing
68
+
69
+ Run `rspec`, or play with the included scripts under `bin/`.
70
+
71
+ ## Contributing
72
+
73
+ Pull requests welcome, though development is focused specifically on the needs
74
+ of my video series.
75
+
76
+ ## License
77
+
78
+ This project is released under a 2-clause BSD license. See the LICENSE file.
79
+
80
+ ## See also
81
+
82
+ ### Dependencies
83
+
84
+ TODO
85
+
86
+ ### References
87
+
88
+ TODO
89
+
90
+
91
+ [0]: https://www.youtube.com/playlist?list=PLpRqC8LaADXnwve3e8gI239eDNRO3Nhya
92
+ [1]: https://github.com/mike-bourgeous/mb-sound
93
+ [2]: https://github.com/mike-bourgeous/mb-math
94
+ [3]: https://github.com/mike-bourgeous/mb-util
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "mb/geometry"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ require "pry"
11
+ Pry.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1 @@
1
+ require_relative 'mb/geometry'
@@ -0,0 +1,9 @@
1
+ require "mb/geometry/version"
2
+
3
+ module MB
4
+ module Geometry
5
+ class Error < StandardError; end
6
+
7
+ raise "Use Git rather than rubygems.org. See the mb-geometry project's README."
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ module Mb
2
+ module Geometry
3
+ VERSION = "0.0.0.usegit"
4
+ end
5
+ end
@@ -0,0 +1,30 @@
1
+ require_relative 'lib/mb/geometry/version'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "mb-geometry"
5
+ spec.version = Mb::Geometry::VERSION
6
+ spec.authors = ["Mike Bourgeous"]
7
+ spec.email = ["mike@mikebourgeous.com"]
8
+
9
+ spec.summary = %q{Recreational Ruby tools for graphics and geometry.}
10
+ spec.homepage = "https://github.com/mike-bourgeous/mb-geometry"
11
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.1")
12
+
13
+ spec.metadata["allowed_push_host"] = "https://rubygems.org/"
14
+
15
+ spec.metadata["homepage_uri"] = spec.homepage
16
+ spec.metadata["source_code_uri"] = "https://github.com/mike-bourgeous/mb-geometry"
17
+
18
+ # Specify which files should be added to the gem when it is released.
19
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
21
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
+ end
23
+ spec.bindir = "exe"
24
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
+ spec.require_paths = ["lib"]
26
+
27
+ spec.add_runtime_dependency 'rubyvor', '0.1.4'
28
+
29
+ spec.add_development_dependency 'pry'
30
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mb-geometry
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0.usegit
5
+ platform: ruby
6
+ authors:
7
+ - Mike Bourgeous
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-04-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubyvor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description:
42
+ email:
43
+ - mike@mikebourgeous.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - ".gitignore"
49
+ - ".ruby-gemset"
50
+ - ".ruby-version"
51
+ - Gemfile
52
+ - Gemfile.lock
53
+ - README.md
54
+ - Rakefile
55
+ - bin/console
56
+ - bin/setup
57
+ - lib/mb-geometry.rb
58
+ - lib/mb/geometry.rb
59
+ - lib/mb/geometry/version.rb
60
+ - mb-geometry.gemspec
61
+ homepage: https://github.com/mike-bourgeous/mb-geometry
62
+ licenses: []
63
+ metadata:
64
+ allowed_push_host: https://rubygems.org/
65
+ homepage_uri: https://github.com/mike-bourgeous/mb-geometry
66
+ source_code_uri: https://github.com/mike-bourgeous/mb-geometry
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 2.7.1
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">"
79
+ - !ruby/object:Gem::Version
80
+ version: 1.3.1
81
+ requirements: []
82
+ rubygems_version: 3.1.6
83
+ signing_key:
84
+ specification_version: 4
85
+ summary: Recreational Ruby tools for graphics and geometry.
86
+ test_files: []