duffy 1.0.1 → 1.0.6

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
2
  SHA256:
3
- metadata.gz: '031931bb20a67704daaeb756697289c59b8b4b17d20542e547f44b9a810f8937'
4
- data.tar.gz: 8d1d8ce9b7815f888604ff54be223a4efb4cecac8c5d6a8f3da7b63bb5be943b
3
+ metadata.gz: 7b26949061663fcfd666bc4479d89671494dfc81d2e14a3bb3189970de202255
4
+ data.tar.gz: e8dc1912140fc07fb39c4f9d15070c26397d91b9cd63fdaa7fc164e889e4cf5c
5
5
  SHA512:
6
- metadata.gz: 7eaf20af8b3da4f7d0524fa485cf08faa159fe706a93e5d3d63e6ca58e1e38b4460eed508b4a09ebd083b3261378cb215de93bb46c0d636a7e285d0999fccd44
7
- data.tar.gz: a33c601156a194d07e7a5675ca5ab94363181a1ccc6f2175e66fe6240e670fe1eddb454809637f47fde604a8f4de0a3c7c2d199b968a4cb2ee651ba85f63fab2
6
+ metadata.gz: 2816bf8e70c972cc7ce9e3066f8d54d9c93cb8e00958e2bd7ada8ab060163958faaeff52ca973af982039994acdcef6a0148b907d2193976ed4cbcf0787bfa11
7
+ data.tar.gz: '065851c6e0a9e97533715eef0800390cd0811c2ecc3453871479be7fb9d85056fbdc4327c54cbf4555819e5aa81b5f82c1007cd94525c316c17bb905f980dae0'
@@ -0,0 +1,17 @@
1
+ name: RSpec
2
+ on: push
3
+ jobs:
4
+ test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ os: [ubuntu-latest, macos-latest]
9
+ ruby: [2.6, 2.7, '3.0', 3.1]
10
+ runs-on: ${{ matrix.os }}
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: ${{ matrix.ruby }}
16
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
17
+ - run: bundle exec rake
data/README.md CHANGED
@@ -1,9 +1,5 @@
1
1
  # Duffy
2
2
 
