pathspec 1.0.0 → 1.1.1

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: 959defcb28199d86bb69d1b7854937c677e37dc71521f44693a42411897acf01
4
- data.tar.gz: dfa517e7b72d5aede4eb9daf642fda9266c1f82454bed03b3b776934f5c56c95
3
+ metadata.gz: 0ae83043af9e6984a10ace1624b0503945430ae4c5421537bb8f9213cc01b3a2
4
+ data.tar.gz: 9b2905b1fca91f0ce7ee38523aa02aff2f8b08f15c960e091538e0ddff403676
5
5
  SHA512:
6
- metadata.gz: b1824b7ce0c951017a51d501f5e18299d1fa0400ca0c6db54b9b774c4aa08a3587504d98cd578b99296cf34aad2e07593292563014a0fcc09f72697194b1327c
7
- data.tar.gz: 96ab89b84afdc3f69b24f0f84bd5740c2ebee3048246ca5d482bc3f24f08dbda542b03f3a6efb02d33d6cdd225646e1ef2cadaa43be3d1069f1912cfa4f99da1
6
+ metadata.gz: a32f8a1bd4ccf9105ea69ac78a977a74ddea46cb49d6c414c4fbb7631fb7002d0d52fe6731bb8969a599b61f652a0ed37ba224da0415cbcf361abd54b53e7fe4
7
+ data.tar.gz: ce42052b1af7f4c26581068c9d43a407715f80276120fa9d8500def845e27d7d4013ed87db5ea4662155708e02fd32f3bc43f12c9349baa5a34d33661d9a4d43
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # pathspec-ruby CHANGELOG
2
2
 
3
+ ## 1.1.0 (Minor Release)
4
+
5
+ - (Maint) Updated Supported Ruby Versions
6
+ - (Maint) Linting corrections
7
+
8
+ ## Undocumented Releases (Sorry!)
9
+
3
10
  ## 0.2.0 (Minor Release)
4
11
  - (Feature) A CLI tool, pathspec-rb, is now provided with the gem.
5
12
  - (API Change) New namespace for gem: `PathSpec`: Everything is now namespaced under `PathSpec`, to prevent naming collisions with other libraries. Thanks @tenderlove!
