Skip to content

Commit fe0a72d

Browse files
committed
Merge remote-tracking branch 'origin/from_file'
2 parents f924614 + 6b83f36 commit fe0a72d

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ fn main() {
4545
It can also be used to parse the report file.
4646

4747
```rust
48-
let records = LCOVParser::from("/path/to/report.lcov").parse().unwrap();
48+
let parser = LCOVParser::from_file("/path/to/report.lcov").unwrap();
49+
let records = parser.parse().unwrap();
4950

5051
for record in records.iter() {
5152
match record {

examples/from_file.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ extern crate lcov_parser;
33
use lcov_parser:: { LCOVParser };
44

55
fn main() {
6-
let parser = LCOVParser::from("../../../fixture/report.lcov");
6+
let parser = LCOVParser::from_file("../../../fixture/report.lcov").unwrap();
77
let records = parser.parse().unwrap();
88

99
for record in records.iter() {

src/parser.rs

+4-6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use combinator:: { record, report };
1515
use std::io:: { Read };
1616
use std::fs:: { File };
1717
use std::result:: { Result };
18+
use std::io:: { Result as IOResult };
1819
use std::path:: { Path };
1920
use std::convert:: { From };
2021
use std::fmt:: { Display, Formatter, Result as FormatResult };
@@ -54,14 +55,11 @@ impl LCOVParser {
5455
let records = try!(parse_report(value));
5556
Ok(records)
5657
}
57-
}
58-
59-
impl<P: AsRef<Path>> From<P> for LCOVParser {
60-
fn from(path: P) -> Self {
61-
let mut file = File::open(path).unwrap();
58+
pub fn from_file<P: AsRef<Path>>(path: P) -> IOResult<Self> {
59+
let mut file = try!(File::open(path));
6260
let mut buffer = String::new();
6361
let _ = file.read_to_string(&mut buffer);
64-
LCOVParser::new(buffer.as_str())
62+
Ok(LCOVParser::new(buffer.as_str()))
6563
}
6664
}
6765

0 commit comments

Comments
 (0)