nutrella 1.5.1 → 1.6.0

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
2
  SHA256:
3
- metadata.gz: 7add4b79f183553908597ee654ab4b6eab29cbda1b429c6ced3d94da2d533ccc
4
- data.tar.gz: b2dbc3a33c1a4c4c65cd377ab9d450a0553b8636d03521d5ef0e8767ec82280c
3
+ metadata.gz: d8f9d4dd38032bffc0e82c45319e2b5606d5e4b12709fad7f1caf5e904cf540b
4
+ data.tar.gz: 98cfb7a5e03bc56f461e5c7b62b958a9c58ba82ce82e85573726f52e276e2b7d
5
5
  SHA512:
6
- metadata.gz: 978a5254670d43a7af9abef50a1878842c84c6dbb022998812d5d4450c6752216c28fa37880ac0a6799dc79b571222d6536cb218da78e8e5aeee4558f5f992aa
7
- data.tar.gz: 5b2fc237ef01364c6598715f5889ca4e5dde29978843f8f2f132bbc3c4d2e2cadbf8522aa33bec4c43cc55107b8131a9a38b6fae2e1325c7b88d0850bedc1817
6
+ metadata.gz: 58be0c5fe2c1063ee726927b183e0fc1e9c0ca821988a47cc65100ec7180cb33df23b7d79457e2f1965c60de97072f0b17e3520997638167f22620e841ce5cbd
7
+ data.tar.gz: 70da9a7fc7034c9c62ade428e5e1b65258ca66d3a218b898de8ca074b76bdc7984b1b2adca693d255268a137748c7a78ae3bb9ed6c0bed56c5ec138fafe58c10
data/.codeclimate.yml CHANGED
@@ -7,11 +7,6 @@ engines:
7
7
  - ruby
8
8
  fixme:
9
9
  enabled: true
10
- rubocop:
11
- enabled: true
12
- checks:
13
- Rubocop/Rails/Output:
14
- enabled: false
15
10
  reek:
16
11
  enabled: true
17
12
  ratings:
data/.gitignore CHANGED
@@ -5,3 +5,4 @@
5
5
  /pkg
6
6
  /tmp
7
7
  /.bundle
8
+ /*.log
data/.rubocop.yml CHANGED
@@ -2,24 +2,19 @@ require:
2
2
  - rubocop-rspec
3
3
 
4
4
  AllCops:
5
- TargetRubyVersion: 2.5
5
+ NewCops: enable
6
+ TargetRubyVersion: 2.6
6
7
 
7
8
  Exclude:
8
9
  - 'bin/**/*'
9
10
 
11
+ Layout/LineLength:
12
+ Max: 120
13
+
10
14
  # Rubocop and I cannot agree.
11
15
  Layout/MultilineMethodCallBraceLayout:
12
16
  Enabled: false
13
17
 
14
- Layout/SpaceAroundMethodCallOperator:
15
- Enabled: true
16
-
17
- Lint/RaiseException:
18
- Enabled: true
19
-
20
- Lint/StructNewOverride:
21
- Enabled: true
22
-
23
18
  Metrics/BlockLength:
24
19
  Enabled: false
25
20
 
@@ -32,9 +27,6 @@ RSpec/AnyInstance:
32
27
  RSpec/ExampleLength:
33
28
  Max: 15
34
29
 
35
- Metrics/LineLength:
36
- Max: 120
37
-
38
30
  RSpec/DescribeClass:
39
31
  Enabled: false
40
32
 
@@ -62,22 +54,10 @@ Style/BlockDelimiters:
62
54
  BracesRequiredMethods:
63
55
  - 'let'
64
56
 
65
- Style/ExponentialNotation:
66
- Enabled: true
67
-
68
57
  # We can ignore this small performance improvement.
69
58
  Style/FrozenStringLiteralComment:
70
59
  Enabled: false
71
60
 
72
- Style/HashEachMethods:
73
- Enabled: true
74
-
75
- Style/HashTransformKeys:
76
- Enabled: true
77
-
78
- Style/HashTransformValues:
79
- Enabled: true
80
-
81
61
  # We like to use the hash rocket in rake files.