data/README.md CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/pathspec.svg)](https://badge.fury.io/rb/pathspec) [![Build Status](https://travis-ci.org/highb/pathspec-ruby.svg?branch=master)](https://travis-ci.org/highb/pathspec-ruby) [![Maintainability](https://api.codeclimate.com/v1/badges/4f3b5917e01fb34f790d/maintainability)](https://codeclimate.com/github/highb/pathspec-ruby/maintainability)
4
4
 
5
+ [man Page as HTML](http://highb.github.io/pathspec-ruby/)
6
+
5
7
  [Supported Rubies](https://www.ruby-lang.org/en/downloads/):
6
8
 
7
- - 2.4.6 (Maintenance)
8
- - 2.5.6 (Stable)
9
- - 2.6.4 (Stable)
9
+ - 2.6 (Security Maintenance)
10
+ - 2.7 (Stable, Tested)
11
+ - 3.0 (Stable, Tested)
10
12
 
11
13
  Match Path Specifications, such as .gitignore, in Ruby!
12
14
 
@@ -23,19 +25,19 @@ gem install pathspec
23
25
  ## CLI Usage
24
26
 
25
27
  ```bash
26
- test-pathspec cat .gitignore
28
+ ➜ cat .gitignore
27
29
  *.swp
28
30
  /coverage/
29
- test-pathspec be pathspec-rb specs_match "coverage/foo"
31
+ bundle exec pathspec-rb specs_match "coverage/foo"
30
32
  /coverage/
31
- test-pathspec be pathspec-rb specs_match "file.swp"
33
+ bundle exec pathspec-rb specs_match "file.swp"
32
34
  *.swp
33
- test-pathspec be pathspec-rb match "file.swp"
34
- test-pathspec echo $?
35
+ bundle exec pathspec-rb match "file.swp"
36
+ ➜ echo $?
35
37
  0
36
- test-pathspec ls
38
+ ➜ ls
37
39
  Gemfile Gemfile.lock coverage file.swp source.rb
38
- test-pathspec be pathspec-rb tree .
40
+ bundle exec pathspec-rb tree .
39
41
  ./coverage
40
42
  ./coverage/index.html
41
43
  ./file.swp
@@ -49,7 +51,7 @@ require 'pathspec'
49
51
  # Create a .gitignore-style Pathspec by giving it newline separated gitignore
50
52
  # lines, an array of gitignore lines, or any other enumable object that will
51
53
  # give strings matching the .gitignore-style (File, etc.)
52
- gitignore = Pathspec.from_filename('spec/files/gitignore_readme')
54
+ gitignore = PathSpec.from_filename('spec/files/gitignore_readme')
53
55
 
54
56
  # Our .gitignore in this example contains:
55
57
  # !**/important.txt
@@ -75,6 +77,36 @@ gitignore.match_paths ['/abc/123', '/abc/important.txt', '/abc/']
75
77
  # There is no CLI equivalent to this.
76
78
  ```
77
79
 
80
+ ## Example Usage in Gemspec
81
+
82
+ ```
83
+ lib = File.expand_path("lib", __dir__)
84
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
85
+ require "gemspec_pathspec_test/version"
86
+ require 'pathspec'
87
+
88
+ Gem::Specification.new do |spec|
89
+ spec.name = "gemspec_pathspec_test"
90
+ spec.version = GemspecPathspecTest::VERSION
91
+ spec.authors = ["Brandon High"]
92
+ spec.email = ["highb@users.noreply.github.com"]
93
+
94
+ spec.summary = "whatever"
95
+
96
+ spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
97
+
98
+ ps = PathSpec.from_filename('.gitignore')
99
+ spec.files = Dir['lib/*.rb'].reject { |f| ps.match(f) }
100
+ spec.bindir = "exe"
101
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
102
+ spec.require_paths = ["lib"]
103
+
104
+ spec.add_development_dependency "bundler", "~> 2.0"
105
+ spec.add_development_dependency "rake", "~> 10.0"
106
+ spec.add_development_dependency "rspec", "~> 3.0"
107
+ end
108
+ ```
109
+
78
110
  ## Building/Installing from Source
79
111
 
80
112
  ```shell
File without changes
@@ -153,15 +153,14 @@ class PathSpec
153
153
  end
154
154
 
155
155
  def translate_segment_glob(pattern)
156
- ''"
157
- Translates the glob pattern to a regular expression. This is used in
158
- the constructor to translate a path segment glob pattern to its
159
- corresponding regular expression.
160
-
161
- *pattern* (``str``) is the glob pattern.
162
-
163
- Returns the regular expression (``str``).
164
- "''
156
+ # Translates the glob pattern to a regular expression. This is used in
157
+ # the constructor to translate a path segment glob pattern to its
158
+ # corresponding regular expression.
159
+ #
160
+ # *pattern* (``str``) is the glob pattern.
161
+ #
162
+ # Returns the regular expression (``str``).
163
+ #
165
164
  # NOTE: This is derived from `fnmatch.translate()` and is similar to
166
165
  # the POSIX function `fnmatch()` with the `FNM_PATHNAME` flag set.
167
166
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pathspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon High
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-11 00:00:00.000000000 Z
11
+ date: 2022-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -119,8 +119,7 @@ files:
119
119
  - LICENSE
120
120
  - README.md
121
121
  - bin/pathspec-rb
122
- - docs/html/pathspec-rb.html
123
- - docs/man/pathspec-rb.man.1
122
+ - docs/index.html
124
123
  - docs/pathspec-rb.md
125
124
  - lib/pathspec.rb
126
125
  - lib/pathspec/gitignorespec.rb
@@ -137,8 +136,10 @@ files:
137
136
  homepage: https://github.com/highb/pathspec-ruby
138
137
  licenses:
139
138
  - Apache-2.0
140
- metadata: {}
141
- post_install_message:
139
+ metadata:
140
+ allowed_push_host: https://rubygems.org
141
+ rubygems_mfa_required: 'true'
142
+ post_install_message:
142
143
  rdoc_options: []
143
144
  require_paths:
144
145
  - lib
@@ -146,15 +147,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
147
  requirements:
147
148
  - - ">="
148
149
  - !ruby/object:Gem::Version
149
- version: 2.6.0
150
+ version: 2.6.9
150
151
  required_rubygems_version: !ruby/object:Gem::Requirement
151
152
  requirements:
152
153
  - - ">="
153
154
  - !ruby/object:Gem::Version
154
155
  version: '0'
155
156
  requirements: []
156
- rubygems_version: 3.1.4
157
- signing_key:
157
+ rubygems_version: 3.1.6
158
+ signing_key:
158
159
  specification_version: 4
159
160
  summary: 'PathSpec: for matching path patterns'
160
161
  test_files:
@@ -1,67 +0,0 @@
1
- .\" generated by kramdown
2
- .TH "PATHSPEC\-RB" "1"
3
- .SH "NAME"
4
- pathspec \- Test pathspecs against a specific path
5
- .SH "SYNOPSIS"
6
- \fBpathspec\-rb\fP [\fBOPTIONS\fP] [\fBSUBCOMMAND\fP] [\fBPATH\fP] NAME PATH
7
- .SH "DESCRIPTION"
8
- \fBpathspc\-rb\fP is a tool that accompanies the pathspec\-ruby library to help you test what match results the library would find using path specs\. You can either find all specs matching a path, find all files matching specs, or verify that a path would match any spec\.
9
- .P
10
- https://github\.com/highb/pathspec\-ruby
11
- .SH "SUB\-COMMANDS"
12
- .TS
13
- box ;
14
- lb lb .
15
- Name Description
16
- =
17
- .T&
18
- l l .
19
- \fIspecs_match\fP Find all specs matching path
20
- _
21
- .T&
22
- l l .
23
- \fItree\fP Find all files under path matching the spec
24
- _
25
- .T&
26
- l l .
27
- \fImatch\fP Check if the path matches any spec
28
- .TE
29
- .sp
30
- .SH "OPTIONS"
31
- .TP
32
- \fB\-f <FILENAME>\fP, \fB\-\-file <FILENAME>\fP
33
- Load path specs from the file passed in as argument\. If this option is not specified, \fBpathspec\-rb\fP defaults to loading \fB\&\.gitignore\fP\&\.
34
- .TP
35
- \fB\-t [git|regex]\fP, \fB\-\-type [git|regex]\fP
36
- Type of spec expected in the loaded specs file (see \fB\-f\fP option)\. Defaults to \fBgit\fP\&\.
37
- .TP
38
- \fB\-v\fP, \fB\-\-verbose\fP
39
- Only output if there are matches\.
40
- .SH "EXAMPLE"
41
- Find all files ignored by git under your source directory:
42
- .sp
43
- .RS 4
44
- .EX
45
- $ pathspec\-rb tree src/
46
- .EE
47
- .RE
48
- .P
49
- List all spec rules that would match for the specified path:
50
- .sp
51
- .RS 4
52
- .EX
53
- $ pathspec\-rb specs_match build/
54
- .EE
55
- .RE
56
- .P
57
- Check that a path matches at least one of the specs in a new version of a gitignore file:
58
- .sp
59
- .RS 4
60
- .EX
61
- $ pathspec\-rb match \-f \.gitignore\.new spec/fixtures/
62
- .EE
63
- .RE
64
- .SH "AUTHOR"
65
- Brandon High highb@users\.noreply\.github\.com
66
- .P
67
- Gabriel Filion