safai 0.0.7 → 0.0.8

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.
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: []