82
62
  Style/HashSyntax:
83
63
  Exclude:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 2.7.4
data/CHANGELOG.md CHANGED
@@ -6,6 +6,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.6.0] - 2021-07-30
10
+
11
+ #### New Features
12
+
13
+ - Allow opening a previously created Trello board based on a JIRA ticket
14
+ - Added a configuration option to specify exactly how to search in the cache first
15
+
16
+ ## [1.5.4] - 2021-07-29
17
+
18
+ #### New Features
19
+
20
+ - Added a configuration option to adjust the cache capacity
21
+
22
+ ## [1.5.3] - 2021-02-18
23
+
24
+ - Update ruby-trello
25
+ - Update development dependencies
26
+
27
+ #### Breaking Changes
28
+
29
+ - Drop support for Ruby 2.5
30
+
31
+ ## [1.5.2] - 2020-04-27
32
+
33
+ #### New Features
34
+
35
+ - Added a configuration option to enable logging for easier troubleshooting
36
+
9
37
  ## [1.5.1] - 2020-04-27
10
38
 
11
39
  #### Bug Fix
data/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  [![Gem Version](http://img.shields.io/gem/v/nutrella.svg?style=flat)](https://rubygems.org/gems/nutrella)
4
4
  [![Code Climate](https://codeclimate.com/github/amckinnell/nutrella/badges/gpa.svg)](https://codeclimate.com/github/amckinnell/nutrella)
5
- [![Build Status](https://travis-ci.org/amckinnell/nutrella.svg?branch=master)](https://travis-ci.org/amckinnell/nutrella)
6
5
 
7
6
  A command line tool for associating a Trello board with the current git branch.
8
7
 
@@ -45,7 +44,7 @@ Insert your `token` into your `~/.nutrella.yml` file.
45
44
 
46
45
  If your haven't already done so, insert your `key`, `secret`, and `token` into your `~/.nutrella.yml` file.
47
46
 
48
- The configuration file should look like the following (don't use the keys below, they won't work):
47
+ The configuration file should look like the following (don't use the keys below as they won't work for you):
49
48
 
50
49
  ```yaml
51
50
  # Trello Developer API Keys
@@ -57,6 +56,9 @@ The configuration file should look like the following (don't use the keys below,
57
56
  organization: 542d76ac2fad4697c3e80448
58
57
  launch_command: open $url$
59
58
  enable_trello_app: false
59
+ enable_logging: true
60
+ cache_capacity: 5
61
+ cache_first: '^PM-\d+'
60
62
  ```
61
63
 
62
64
  **Step 6**: Adjust configuration file (Optional)
@@ -75,27 +77,66 @@ To open your Trello board in the Trello app change your configuration to:
75
77
  enable_trello_app: true
76
78
  ```
77
79
 
80
+ Adjust the `enable_logging` configuration to start logging diagnostics:
81
+
82
+ ```yaml
83
+ enable_logging: true
84
+ ```
85
+
86
+ Adjust the `cache_capacity` configuration to increase the capacity of the cache (see `~/.nutrella.cache.yml`):
87
+
88
+ ```yaml
89
+ cache_capacity: 15
90
+ ```
91
+
92
+ Adjust the `cache_first` configuration to allow searching the cache first before creating or opening a Trello board:
93
+
94
+ ```yaml
95
+ cache_first: '^(PM|QC)-\d+'
96
+ ```
97
+
98
+ The string that you specify will be treated as a regular expression.
99
+
100
+
78
101
 
79
102
  ## Usage
80
103
 
81
- Create or open a Trello board based on the name of the current git branch:
104
+ There are three ways to invoke the nutrella command:
82
105
 
83
- ```sh
106
+ 1. Create or open a Trello board based on the name of the current git branch:
107
+
108
+ ```sh
84
109
  $ nutrella
85
- ```
110
+ ```
111
+
112
+ This is the command invocation that should meet your needs 90% of the time.
86
113
 
87
- Create or open a named Trello board:
88
114
 
89
- ```sh
115
+ 1. Create or open a named Trello board using the full git branch name:
116
+
117
+ ```sh
90
118
  $ nutrella <git-branch-name>
91
- ```
119
+ ```
92
120
 
93
- Note: you can invoke `nutrella` from your project directory or from any subdirectory.
121
+
122
+ 2. Create or open a previously created Trello board using a JIRA ticket like `PM-9423`:
123
+
124
+ ```sh
125
+ $ nutrella <JIRA Ticket>
126
+ ```
127
+
128
+ This behaviour relies on the `cache_first` configuration setting. Invoking `nutrella` with a JIRA ticket number is for those situations where you make multiple git branches for the same JIRA ticket with a different suffix.
94
129
 
95
130
 
96
131
  ## Troubleshooting
97
132
 
98
- 1. For `method_missing: undefined method 'this'`
133
+ 1. If an unexpected Trello board is opening try clearing your cache:
134
+
135
+ ```sh
136
+ rm ~/.nutrella.cache.yml
137
+ ```
138
+
139
+ 1. If you see `method_missing: undefined method 'this'`
99
140
 
100
141
  Try updating `RubyGems`
101
142
 
@@ -103,7 +144,7 @@ Note: you can invoke `nutrella` from your project directory or from any subdirec
103
144
  gem update --system
104
145
  ```
105
146
 
106
- 1. For `uninitialized constant Gem::Source (NameError)`
147
+ 1. If you see `uninitialized constant Gem::Source (NameError)`
107
148
 
108
149
  Try updating `bundler`
109
150
 
@@ -111,7 +152,7 @@ Note: you can invoke `nutrella` from your project directory or from any subdirec
111
152
  gem install bundler
112
153
  ```
113
154
 
114
- 1. For `cannot load such file -- nutrella`
155
+ 1. If you see `cannot load such file -- nutrella`
115
156
 
116
157
  This error may appear after running `irb -rubygems` and you are unable to `require 'nutrella'`.
117
158
  Try running `irb -rubygems` from your home directory:
data/exe/nutrella CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  require "nutrella"
4
4
 
5
- board_name = Nutrella::TaskBoardName.board_name(ARGV)
5
+ board_name = Nutrella::TaskBoardName.board_name_from_git_branch(ARGV)
6
6
 
7
7
  Nutrella::Command.new(Dir.home, board_name).run
data/lib/nutrella.rb CHANGED
@@ -1,5 +1,4 @@
1
- require "nutrella/string_ext"
2
-
1
+ require "nutrella/board_name_resolver"
3
2
  require "nutrella/cache"
4
3
  require "nutrella/command"
5
4
  require "nutrella/configuration"
@@ -0,0 +1,29 @@
1
+ module Nutrella
2
+ #
3
+ # Knows how to take the supplied board name and resolve it to a Trello board url.
4
+ #
5
+ class BoardNameResolver
6
+ def initialize(url_cache, search_specification)
7
+ @url_cache = url_cache
8
+ @search_specification = search_specification
9
+ end
10
+
11
+ def resolve(board_name, &block)
12
+ matching_url(board_name) || cached_url(board_name, &block)
13
+ end
14
+
15
+ private
16
+
17
+ def matching_url(board_name)
18
+ return nil unless @search_specification.match?(board_name)
19
+
20
+ search_reg_exp = Regexp.new(board_name, Regexp::IGNORECASE)
21
+
22
+ @url_cache.search(search_reg_exp)
23
+ end
24
+
25
+ def cached_url(board_name, &block)
26
+ @url_cache.fetch(board_name, &block)
27
+ end
28
+ end
29
+ end
@@ -20,6 +20,12 @@ module Nutrella
20
20
  value
21
21
  end
22
22
 
23
+ def search(search_reg_exp)
24
+ cache_contents.find { |k, _v| search_reg_exp.match?(k) }.last
25
+ rescue
26
+ nil
27
+ end
28
+
23
29
  private
24
30
 
25
31
  def lookup(key)
@@ -41,7 +47,11 @@ module Nutrella
41
47
  end
42
48
 
43
49
  def cache_contents
44
- @_cache_contents ||= YAML.load_file(path)
50
+ @_cache_contents ||= begin
51
+ YAML.load_file(path)
52
+ rescue
53
+ nil
54
+ end
45
55
  end
46
56
  end
47
57
  end
@@ -15,6 +15,8 @@ module Nutrella
15
15
 
16
16
  def run
17
17
  launch(board_url)
18
+ ensure
19
+ logger.close
18
20
  end
19
21
 
20
22
  private
@@ -22,15 +24,25 @@ module Nutrella
22
24
  def launch(url)
23
25
  launch_command = configuration_values.fetch(:launch_command).gsub("$url$", url)
24
26
 
27
+ logger.info { "Launch command: '#{launch_command}'" }
28
+
25
29
  system(launch_command)
26
30
  end
27
31
 
28
32
  def board_url
29
- enable_trello_app? ? trello_url(cached_url) : cached_url
33
+ url = enable_trello_app? ? trello_url(cached_url) : cached_url
34
+
35
+ logger.info { "Board URL: '#{url}'" }
36
+
37
+ url
38
+ end
39
+
40
+ def cache_capacity
41
+ @_cache_capacity ||= configuration_values.fetch(:cache_capacity)
30
42
  end
31
43
 
32
44
  def cached_url
33
- @_cached_url ||= url_cache.fetch(@board_name) { task_board.lookup_or_create(@board_name).url }
45
+ @_cached_url ||= board_name_resolver.resolve(@board_name) { task_board.lookup_or_create(@board_name).url }
34
46
  end
35
47
 
36
48
  def configuration_values
@@ -41,16 +53,28 @@ module Nutrella
41
53
  configuration_values.fetch(:enable_trello_app)
42
54
  end
43
55
 
56
+ def logger
57
+ @_logger ||= Logger.new(log_filename)
58
+ end
59
+
60
+ def log_filename
61
+ configuration_values.fetch(:enable_logging) ? "nutrella.log" : "/dev/null"
62
+ end
63
+
44
64
  def trello_url(http_url)
45
65
  http_url.gsub(/^http.?:/, "trello:")
46
66
  end
47
67
 
68
+ def board_name_resolver
69
+ Nutrella::BoardNameResolver.new(url_cache, configuration_values.fetch(:cache_first, ""))
70
+ end
71
+
48
72
  def task_board
49
73
  Nutrella::TaskBoard.new(configuration_values)
50
74
  end
51
75
 
52
76
  def url_cache
53
- Nutrella::Cache.new(cache_filename, 5)
77
+ Nutrella::Cache.new(cache_filename, cache_capacity)
54
78
  end
55
79
  end
56
80
  end
@@ -9,7 +9,7 @@ module Nutrella
9
9
  class Configuration
10
10
  NULOGY_ORGANIZATION_ID = "542d76ac2fad4697c3e80448"
11
11
 
12
- INITIAL_CONFIGURATION = <<-YAML.strip_heredoc
12
+ INITIAL_CONFIGURATION = <<~YAML
13
13
  # Trello Developer API Keys
14
14
  key: <your developer key>
15
15
  secret: <your developer secret>
@@ -18,7 +18,10 @@ module Nutrella
18
18
  # Optional Configuration
19
19
  organization: #{NULOGY_ORGANIZATION_ID}
20
20
  launch_command: open $url$
21
- enable_trello_app: False
21
+ enable_trello_app: false
22
+ enable_logging: false
23
+ cache_capacity: 5
24
+ cache_first: '^PM-\d+'
22
25
  YAML
23
26
 
24
27
  attr_reader :path, :values
@@ -35,14 +38,17 @@ module Nutrella
35
38
 
36
39
  private
37
40
 
38
- def load_configuration
41
+ def load_configuration # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
39
42
  @values = {
40
43
  key: configuration.fetch("key"),
41
44
  secret: configuration.fetch("secret"),
42
45
  token: configuration.fetch("token"),
43
46
  organization: configuration.fetch("organization", NULOGY_ORGANIZATION_ID),
44
47
  launch_command: configuration.fetch("launch_command", "open $url$"),
45
- enable_trello_app: configuration.fetch("enable_trello_app", "False")
48
+ enable_trello_app: configuration.fetch("enable_trello_app", "false"),
49
+ enable_logging: configuration.fetch("enable_logging", "false"),
50
+ cache_capacity: configuration.fetch("cache_capacity", 5),
51
+ cache_first: to_reg_exp("cache_first")
46
52
  }
47
53
  rescue => e
48
54
  abort "#{path} #{e}"
@@ -64,7 +70,7 @@ module Nutrella
64
70
  end
65
71
 
66
72
  def configuration_missing_message
67
- <<-TEXT.strip_heredoc
73
+ <<~TEXT
68
74
  I see that you don't have a config file '#{path}'.
69
75
  So, I created one for you.
70
76
 
@@ -73,5 +79,9 @@ module Nutrella
73
79
  See https://github.com/amckinnell/nutrella for instructions.
74
80
  TEXT
75
81
  end
82
+
83
+ def to_reg_exp(key)
84
+ Regexp.new(configuration.fetch(key, '^PM-\d+'), Regexp::IGNORECASE)
85
+ end
76
86
  end
77
87
  end
@@ -9,7 +9,7 @@ module Nutrella
9
9
  # Note: will also accept the name of a branch as an argument.
10
10
  #
11
11
  class TaskBoardName
12
- def self.board_name(args)
12
+ def self.board_name_from_git_branch(args)
13
13
  git_branch_name = args[0]
14
14
  return git_branch_name if git_branch_name.present?
15
15
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nutrella
4
- VERSION = "1.5.1"
4
+ VERSION = "1.6.0"
5
5
  end
data/nutrella.gemspec CHANGED
@@ -24,13 +24,13 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ["lib"]
26
26
 
27
- spec.required_ruby_version = ">= 2.5"
27
+ spec.required_ruby_version = ">= 2.6"
28
28
 
29
- spec.add_runtime_dependency "ruby-trello", "~> 2.1"
29
+ spec.add_runtime_dependency "ruby-trello", "~> 3.0"
30
30
 
31
- spec.add_development_dependency "rake", ">= 12.1", "< 13.1"
32
- spec.add_development_dependency "rspec", ">= 3.9", "< 4.0"
33
- spec.add_development_dependency "rubocop", "~> 0.82"
34
- spec.add_development_dependency "rubocop-rspec", "~> 1.38"
35
- spec.add_development_dependency "simplecov", "~> 0.17"
31
+ spec.add_development_dependency "rake", "~> 13.0"
32
+ spec.add_development_dependency "rspec", "~> 3.10"
33
+ spec.add_development_dependency "rubocop", "~> 1.18"
34
+ spec.add_development_dependency "rubocop-rspec", "~> 2.4"
35
+ spec.add_development_dependency "simplecov", "~> 0.21"
36
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nutrella
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alistair McKinnell
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-27 00:00:00.000000000 Z
11
+ date: 2021-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-trello
@@ -16,97 +16,85 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.1'
19
+ version: '3.0'
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
- version: '2.1'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '12.1'
34
- - - "<"
31
+ - - "~>"
35
32
  - !ruby/object:Gem::Version
36
- version: '13.1'
33
+ version: '13.0'
37
34
  type: :development
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '12.1'
44
- - - "<"
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '13.1'
40
+ version: '13.0'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: rspec
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '3.9'
54
- - - "<"
45
+ - - "~>"
55
46
  - !ruby/object:Gem::Version
56
- version: '4.0'
47
+ version: '3.10'
57
48
  type: :development
58
49
  prerelease: false
59
50
  version_requirements: !ruby/object:Gem::Requirement
60
51
  requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: '3.9'
64
- - - "<"
52
+ - - "~>"
65
53
  - !ruby/object:Gem::Version
66
- version: '4.0'
54
+ version: '3.10'
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: rubocop
69
57
  requirement: !ruby/object:Gem::Requirement
70
58
  requirements:
71
59
  - - "~>"
72
60
  - !ruby/object:Gem::Version
73
- version: '0.82'
61
+ version: '1.18'
74
62
  type: :development
75
63
  prerelease: false
76
64
  version_requirements: !ruby/object:Gem::Requirement
77
65
  requirements:
78
66
  - - "~>"
79
67
  - !ruby/object:Gem::Version
80
- version: '0.82'
68
+ version: '1.18'
81
69
  - !ruby/object:Gem::Dependency
82
70
  name: rubocop-rspec
83
71
  requirement: !ruby/object:Gem::Requirement
84
72
  requirements:
85
73
  - - "~>"
86
74
  - !ruby/object:Gem::Version
87
- version: '1.38'
75
+ version: '2.4'
88
76
  type: :development
89
77
  prerelease: false
90
78
  version_requirements: !ruby/object:Gem::Requirement
91
79
  requirements:
92
80
  - - "~>"
93
81
  - !ruby/object:Gem::Version
94
- version: '1.38'
82
+ version: '2.4'
95
83
  - !ruby/object:Gem::Dependency
96
84
  name: simplecov
97
85
  requirement: !ruby/object:Gem::Requirement
98
86
  requirements:
99
87
  - - "~>"
100
88
  - !ruby/object:Gem::Version
101
- version: '0.17'
89
+ version: '0.21'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
93
  requirements:
106
94
  - - "~>"
107
95
  - !ruby/object:Gem::Version
108
- version: '0.17'
109
- description:
96
+ version: '0.21'
97
+ description:
110
98
  email:
111
99
  - alistair.mckinnell@gmail.com
112
100
  executables:
@@ -121,7 +109,6 @@ files:
121
109
  - ".rspec"
122
110
  - ".rubocop.yml"
123
111
  - ".ruby-version"
124
- - ".travis.yml"
125
112
  - CHANGELOG.md
126
113
  - CODE_OF_CONDUCT.md
127
114
  - Gemfile
@@ -136,11 +123,11 @@ files:
136
123
  - bin/setup
137
124
  - exe/nutrella
138
125
  - lib/nutrella.rb
126
+ - lib/nutrella/board_name_resolver.rb
139
127
  - lib/nutrella/cache.rb
140
128
  - lib/nutrella/command.rb
141
129
  - lib/nutrella/configuration.rb
142
130
  - lib/nutrella/developer_keys.rb
143
- - lib/nutrella/string_ext.rb
144
131
  - lib/nutrella/task_board.rb
145
132
  - lib/nutrella/task_board_name.rb
146
133
  - lib/nutrella/version.rb
@@ -153,7 +140,7 @@ metadata:
153
140
  changelog_uri: https://github.com/amckinnell/nutrella/blob/master/CHANGELOG.md
154
141
  source_code_uri: https://github.com/amckinnell/nutrella
155
142
  bug_tracker_uri: https://github.com/amckinnell/nutrella/issues
156
- post_install_message:
143
+ post_install_message:
157
144
  rdoc_options: []
158
145
  require_paths:
159
146
  - lib
@@ -161,15 +148,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
161
148
  requirements:
162
149
  - - ">="
163
150
  - !ruby/object:Gem::Version
164
- version: '2.5'
151
+ version: '2.6'
165
152
  required_rubygems_version: !ruby/object:Gem::Requirement
166
153
  requirements:
167
154
  - - ">="
168
155
  - !ruby/object:Gem::Version
169
156
  version: '0'
170
157
  requirements: []
171
- rubygems_version: 3.0.3
172
- signing_key:
158
+ rubygems_version: 3.2.24
159
+ signing_key:
173
160
  specification_version: 4
174
161
  summary: A command line tool for creating a Trello Board based on the current git
175
162
  branch.
data/.travis.yml DELETED
@@ -1 +0,0 @@
1
- language: ruby
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Simpler versions of extensions from ActiveSupport.
4
- #
5
- class String
6
- def strip_heredoc
7
- gsub(/^ +/, "")
8
- end
9
-
10
- def titleize
11
- tr("_-", " ").split(" ").map(&:capitalize).join(" ")
12
- end
13
- end