3
- [![Build Status](https://travis-ci.org/duffyjp/duffy.svg?branch=master)](https://travis-ci.org/duffyjp/duffy)
4
- [![Code Climate](https://codeclimate.com/github/duffyjp/duffy/badges/gpa.svg)](https://codeclimate.com/github/duffyjp/duffy)
5
- [![Test Coverage](https://codeclimate.com/github/duffyjp/duffy/badges/coverage.svg)](https://codeclimate.com/github/duffyjp/duffy/coverage)
6
-
7
3
  This is a collection of reusable things I don't want to keep duplicating in tons of projects.
8
4
 
9
5
  ## Installation
@@ -39,10 +35,10 @@ to_ssn | "123456789" | "123-45-6789"
39
35
 
40
36
 
41
37
  ## Array Patches:
42
- Method | Example | Output
43
- ------------------|------------------------|-------
44
- to_box | ['abc', 123].to_box | ![Example](doc/abc123.png)
45
-
38
+ Method | Example | Output
39
+ ------------------|---------------------------|-------
40
+ to_box | ['abc', 123].to_box | ![Example](doc/abc123.png)
41
+ to_markdown | [[1,2],[3,4]].to_markdown | ![Example](doc/markdown.png)
46
42
 
47
43
  ## Date Patches:
48
44
  * See config to set your organization's fiscal year start.
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "duffy"
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
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/doc/markdown.png ADDED
Binary file
data/duffy.gemspec CHANGED
@@ -19,8 +19,10 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency 'activesupport' # Required for ActiveSupport::Configurable
22
- spec.add_development_dependency "bundler", "~> 1.7"
23
- spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency "bundler"
23
+ spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "rails", '>= 5.0'
25
25
  spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "simplecov"
27
+
26
28
  end
data/lib/duffy/array.rb CHANGED
@@ -10,8 +10,40 @@ class Array
10
10
  def to_box(safe: true)
11
11
  return nil if self.empty?
12
12
  b = safe ? "+-++ | +++" : "╔─╦╗ ║ ╚╩╝"
13
- out = (b[0] + self.map{ |x| b[1] * (x.to_s.length + 2) }.join(b[2]) + b[3])[0,80] + "\n"
13
+ out = (b[0] + self.map{ |x| b[1] * (x.to_s.gsub(/\e\[([;\d]+)?m/, '').length + 2) }.join(b[2]) + b[3])[0,80] + "\n"
14
14
  out << (b[5,2] + self.join(b[4,3]) + b[4,2])[0,80] + "\n"
15
- out << (b[7] + self.map{ |x| b[1] * (x.to_s.length + 2) }.join(b[8]) + b[9])[0,80]
15
+ out << (b[7] + self.map{ |x| b[1] * (x.to_s.gsub(/\e\[([;\d]+)?m/, '').length + 2) }.join(b[8]) + b[9])[0,80]
16
16
  end
17
+
18
+
19
+
20
+ # Create a markdown table from a 2D Array
21
+ #
22
+ # puts [["Car", "Boat", Date.today, 5],["Horse", "Car", nil, 0]].to_markdown
23
+ # String | String | Date | Integer
24
+ # -------|--------|------------|---------
25
+ # Car | Boat | 2022-01-12 | 5
26
+ # Horse | Car | | 0
27
+ #
28
+ def to_markdown
29
+ raise "expected 2D array" unless self.first.is_a?(Array)
30
+
31
+ # Find max widths of data/headers: eg => [10, 25, 18, 21, 6]
32
+ widths = self.transpose.map{ |col| ([col.first.class.to_s.length] + col.map{ |i| i.to_s.length }).max }
33
+
34
+ # Use the class of each cell in the first row for the table headers.
35
+ out = self.first.map.with_index{|c,i| c.class.to_s.ljust(widths[i])}.join(" | ") + "\n"
36
+ out << out.gsub(/[^|]/, "-") + "\n"
37
+
38
+ # Left justify each cell
39
+ self.each do |row|
40
+ out << row.map(&:to_s).map.with_index{|c,i| c.ljust(widths[i])}.join(" | ") + "\n"
41
+ end
42
+ out
43
+
44
+ rescue => e
45
+ warn "Unable to generate table: #{e}"
46
+ nil
47
+ end
48
+
17
49
  end
data/lib/duffy/string.rb CHANGED
@@ -113,11 +113,11 @@ class String
113
113
  string = (self.upcase == self)? self.downcase : self
114
114
 
115
115
  result = ""
116
- string.gsub(/[_-]/, ' ').split(/( [:.;?!][ ] | (?:[ ]|^)[""] )/x).each do |s|
116
+ string.gsub('_', ' ').split(/( [:.;?!][ ] | (?:[ ]|^)[""] )/x).each do |s|
117
117
  s.gsub!(/ \b( [[:alpha:]] [[:lower:].'']* )\b /x) do |w|
118
118
  # Skip words with inresult dots, e.g. "del.icio.us" or "example.com"
119
119
  (w =~ / [[:alpha:]] [.] [[:alpha:]] /x) ? w : w.capitalize
120
- end #gsub!
120
+ end
121
121
 
122
122
  # Lowercase our list of small words:
123
123
  s.gsub!(/\b(#{small_re})\b/io) { |w| w.downcase }
@@ -135,9 +135,19 @@ class String
135
135
  # Special Cases:
136
136
  upcase_re = (Array(Duffy.configuration.upcase_custom) + Array(Duffy.configuration.upcase_default)).uniq.join("|")
137
137
 
138
+ # Names with apostrophes; O'Brian, De'Wayne. 3+ Skips "I've" "Haven't" etc.
139
+ result.gsub!(/([A-Z][a-z]*)'([a-z]{3,})/) { "#{$1}'#{$2.capitalize}" }
140
+
138
141
  result.gsub!(/ V(s?)\. /, ' v\1. ') # "v." and "vs."
142
+
139
143
  result.gsub!(/([''])S\b/, '\1s') # 'S (otherwise you get "the SEC'S decision")
144
+
140
145
  result.gsub!(/\b(#{upcase_re})\b/i) { |w| w.upcase } unless upcase_re.blank?
141
- result
146
+
147
+ # Squash repeated whitespace characters
148
+ result.gsub!(/\s+/, ' ')
149
+
150
+ # Strip leading / tailing whitespace and return
151
+ result.strip
142
152
  end
143
153
  end
data/lib/duffy/system.rb CHANGED
@@ -92,6 +92,20 @@ module Duffy
92
92
  0
93
93
  end
94
94
 
95
+ # The battery percentage 0.0 .. 100.0
96
+ # nil if no battery or error reading value.
97
+ # Darwin: pmset -g batt
98
+ # Linux:
99
+ def battery_percent
100
+ case RUBY_PLATFORM
101
+ when /darwin/ then `pmset -g batt`.scan(/^.*\t(.*%);/)[0][0].to_f
102
+ when /linux/ then File.read("/sys/class/power_supply/BAT0/charge_now").to_i * 100 / File.read("/sys/class/power_supply/BAT0/charge_full").to_i
103
+ else nil
104
+ end
105
+ rescue
106
+ nil
107
+ end
108
+
95
109
  # Memory available for use in Megabytes
96
110
  # Darwin: vm_stat (Pages Free + Pages Inactive)
97
111
  # Linux: Read /proc/meminfo
@@ -119,6 +133,7 @@ module Duffy
119
133
  0
120
134
  end
121
135
 
136
+
122
137
  private
123
138
 
124
139
  # [CPU USE, CPU IDLE]
data/lib/duffy/version.rb CHANGED
@@ -1,8 +1,13 @@
1
1
  module Duffy
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.6'
3
3
  end
4
4
 
5
5
  # History
6
+ # 1.0.6 - Add to_markdown Array method.
7
+ # 1.0.5 - Update smart_titlecase to better accommodate names.
8
+ # 1.0.4 - Added battery_percent method.
9
+ # 1.0.3 - to_box methods now accept ANSI colored strings.
10
+ # 1.0.2 - Added SimpleCov and added some more String tests.
6
11
  # 1.0.1 - Added String.to_box and Array.to_box. Nice for text banners.
7
12
  # 1.0.0 - Using Shellwords to escape directory listing in System.freespace.
8
13
  # 0.3.6 - Added disk freespace method. Looks at working directory.
data/spec/array_spec.rb CHANGED
@@ -21,4 +21,33 @@ describe Array do
21
21
  end
22
22
 
23
23
  end
24
+
25
+ describe "to_markdown" do
26
+
27
+ it "creates a markdown compatible table" do
28
+ array = [[1,2,3],[4,5,6],[7,8,9]]
29
+ expect(array.to_markdown).to eq "Integer | Integer | Integer\n--------|---------|---------\n1 | 2 | 3 \n4 | 5 | 6 \n7 | 8 | 9 \n"
30
+ end
31
+
32
+ it "uses the first row for column header names" do
33
+ array = [[1, "a", Date.today]]
34
+ expect(array.to_markdown.lines.first).to eq "Integer | String | Date \n"
35
+ end
36
+
37
+ it "arrays with very short data format correctly" do
38
+ array = [[1,2,3],[4,5,6],[7,8,9]]
39
+ expect(array.to_markdown).to eq "Integer | Integer | Integer\n--------|---------|---------\n1 | 2 | 3 \n4 | 5 | 6 \n7 | 8 | 9 \n"
40
+ end
41
+
42
+ it "rejects non-2D arrays" do
43
+ array = ["Wisconsin", "cheese"]
44
+ expect{array.to_markdown}.to output("Unable to generate table: expected 2D array\n").to_stderr
45
+ end
46
+
47
+ it "rejects arrays with inconsistent dimensions" do
48
+ array = [[1],[2,3],[4,5,6]]
49
+ expect{array.to_markdown}.to output("Unable to generate table: element size differs (2 should be 1)\n").to_stderr
50
+ end
51
+ end
52
+
24
53
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
1
4
  require 'bundler/setup'
2
5
  require 'rails'
3
6
  Bundler.setup
data/spec/string_spec.rb CHANGED
@@ -2,6 +2,89 @@ require 'spec_helper'
2
2
 
3
3
  describe String do
4
4
 
5
+ describe "md5" do
6
+ it "generates an md5sum of the given string" do
7
+ expect("foobar".md5).to eq "3858f62230ac3c915f300c664312c63f"
8
+ end
9
+ end
10
+
11
+ describe "pretty_phone" do
12
+ it "formats an American phone number with Area Code" do
13
+ expect("1234567890".pretty_phone).to eq "(123) 456-7890"
14
+ end
15
+
16
+ it "formats an American phone number without Area Code" do
17
+ expect("4567890".pretty_phone).to eq "456-7890"
18
+ end
19
+
20
+ it "leaves longer strings alone" do
21
+ expect("11234567890".pretty_phone).to eq "11234567890"
22
+ end
23
+
24
+ it "leaves shorter strings alone" do
25
+ expect("1123".pretty_phone).to eq "1123"
26
+ end
27
+ end
28
+
29
+ describe "smart_titlecase" do
30
+ {
31
+ "123 Main St." => "123 Main St.", # Numbers are allowed
32
+ "A Tale Of Two Cities" => "A Tale of Two Cities", # Articles are only capitalized if first
33
+ "At mt. Kilimanjaro" => "At Mt. Kilimanjaro", # Small non-articles are capitalized
34
+ "De'wayne" => "De'Wayne", # Names with apostrophes (longer first half)
35
+ "Hyphenated-Lastname" => "Hyphenated-Lastname", # Hyphenated words retain hyphen and capitalize
36
+ "I'm Here Ma'am" => "I'm Here Ma'am", # Contractions are treated as a single word
37
+ "Miller (Smith)" => "Miller (Smith)", # Parentheses are allowed
38
+ "O'brian" => "O'Brian", # Names with apostrophes (single character first half)
39
+ "Sample" => "Sample", # Already Capitalized, all lower, all upper okay
40
+ "Under_scores" => "Under Scores", # Underscores are treated as spaces
41
+
42
+ "Double Space" => "Double Space", # Clear duplicated whitespace
43
+ " Leading Space" => "Leading Space", # Remove leading whitespace
44
+ "Trailing Space " => "Trailing Space", # Remove trailing whitespace
45
+ }.each do |before, after|
46
+
47
+ # As typed above
48
+ it "#{before.strip.ljust(22)} => #{after}" do
49
+ expect(before.smart_titlecase).to eq after
50
+ end
51
+
52
+ # As all-lowercase
53
+ it "#{before.strip.downcase.ljust(22)} => #{after}" do
54
+ expect(before.downcase.smart_titlecase).to eq after
55
+ end
56
+
57
+ # As all-uppercase
58
+ it "#{before.strip.upcase.ljust(22)} => #{after}" do
59
+ expect(before.upcase.smart_titlecase).to eq after
60
+ end
61
+ end
62
+
63
+ # CamelCase words will be preserved.
64
+ {
65
+ "DreamWorks" => "DreamWorks",
66
+ "McDonald's happy-meal" => "McDonald's Happy-Meal",
67
+ }.each do |before, after|
68
+
69
+ # As typed above
70
+ it "#{before.ljust(22)} => #{after}" do
71
+ expect(before.smart_titlecase).to eq after
72
+ end
73
+ end
74
+
75
+ end
76
+
77
+ describe "to_alpha" do
78
+ it "strips everything but a-z and A-Z" do
79
+ expect("123abc$%^DEF".to_alpha).to eq "abcDEF"
80
+ end
81
+ end
82
+ describe "to_alpha_numeric" do
83
+ it "strips everything but a-z, A-Z and 0-9" do
84
+ expect("123abc$%^DEF".to_alpha_numeric).to eq "123abcDEF"
85
+ end
86
+ end
87
+
5
88
  describe "to_box" do
6
89
  it "creates a safe box around a string" do
7
90
  expect("foobar".to_box).to eq "+--------+\n| foobar |\n+--------+"
data/spec/system_spec.rb CHANGED
@@ -3,10 +3,16 @@ describe Duffy::System do
3
3
 
4
4
  # These methods return per-host settings. Verify the return object type and value within reason.
5
5
  # This generates the documentation more than anything.
6
- describe "cpus" do
7
- it "returns the number of physical cpus" do
8
- expect(Duffy::System.cpus).to be_an(Integer)
9
- expect(Duffy::System.cpus).to be >= 1
6
+
7
+ describe "battery_percent" do
8
+ it "returns the percentage of battery remaining" do
9
+ expect([Float, nil]).to include Duffy::System.battery_percent.class
10
+ end
11
+ end
12
+
13
+ describe "cpu_percent" do
14
+ it "returns the current cpu load percentage" do
15
+ expect(Duffy::System.cpu_percent).to be_a(Float)
10
16
  end
11
17
  end
12
18
 
@@ -17,6 +23,13 @@ describe Duffy::System do
17
23
  end
18
24
  end
19
25
 
26
+ describe "cpus" do
27
+ it "returns the number of physical cpus" do
28
+ expect(Duffy::System.cpus).to be_an(Integer)
29
+ expect(Duffy::System.cpus).to be >= 1
30
+ end
31
+ end
32
+
20
33
  describe "freespace" do
21
34
  it "returns working directory freespace in megabytes" do
22
35
  expect(Duffy::System.freespace).to be_an(Integer)
@@ -24,23 +37,17 @@ describe Duffy::System do
24
37
  end
25
38
  end
26
39
 
27
-
28
- describe "threads" do
29
- it "returns the total number of threads" do
30
- expect(Duffy::System.threads).to be_an(Integer)
31
- expect(Duffy::System.threads).to be >= 1
32
- end
33
- end
34
-
35
- describe "virtual?" do
36
- it "returns true if in a hypervisor, false otherwise." do
37
- expect(Duffy::System.virtual?).to be_in [true, false]
40
+ describe 'mem_available' do
41
+ it "returns the amount of available memory in Megabytes" do
42
+ expect(Duffy::System.mem_available).to be_an(Integer)
43
+ expect(Duffy::System.mem_available).to be > 0
38
44
  end
39
45
  end
40
46
 
41
- describe "cpu_percent" do
42
- it "returns the current cpu load percentage" do
43
- expect(Duffy::System.cpu_percent).to be_a(Float)
47
+ describe 'mem_percent' do
48
+ it "returns the amount of used memory as a percentage of total" do
49
+ expect(Duffy::System.mem_percent).to be_a(Float)
50
+ expect(Duffy::System.mem_percent).to be > 0
44
51
  end
45
52
  end
46
53
 
@@ -51,13 +58,6 @@ describe Duffy::System do
51
58
  end
52
59
  end
53
60
 
54
- describe 'mem_available' do
55
- it "returns the amount of available memory in Megabytes" do
56
- expect(Duffy::System.mem_available).to be_an(Integer)
57
- expect(Duffy::System.mem_available).to be > 0
58
- end
59
- end
60
-
61
61
  describe 'mem_used' do
62
62
  it "returns the amount of used memory in Megabytes" do
63
63
  expect(Duffy::System.mem_used).to be_an(Integer)
@@ -65,12 +65,17 @@ describe Duffy::System do
65
65
  end
66
66
  end
67
67
 
68
- describe 'mem_percent' do
69
- it "returns the amount of used memory as a percentage of total" do
70
- expect(Duffy::System.mem_percent).to be_a(Float)
71
- expect(Duffy::System.mem_percent).to be > 0
68
+ describe "threads" do
69
+ it "returns the total number of threads" do
70
+ expect(Duffy::System.threads).to be_an(Integer)
71
+ expect(Duffy::System.threads).to be >= 1
72
72
  end
73
73
  end
74
74
 
75
+ describe "virtual?" do
76
+ it "returns true if in a hypervisor, false otherwise." do
77
+ expect(Duffy::System.virtual?).to be_in [true, false]
78
+ end
79
+ end
75
80
 
76
81
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duffy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Duffy
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-01 00:00:00.000000000 Z
11
+ date: 2022-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -28,30 +28,30 @@ dependencies:
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.7'
33
+ version: '0'
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.7'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '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: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rails
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -80,23 +80,40 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: Random collection of useful things.
84
98
  email:
85
99
  - duffy.jp@gmail.com
86
- executables: []
100
+ executables:
101
+ - console
87
102
  extensions: []
88
103
  extra_rdoc_files: []
89
104
  files:
105
+ - ".github/workflows/rspec.yml"
90
106
  - ".gitignore"
91
107
  - ".rspec"
92
108
  - ".rubocop.yml"
93
- - ".travis.yml"
94
109
  - Gemfile
95
110
  - LICENSE.txt
96
111
  - README.md
97
112
  - Rakefile
113
+ - bin/console
98
114
  - doc/abc.png
99
115
  - doc/abc123.png
116
+ - doc/markdown.png
100
117
  - duffy.gemspec
101
118
  - lib/duffy.rb
102
119
  - lib/duffy/active_record.rb
@@ -123,7 +140,7 @@ homepage: https://github.com/duffyjp/duffy
123
140
  licenses:
124
141
  - MIT
125
142
  metadata: {}
126
- post_install_message:
143
+ post_install_message:
127
144
  rdoc_options: []
128
145
  require_paths:
129
146
  - lib
@@ -138,8 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
155
  - !ruby/object:Gem::Version
139
156
  version: '0'
140
157
  requirements: []
141
- rubygems_version: 3.0.1
142
- signing_key:
158
+ rubygems_version: 3.2.32
159
+ signing_key:
143
160
  specification_version: 4
144
161
  summary: Library of things
145
162
  test_files:
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.3.0
4
-
5
- before_install:
6
- - gem update bundler