stringglob 0.0.3 → 0.0.4

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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 12216eda7c5b74f60824c26c55f34025e1318ec0
4
+ data.tar.gz: a9e667872dd29ba408cbb21a97dd45ee3f563376
5
+ SHA512:
6
+ metadata.gz: bbfe87d043d856af622262e17162bd43887355815b415e473d10919d49ced26c6b52bc3d7791812e7c0c60207fe612605a5ce331ea979906ca410a276df84f63
7
+ data.tar.gz: 27d517288fe468df0b0a8fd0d95006c02805be53828d00bdf98128db442f9972aa8848aa00c19f324cca4fa181bceecc187722892269678b45b7a32d184a67c3
data/Makefile CHANGED
@@ -1,12 +1,30 @@
1
- GEM = pkg/stringglob-0.0.2.gem
1
+ RAKE= rake
2
+ GEM= gem
2
3
 
3
- default: build
4
+ default: PHONY #build
4
5
 
5
- build: gem
6
+ build: PHONY
7
+ $(RAKE) compile
6
8
 
7
- gem:
8
- rake build
9
+ test t: PHONY
10
+ $(RAKE) test
9
11
 
10
- upload:
11
- gem push $(GEM)
12
+ gem: PHONY
13
+ $(RAKE) build
14
+
15
+ upload: PHONY
16
+ $(RM) pkg/*.gem
17
+ $(MAKE) gem
18
+ $(GEM) push pkg/*.gem
19
+
20
+ install: PHONY
21
+ $(RAKE) install
22
+
23
+ clean: PHONY
24
+ $(RAKE) clean
25
+
26
+ distclean: PHONY
27
+ $(RAKE) clobber
28
+
29
+ PHONY:
12
30
 
@@ -0,0 +1,21 @@
1
+ Ruby: StringGlob
2
+ ======================================================================
3
+
4
+ * Copyright (c) 2011-2014 SATOH Fumiyasu @ OSS Technology Corp., Japan
5
+ * License:: You can redistribute it and/or modify it under the same term as Ruby
6
+ * URL: <https://github.com/fumiyas/ruby-stringglob>
7
+ * Blog: <https://fumiyas.github.io/>
8
+
9
+ Description
10
+ ======================================================================
11
+
12
+ This is a Ruby class to generate a Regexp object from a glob(3) pattern.
13
+
14
+ Example
15
+ ======================================================================
16
+
17
+ TODO
18
+ ======================================================================
19
+
20
+ * Support `[!...]`
21
+
@@ -15,9 +15,9 @@ require "stringglob/version"
15
15
  module StringGlob
16
16
  ## Ignore case.
17
17
  IGNORE_CASE = 1 << 0
18
- ## Leading star '*' mathces leading dot '.'.
18
+ ## Leading star '*' matches leading dot '.'.
19
19
  STAR_MATCHES_LEADING_DOT = 1 << 1
20
- ## Star '*' mathces slash '/'.
20
+ ## Star '*' matches slash '/'.
21
21
  STAR_MATCHES_SLASH = 1 << 2
22
22
 
23
23
  ## Returns a Regex object which is the equivalent of the globbing pattern.
@@ -39,7 +39,7 @@ module StringGlob
39
39
  glob.scan(/./m) do |glob_c|
40
40
  if first_byte
41
41
  if star_matches_leading_dot
42
- re_str += '(?=[^\.])' unless glob_c == '.'
42
+ re_str += '(?=[^.])' unless glob_c =~ /^[.{\[\\]$/
43
43
  end
44
44
  first_byte = false
45
45
  end
@@ -1,3 +1,3 @@
1
1
  module StringGlob
2
- VERSION = "0.0.3" ## :nodoc:
2
+ VERSION = "0.0.4" ## :nodoc:
3
3
  end
@@ -11,8 +11,6 @@ Gem::Specification.new do |s|
11
11
  s.summary = %q{Generate a Regexp object from a glob(3) pattern}
12
12
  s.description = %q{Generate a Regexp object from a glob(3) pattern}
13
13
 
14
- s.rubyforge_project = "stringglob"
15
-
16
14
  s.files = `git ls-files`.split("\n")
17
15
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
16
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -38,6 +38,10 @@ class StringGlobTest < Test::Unit::TestCase
38
38
  assert_nil SG.regexp('*.foo').match('.file.foo')
39
39
  ## strict . rule match
40
40
  assert_not_nil SG.regexp('.*.foo').match('.file.foo')
41
+ assert_not_nil SG.regexp('\.foo').match('.foo')
42
+ assert_not_nil SG.regexp('[.]foo').match('.foo')
43
+ assert_not_nil SG.regexp('{foo,.bar}').match('.bar')
44
+ assert_not_nil SG.regexp('{.foo,bar}').match('.foo')
41
45
  ## relaxed . rule
42
46
  assert_not_nil SG.regexp('*.foo', SG::STAR_MATCHES_LEADING_DOT).match('.file.foo')
43
47
 
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stringglob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - SATOH Fumiyasu
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-11-06 00:00:00.000000000 Z
11
+ date: 2014-10-21 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Generate a Regexp object from a glob(3) pattern
15
14
  email:
@@ -18,9 +17,10 @@ executables: []
18
17
  extensions: []
19
18
  extra_rdoc_files: []
20
19
  files:
21
- - .gitignore
20
+ - ".gitignore"
22
21
  - Gemfile
23
22
  - Makefile
23
+ - README.md
24
24
  - Rakefile
25
25
  - lib/stringglob.rb
26
26
  - lib/stringglob/version.rb
@@ -28,27 +28,26 @@ files:
28
28
  - test/test_stringglob.rb
29
29
  homepage: https://github.com/fumiyas/ruby-stringglob
30
30
  licenses: []
31
+ metadata: {}
31
32
  post_install_message:
32
33
  rdoc_options: []
33
34
  require_paths:
34
35
  - lib
35
36
  required_ruby_version: !ruby/object:Gem::Requirement
36
- none: false
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  required_rubygems_version: !ruby/object:Gem::Requirement
42
- none: false
43
42
  requirements:
44
- - - ! '>='
43
+ - - ">="
45
44
  - !ruby/object:Gem::Version
46
45
  version: '0'
47
46
  requirements: []
48
- rubyforge_project: stringglob
49
- rubygems_version: 1.8.11
47
+ rubyforge_project:
48
+ rubygems_version: 2.2.2
50
49
  signing_key:
51
- specification_version: 3
50
+ specification_version: 4
52
51
  summary: Generate a Regexp object from a glob(3) pattern
53
52
  test_files:
54
53
  - test/test_stringglob.rb