safai 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/safai/spreadsheet.rb +21 -2
  2. data/lib/safai.rb +1 -0
  3. metadata +17 -1
@@ -1,7 +1,9 @@
1
1
  class Safai::Spreadsheet
2
2
 
3
+ require 'roo'
4
+
3
5
  #MICROSOFT EXCEL STORES DATES AS THE NUMBER OF DAYS FROM 1900. HENCE CONVERSION IS REQUIRED
4
-
6
+
5
7
  def self.process_date_from_xls(d)
6
8
  return nil if d.nil?
7
9
  d = d.to_i
@@ -9,7 +11,24 @@ class Safai::Spreadsheet
9
11
  end
10
12
 
11
13
  def self.is_excel?(data_file_name)
12
- return (!data_file_name.index(".xls").nil? or !data_file_name.index(".ods").nil?) ? true : false
14
+ return (!data_file_name.index(".xls").nil? or !data_file_name.index(".ods").nil? or !data_file_name.index(".csv").nil?) ? true : false
13
15
  end
14
16
 
17
+ def self.open(url, data_file_name, domain)
18
+ begin
19
+ url_s = url.to_s.gsub(domain, "")
20
+ case File.extname(data_file_name)
21
+ when ".csv" then s = Csv.new(url_s, nil, :ignore)
22
+ when ".xls" then s = Excel.new(url_s, nil, :ignore)
23
+ when ".xlsx" then s = Excelx.new(url_s, nil, :ignore)
24
+ when ".ods" then s = Openoffice.new(url_s, nil, :ignore)
25
+ else raise "Unknown file type: #{data_file_name}"
26
+ end
27
+ s.default_sheet = s.sheets.first
28
+ return s
29
+ rescue
30
+ return "1"
31
+ end
32
+ end
33
+
15
34
  end
data/lib/safai.rb CHANGED
@@ -97,6 +97,7 @@ class Safai
97
97
  end
98
98
 
99
99
  require 'money'
100
+ require 'roo'
100
101
  require 'safai/spreadsheet'
101
102
  require 'safai/address'
102
103
  require 'safai/regex'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 0.2.13
30
+ - !ruby/object:Gem::Dependency
31
+ name: roo
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - '='
36
+ - !ruby/object:Gem::Version
37
+ version: 1.10.1
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.10.1
30
46
  description: A simple hello world gem
31
47
  email: ritvij.j@gmail.com
32
48
  executables: []