faster_path 0.2.1 → 0.2.2

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
  SHA1:
3
- metadata.gz: 739814304e0316723938ab4430c07c7b17d490a2
4
- data.tar.gz: 108e7bcbf3ff76a25cc13abcc93139c6aa605f8b
3
+ metadata.gz: 9d4375a359961afcc5baa61ac3c67569797e7f2f
4
+ data.tar.gz: b73c128d729d3fd37d5b125f584149466463a83b
5
5
  SHA512:
6
- metadata.gz: 87faa82ae7729a586da191ee691e41db88a24269aa26e9ab54d0f823c5ce140bd105ecc91066dc0f0d5ee8a4dd883b030a8af17e85705d250dc9f6b8a0d53785
7
- data.tar.gz: 3d1861b3bd1238270820b6b1f688da630ebfc5556afab69cc37b2eb62bc02f3fe6a4538f5d3605fc97d9afb60681f561f5d3e4a4b6e08c2b7600339bee85f4d0
6
+ metadata.gz: 42ab2f7cf2f3d45acf871b1169722905bc7bc7081048fc8ec23d74f5163dc4a25c65247c01ca97edd9cb2202886e8a482a9c40518301a59a216c58ed76125ccd
7
+ data.tar.gz: 1800e1268585ef4970508199ea494be7aaf5382229dc7d4f1f5486bda8b94c3576144f5afb9783400a555509b8ac485a5d7e1a924049e9baa46ccb8470053958
data/Cargo.lock CHANGED
@@ -3,6 +3,7 @@ name = "faster_path"
3
3
  version = "0.0.1"
4
4
  dependencies = [
5
5
  "array_tool 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
6
+ "ruby-sys 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
6
7
  "ruru 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
7
8
  ]
8
9
 
data/Cargo.toml CHANGED
@@ -13,5 +13,6 @@ name = "faster_path"
13
13
  crate-type = ["dylib"]
14
14
 
15
15
  [dependencies]
16
+ ruby-sys = "0.2.20"
16
17
  ruru = "0.9.3"
17
18
  array_tool = "0.4.1"
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![TravisCI Build Status](https://travis-ci.org/danielpclark/faster_path.svg?branch=master)](https://travis-ci.org/danielpclark/faster_path)
4
4
  [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/10ul0gk3cwhlt2lj/branch/master?svg=true)](https://ci.appveyor.com/project/danielpclark/faster-path/branch/master)
5
5
  [![Latest Tag](https://img.shields.io/github/tag/danielpclark/faster_path.svg)](https://github.com/danielpclark/faster_path/tags)
6
- [![Commits Since Last Release](https://img.shields.io/github/commits-since/danielpclark/faster_path/v0.1.11.svg)](https://github.com/danielpclark/faster_path/pulse)
6
+ [![Commits Since Last Release](https://img.shields.io/github/commits-since/danielpclark/faster_path/v0.2.1.svg)](https://github.com/danielpclark/faster_path/pulse)
7
7
  [![Binary Release](https://img.shields.io/github/release/danielpclark/faster_path.svg)](https://github.com/danielpclark/faster_path/releases)
8
8
  [![Coverage Status](https://coveralls.io/repos/github/danielpclark/faster_path/badge.svg)](https://coveralls.io/github/danielpclark/faster_path)
9
9
  [![Inline docs](http://inch-ci.org/github/danielpclark/faster_path.svg?branch=master)](http://inch-ci.org/github/danielpclark/faster_path)
data/Rakefile CHANGED
@@ -98,7 +98,7 @@ Rake::TestTask.new(minitest: :build_lib) do |t|
98
98
  t.test_files = FileList['test/**/*_test.rb']
99
99
  end
100
100
 
101
- task test: [:cargo, :minitest, :lint] do |_t|
101
+ task test: [:cargo, :minitest, :lint, :pbench] do |_t|
102
102
  exec 'spec/mspec/bin/mspec --format spec core/file/basename core/file/extname core/file/dirname library/pathname'
103
103
  end
104
104
 
data/faster_path.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency "bundler", "~> 1.12"
28
28
  spec.add_dependency "rake", "~> 12.0"
29
29
  spec.add_dependency "ffi", "~> 1.9"
30
- spec.add_development_dependency "method_source", "~> 0.8.2"
30
+ spec.add_development_dependency "read_source", "~> 0.2.6"
31
31
  spec.add_development_dependency "minitest", "~> 5.10"
32
32
  spec.add_development_dependency "minitest-reporters", "~> 1.1"
33
33
  spec.add_development_dependency "color_pound_spec_reporter", "~> 0.0.9"
@@ -25,8 +25,6 @@ module FasterPath
25
25
  end
26
26
  end
27
27
  end
28
-
29
- # rubocop:disable Metrics/MethodLength
30
28
  def self._ruby_library_pathname!
31
29
  ::Pathname.class_eval do
32
30
  def absolute?
@@ -38,9 +36,10 @@ module FasterPath
38
36
  end
39
37
  private :add_trailing_separator
40
38
 
41
- def children(with_dir=true)
42
- FasterPath.children(@path, with_dir)
43
- end
39
+ # Do NOT remove; waiting for fix in ruru
40
+ # def children(with_dir=true)
41
+ # FasterPathname::Public.allocate.send(:children_compat, @path, with_dir)
42
+ # end if !!ENV['WITH_REGRESSION']
44
43
 
45
44
  def chop_basename(pth)
46
45
  FasterPath.chop_basename(pth)
@@ -51,9 +50,10 @@ module FasterPath
51
50
  FasterPath.directory?(@path)
52
51
  end
53
52
 
54
- def entries
55
- FasterPath.entries(@path)
56
- end
53
+ # Do NOT remove; waiting for fix in ruru
54
+ # def entries
55
+ # FasterPathname::Public.allocate.send(:entries_compat, @path)
56
+ # end if !!ENV['WITH_REGRESSION']
57
57
 
58
58
  def has_trailing_separator?(pth)
59
59
  FasterPath.has_trailing_separator?(pth)
@@ -34,9 +34,10 @@ module FasterPath
34
34
  end
35
35
  private :add_trailing_separator
36
36
 
37
- def children(with_dir=true)
38
- FasterPath.children(@path, with_dir)
39
- end
37
+ # Do NOT remove; waiting for fix in ruru
38
+ # def children(with_dir=true)
39
+ # FasterPathname::Public.allocate.send(:children_compat, @path, with_dir)
40
+ # end if !!ENV['WITH_REGRESSION']
40
41
 
41
42
  def chop_basename(pth)
42
43
  FasterPath.chop_basename(pth)
@@ -47,9 +48,10 @@ module FasterPath
47
48
  FasterPath.directory?(@path)
48
49
  end
49
50
 
50
- def entries
51
- FasterPath.entries(@path)
52
- end
51
+ # Do NOT remove; waiting for fix in ruru
52
+ # def entries
53
+ # FasterPathname::Public.allocate.send(:entries_compat, @path)
54
+ # end if !!ENV['WITH_REGRESSION']
53
55
 
54
56
  def has_trailing_separator?(pth)
55
57
  FasterPath.has_trailing_separator?(pth)
@@ -1,3 +1,3 @@
1
1
  module FasterPath
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
data/lib/faster_path.rb CHANGED
@@ -18,11 +18,13 @@ module FasterPath
18
18
  private :absolute?
19
19
  private :add_trailing_separator
20
20
  private :basename
21
- private :children
21
+ private :children # String results
22
+ private :children_compat # wrap Pathname on each
22
23
  private :chop_basename
23
24
  private :directory?
24
25
  private :dirname
25
- private :entries
26
+ private :entries # String results
27
+ private :entries_compat # wrap Pathname on each
26
28
  private :extname
27
29
  private :has_trailing_separator?
28
30
  private :plus
data/src/helpers.rs ADDED
@@ -0,0 +1,21 @@
1
+ extern crate ruby_sys;
2
+ use self::ruby_sys::string;
3
+
4
+ use ruru::{AnyObject, Class};
5
+ use ruru::types::{c_char, c_long, Value};
6
+
7
+ #[inline]
8
+ pub fn str_to_value(string: &str) -> Value {
9
+ let str_ptr = string.as_ptr() as *const c_char;
10
+ let len = string.len() as c_long;
11
+
12
+ unsafe { string::rb_str_new(str_ptr, len) }
13
+ }
14
+
15
+ pub fn str_to_any_obj(str_var: &str) -> AnyObject {
16
+ AnyObject::from(str_to_value(str_var))
17
+ }
18
+
19
+ pub fn class_new(klass: &str, params: Vec<AnyObject>) -> AnyObject {
20
+ Class::from_existing(klass).new_instance(params)
21
+ }
data/src/lib.rs CHANGED
@@ -9,6 +9,7 @@ extern crate ruru;
9
9
 
10
10
  class!(FasterPathname);
11
11
 
12
+ mod helpers;
12
13
  mod pathname;
13
14
  mod basename;
14
15
  mod chop_basename;
@@ -26,23 +27,6 @@ methods!(
26
27
  FasterPathname,
27
28
  _itself,
28
29
 
29
- // TOPATH = :to_path
30
-
31
- // SAME_PATHS = if File::FNM_SYSCASE.nonzero?
32
- // # Avoid #zero? here because #casecmp can return nil.
33
- // proc {|a, b| a.casecmp(b) == 0}
34
- // else
35
- // proc {|a, b| a == b}
36
- // end
37
-
38
- // if File::ALT_SEPARATOR
39
- // SEPARATOR_LIST = "#{Regexp.quote File::ALT_SEPARATOR}#{Regexp.quote File::SEPARATOR}"
40
- // SEPARATOR_PAT = /[#{SEPARATOR_LIST}]/
41
- // else
42
- // SEPARATOR_LIST = "#{Regexp.quote File::SEPARATOR}"
43
- // SEPARATOR_PAT = /#{Regexp.quote File::SEPARATOR}/
44
- // end
45
-
46
30
  fn pub_add_trailing_separator(pth: RString) -> RString {
47
31
  pathname::pn_add_trailing_separator(pth)
48
32
  }
@@ -61,6 +45,10 @@ methods!(
61
45
  pathname::pn_children(pth, with_dir)
62
46
  }
63
47
 
48
+ fn pub_children_compat(pth: RString, with_dir: Boolean) -> Array {
49
+ pathname::pn_children_compat(pth, with_dir)
50
+ }
51
+
64
52
  fn pub_chop_basename(pth: RString) -> Array {
65
53
  pathname::pn_chop_basename(pth)
66
54
  }
@@ -91,10 +79,16 @@ methods!(
91
79
  // pathname::pn_each_filename(pth)
92
80
  // }
93
81
 
82
+ // pub_entries returns an array of String objects
94
83
  fn pub_entries(pth: RString) -> Array {
95
84
  pathname::pn_entries(pth)
96
85
  }
97
86
 
87
+ // pub_entries_compat returns an array of Pathname objects
88
+ fn pub_entries_compat(pth: RString) -> Array {
89
+ pathname::pn_entries_compat(pth)
90
+ }
91
+
98
92
  fn pub_extname(pth: RString) -> RString {
99
93
  pathname::pn_extname(pth)
100
94
  }
@@ -157,10 +151,12 @@ pub extern "C" fn Init_faster_pathname(){
157
151
  itself.def("add_trailing_separator", pub_add_trailing_separator);
158
152
  itself.def("basename", pub_basename);
159
153
  itself.def("children", pub_children);
154
+ itself.def("children_compat", pub_children_compat);
160
155
  itself.def("chop_basename", pub_chop_basename);
161
156
  itself.def("directory?", pub_is_directory);
162
157
  itself.def("dirname", pub_dirname);
163
158
  itself.def("entries", pub_entries);
159
+ itself.def("entries_compat", pub_entries_compat);
164
160
  itself.def("extname", pub_extname);
165
161
  itself.def("has_trailing_separator?", pub_has_trailing_separator);
166
162
  itself.def("plus", pub_plus);
data/src/pathname.rs CHANGED
@@ -1,3 +1,4 @@
1
+ use helpers::*;
1
2
  use basename;
2
3
  use chop_basename;
3
4
  use dirname;
@@ -9,7 +10,10 @@ use ruru::{RString, Boolean, Array};
9
10
  use std::path::{MAIN_SEPARATOR,Path};
10
11
  use std::fs;
11
12
 
12
- pub fn pn_add_trailing_separator(pth: Result<ruru::RString, ruru::result::Error>) -> RString {
13
+ type MaybeString = Result<ruru::RString, ruru::result::Error>;
14
+ type MaybeBoolean = Result<ruru::Boolean, ruru::result::Error>;
15
+
16
+ pub fn pn_add_trailing_separator(pth: MaybeString) -> RString {
13
17
  let p = pth.ok().unwrap();
14
18
  let x = format!("{}{}", p.to_str(), "a");
15
19
  match x.rsplit_terminator(MAIN_SEPARATOR).next() {
@@ -18,7 +22,7 @@ pub fn pn_add_trailing_separator(pth: Result<ruru::RString, ruru::result::Error>
18
22
  }
19
23
  }
20
24
 
21
- pub fn pn_is_absolute(pth: Result<ruru::RString, ruru::result::Error>) -> Boolean {
25
+ pub fn pn_is_absolute(pth: MaybeString) -> Boolean {
22
26
  Boolean::new(match pth.ok().unwrap_or(RString::new("")).to_str().chars().next() {
23
27
  Some(c) => c == MAIN_SEPARATOR,
24
28
  None => false
@@ -27,7 +31,7 @@ pub fn pn_is_absolute(pth: Result<ruru::RString, ruru::result::Error>) -> Boolea
27
31
 
28
32
  // pub fn pn_ascend(){}
29
33
 
30
- pub fn pn_basename(pth: Result<ruru::RString, ruru::result::Error>, ext: Result<ruru::RString, ruru::result::Error>) -> RString {
34
+ pub fn pn_basename(pth: MaybeString, ext: MaybeString) -> RString {
31
35
  RString::new(
32
36
  &basename::basename(
33
37
  pth.ok().unwrap_or(RString::new("")).to_str(),
@@ -36,7 +40,7 @@ pub fn pn_basename(pth: Result<ruru::RString, ruru::result::Error>, ext: Result<
36
40
  )
37
41
  }
38
42
 
39
- pub fn pn_children(pth: Result<ruru::RString, ruru::result::Error>, with_dir: Result<ruru::Boolean, ruru::result::Error>) -> Array {
43
+ pub fn pn_children(pth: MaybeString, with_dir: MaybeBoolean) -> Array {
40
44
  let rstring = pth.ok().unwrap_or(RString::new("."));
41
45
  let val = rstring.to_str();
42
46
  let mut with_directory = with_dir.ok().unwrap_or(Boolean::new(true)).to_bool();
@@ -63,7 +67,40 @@ pub fn pn_children(pth: Result<ruru::RString, ruru::result::Error>, with_dir: Re
63
67
  arr
64
68
  }
65
69
 
66
- pub fn pn_chop_basename(pth: Result<ruru::RString, ruru::result::Error>) -> Array {
70
+ pub fn pn_children_compat(pth: MaybeString, with_dir: MaybeBoolean) -> Array {
71
+ let rstring = pth.ok().unwrap_or(RString::new("."));
72
+ let val = rstring.to_str();
73
+ let mut with_directory = with_dir.ok().unwrap_or(Boolean::new(true)).to_bool();
74
+ if val == "." {
75
+ with_directory = false;
76
+ }
77
+ let mut arr = Array::new();
78
+
79
+ if let Ok(entries) = fs::read_dir(val) {
80
+ for entry in entries {
81
+ if with_directory {
82
+ match entry {
83
+ Ok(v) => { arr.push(
84
+ class_new("Pathname", vec![str_to_any_obj(v.path().to_str().unwrap())])
85
+ );
86
+ },
87
+ _ => {}
88
+ };
89
+ } else {
90
+ match entry {
91
+ Ok(v) => { arr.push(
92
+ class_new("Pathname", vec![str_to_any_obj(v.file_name().to_str().unwrap())])
93
+ );
94
+ },
95
+ _ => {}
96
+ };
97
+ }
98
+ }
99
+ }
100
+ arr
101
+ }
102
+
103
+ pub fn pn_chop_basename(pth: MaybeString) -> Array {
67
104
  let mut arr = Array::with_capacity(2);
68
105
  let results = chop_basename::chop_basename(pth.ok().unwrap_or(RString::new("")).to_str());
69
106
  match results {
@@ -76,17 +113,17 @@ pub fn pn_chop_basename(pth: Result<ruru::RString, ruru::result::Error>) -> Arra
76
113
  }
77
114
  }
78
115
 
79
- // pub fn pn_cleanpath(pth: Result<ruru::RString, ruru::result::Error>){}
116
+ // pub fn pn_cleanpath(pth: MaybeString){}
80
117
 
81
- // pub fn pn_cleanpath_aggressive(pth: Result<ruru::RString, ruru::result::Error>){}
118
+ // pub fn pn_cleanpath_aggressive(pth: MaybeString){}
82
119
 
83
- // pub fn pn_cleanpath_conservative(pth: Result<ruru::RString, ruru::result::Error>){}
120
+ // pub fn pn_cleanpath_conservative(pth: MaybeString){}
84
121
 
85
- // pub fn pn_del_trailing_separator(pth: Result<ruru::RString, ruru::result::Error>){}
122
+ // pub fn pn_del_trailing_separator(pth: MaybeString){}
86
123
 
87
124
  // pub fn pn_descend(){}
88
125
 
89
- pub fn pn_is_directory(pth: Result<ruru::RString, ruru::result::Error>) -> Boolean {
126
+ pub fn pn_is_directory(pth: MaybeString) -> Boolean {
90
127
  Boolean::new(
91
128
  Path::new(
92
129
  pth.ok().unwrap_or(RString::new("")).to_str()
@@ -94,7 +131,7 @@ pub fn pn_is_directory(pth: Result<ruru::RString, ruru::result::Error>) -> Boole
94
131
  )
95
132
  }
96
133
 
97
- pub fn pn_dirname(pth: Result<ruru::RString, ruru::result::Error>) -> RString {
134
+ pub fn pn_dirname(pth: MaybeString) -> RString {
98
135
  RString::new(
99
136
  &dirname::dirname(
100
137
  pth.ok().unwrap_or(RString::new("")).to_str()
@@ -104,11 +141,11 @@ pub fn pn_dirname(pth: Result<ruru::RString, ruru::result::Error>) -> RString {
104
141
 
105
142
  // pub fn pn_each_child(){}
106
143
 
107
- // pub fn pn_each_filename(pth: Result<ruru::RString, ruru::result::Error>) -> NilClass {
144
+ // pub fn pn_each_filename(pth: MaybeString) -> NilClass {
108
145
  // NilClass::new()
109
146
  // }
110
147
 
111
- pub fn pn_entries(pth: Result<ruru::RString, ruru::result::Error>) -> Array {
148
+ pub fn pn_entries(pth: MaybeString) -> Array {
112
149
  let files = fs::read_dir(pth.ok().unwrap_or(RString::new("")).to_str()).unwrap();
113
150
  let mut arr = Array::new();
114
151
 
@@ -123,15 +160,30 @@ pub fn pn_entries(pth: Result<ruru::RString, ruru::result::Error>) -> Array {
123
160
  arr
124
161
  }
125
162
 
126
- pub fn pn_extname(pth: Result<ruru::RString, ruru::result::Error>) -> RString {
163
+ pub fn pn_entries_compat(pth: MaybeString) -> Array {
164
+ let files = fs::read_dir(pth.ok().unwrap_or(RString::new("")).to_str()).unwrap();
165
+ let mut arr = Array::new();
166
+
167
+ arr.push(class_new("Pathname", vec![str_to_any_obj(&"."[..])]));
168
+ arr.push(class_new("Pathname", vec![str_to_any_obj(&".."[..])]));
169
+
170
+ for file in files {
171
+ let file_name_str = file.unwrap().file_name().into_string().unwrap();
172
+ arr.push(class_new("Pathname", vec![str_to_any_obj(&file_name_str[..])]));
173
+ }
174
+
175
+ arr
176
+ }
177
+
178
+ pub fn pn_extname(pth: MaybeString) -> RString {
127
179
  RString::new(
128
180
  &extname::extname(pth.ok().unwrap_or(RString::new("")).to_str())[..]
129
181
  )
130
182
  }
131
183
 
132
- // pub fn pn_find(pth: Result<ruru::RString, ruru::result::Error> ,ignore_error: Boolean){}
184
+ // pub fn pn_find(pth: MaybeString ,ignore_error: Boolean){}
133
185
 
134
- pub fn pn_has_trailing_separator(pth: Result<ruru::RString, ruru::result::Error>) -> Boolean {
186
+ pub fn pn_has_trailing_separator(pth: MaybeString) -> Boolean {
135
187
  let v = pth.ok().unwrap_or(RString::new(""));
136
188
  match chop_basename::chop_basename(v.to_str()) {
137
189
  Some((a,b)) => {
@@ -143,22 +195,22 @@ pub fn pn_has_trailing_separator(pth: Result<ruru::RString, ruru::result::Error>
143
195
 
144
196
  // pub fn pn_join(args: Array){}
145
197
 
146
- // pub fn pn_mkpath(pth: Result<ruru::RString, ruru::result::Error>) -> NilClass {
198
+ // pub fn pn_mkpath(pth: MaybeString) -> NilClass {
147
199
  // NilClass::new()
148
200
  // }
149
201
 
150
- // pub fn pn_is_mountpoint(pth: Result<ruru::RString, ruru::result::Error>){}
202
+ // pub fn pn_is_mountpoint(pth: MaybeString){}
151
203
 
152
- // pub fn pn_parent(pth: Result<ruru::RString, ruru::result::Error>){}
204
+ // pub fn pn_parent(pth: MaybeString){}
153
205
 
154
206
  // also need impl +
155
- pub fn pn_plus(pth1: Result<ruru::RString, ruru::result::Error>, pth2: Result<ruru::RString, ruru::result::Error>) -> RString {
207
+ pub fn pn_plus(pth1: MaybeString, pth2: MaybeString) -> RString {
156
208
  RString::new(&plus::plus_paths(pth1.ok().unwrap().to_str(), pth2.ok().unwrap().to_str())[..])
157
209
  }
158
210
 
159
- // pub fn pn_prepend_prefix(prefix: Result<ruru::RString, ruru::result::Error>, relpath: Result<ruru::RString, ruru::result::Error>){}
211
+ // pub fn pn_prepend_prefix(prefix: MaybeString, relpath: MaybeString){}
160
212
 
161
- pub fn pn_is_relative(pth: Result<ruru::RString, ruru::result::Error>) -> Boolean {
213
+ pub fn pn_is_relative(pth: MaybeString) -> Boolean {
162
214
  Boolean::new(
163
215
  match pth.ok().unwrap_or(RString::new(&MAIN_SEPARATOR.to_string()[..])).to_str().chars().next() {
164
216
  Some(c) => c != MAIN_SEPARATOR,
@@ -167,13 +219,13 @@ pub fn pn_is_relative(pth: Result<ruru::RString, ruru::result::Error>) -> Boolea
167
219
  )
168
220
  }
169
221
 
170
- // pub fn pn_root(pth: Result<ruru::RString, ruru::result::Error>){}
222
+ // pub fn pn_root(pth: MaybeString){}
171
223
 
172
- // pub fn pn_split_names(pth: Result<ruru::RString, ruru::result::Error>){}
224
+ // pub fn pn_split_names(pth: MaybeString){}
173
225
 
174
226
  // pub fn pn_relative_path_from(){}
175
227
 
176
- // pub fn pn_rmtree(pth: Result<ruru::RString, ruru::result::Error>) -> NilClass {
228
+ // pub fn pn_rmtree(pth: MaybeString) -> NilClass {
177
229
  // NilClass::new()
178
230
  // }
179
231
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faster_path
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel P. Clark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-13 00:00:00.000000000 Z
11
+ date: 2017-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.9'
55
55
  - !ruby/object:Gem::Dependency
56
- name: method_source
56
+ name: read_source
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.8.2
61
+ version: 0.2.6
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.8.2
68
+ version: 0.2.6
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -177,6 +177,7 @@ files:
177
177
  - src/chop_basename.rs
178
178
  - src/dirname.rs
179
179
  - src/extname.rs
180
+ - src/helpers.rs
180
181
  - src/lib.rs
181
182
  - src/path_parsing.rs
182
183
  - src/pathname.rs