quicken 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -5,3 +5,4 @@ module Quicken
5
5
  autoload :Transaction, 'quicken/transaction'
6
6
  autoload :Parser, 'quicken/parser'
7
7
  end
8
+
@@ -1,3 +1,6 @@
1
+ require "iconv"
2
+ require "kconv"
3
+
1
4
  module Quicken
2
5
 
3
6
  class Parser
@@ -14,6 +17,8 @@ module Quicken
14
17
  section = nil
15
18
 
16
19
  File.foreach(@file) do |line|
20
+ line = convert_to_utf8(line)
21
+
17
22
  if line =~ /^\!(\S+)/
18
23
  section = extract_section($1)
19
24
  next
@@ -30,7 +35,7 @@ module Quicken
30
35
 
31
36
  def build_objects
32
37
  @account = Quicken::Account.new(@account_attrs) unless @account_attrs.empty?
33
- @transactions = @transactions_attrs.collect do |t|
38
+ @transactions = @transactions_attrs.collect do |t|
34
39
  t.merge!({:date_format=>@date_format}) unless @date_format.nil?
35
40
  Quicken::Transaction.new(t)
36
41
  end
@@ -60,6 +65,10 @@ module Quicken
60
65
  section.gsub("Type:","").downcase.to_sym
61
66
  end
62
67
 
68
+ def convert_to_utf8(string)
69
+ return string if Kconv.isutf8(string)
70
+ Iconv.conv('UTF-8', 'LATIN1//IGNORE', string)
71
+ end
63
72
  end
64
73
 
65
74
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{quicken}
8
- s.version = "0.0.2"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Daniel Lopes"]
12
- s.date = %q{2010-05-27}
12
+ s.date = %q{2010-06-02}
13
13
  s.description = %q{QIF (Quicken Interchange Format) parser}
14
14
  s.email = %q{danielvlopes@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -5,7 +5,7 @@ describe Quicken::Parser do
5
5
  qif = Quicken::Parser.new('spec/fixtures/default.qif').parse!
6
6
  end
7
7
 
8
- context "account section" do
8
+ describe "when in account section" do
9
9
  it "should return the account" do
10
10
  file.account.should == Quicken::Account.new({:number=>"0833_5710633", :type=>"Bank"})
11
11
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 2
9
- version: 0.0.2
8
+ - 3
9
+ version: 0.0.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Lopes
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-27 00:00:00 -03:00
17
+ date: 2010-06-02 00:00:00 -03:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency