spreadsheet_architect 1.2.3 → 1.2.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5a09ba577c1c7cb53b31efd115a3e0d57b046e5f
4
- data.tar.gz: b0eb7bd864fb407b2525321eca235ef128871990
3
+ metadata.gz: 27a117a492113cfe43d238d3eb202961fe951a94
4
+ data.tar.gz: 3fb49d5a3970d4321e02e56489ffac22b920c14c
5
5
  SHA512:
6
- metadata.gz: 6a06647631a88d4f8432c074b342d7805e82bd64465738a4df67933ce84fa78b63a1dd7d216cf034a81d2aa79be7beb856f666271b10def6fa1607d5156822e7
7
- data.tar.gz: 05c93847437a5a6008eda393af431496fae0beaa29c1b1de3fab706b9ccb38c4c4b4be263a32892b6f81378a6710b165be81438402220cacd09af858de140574
6
+ metadata.gz: 6885c1ad45d21e5f1e615ff21717328252a9a1b52981d4a4b70512a20b258c2a74786f9039ff7e2124373186bc15c51d8377ee10e6b87f7f12ad89e29dce4e4d
7
+ data.tar.gz: 07a7b5642b11746a1aa4602375a90dd962f2321df741ba84c4ea1ba292494786e5345aa8e092ab58411ae8afca630eb89d906484b1990615d21772bff495f6b6
data/README.md CHANGED
@@ -40,12 +40,15 @@ class Post < ActiveRecord::Base #activerecord not required
40
40
  #optional for activerecord classes, defaults to the models column_names
41
41
  def spreadsheet_columns
42
42
 
43
- #[[Label, Method/Statement to Call on each Instance]....]
43
+ #[[Label, Method/Statement to Call on each Instance, Cell Type(optional)]....]
44
44
  [
45
45
  ['Title', :title],
46
46
  ['Content', content],
47
47
  ['Author', (author.name rescue nil)],
48
48
  ['Published?', (published ? 'Yes' : 'No')],
49
+ ['Published At', :published_at],
50
+ ['# of Views', :number_of_views],
51
+ ['Rating', :rating],
49
52
  ['Category/Tags', "#{category.name} - #{tags.collect(&:name).join(', ')}"]
50
53
  ]
51
54
 
@@ -31,10 +31,16 @@ module SpreadsheetArchitect
31
31
  return str
32
32
  end
33
33
 
34
- def self.get_type(value, type=nil)
35
- #return type if !type.blank?
36
- if value.is_a?(Numeric) || [:integer, :float, :decimal].include?(type)
37
- type = :float
34
+ def self.get_type(value, type=nil, last_run=false)
35
+ return type if !type.blank?
36
+ if value.is_a?(Numeric)
37
+ if [:float, :decimal].include?(type)
38
+ type = :float
39
+ else
40
+ type = :integer
41
+ end
42
+ elsif !last_run && value.is_a?(Symbol)
43
+ type = :symbol
38
44
  else
39
45
  type = :string
40
46
  end
@@ -64,11 +70,12 @@ module SpreadsheetArchitect
64
70
  columns = []
65
71
  types = []
66
72
  array = options[:spreadsheet_columns] || options[:data].first.spreadsheet_columns
67
- array.each do |x|
73
+ array.each_with_index do |x,i|
68
74
  if x.is_a?(Array)
69
75
  headers.push x[0].to_s
70
76
  columns.push x[1]
71
- types.push self.get_type(x[1], x[2])
77
+ #types.push self.get_type(x[1], x[2])
78
+ types.push self.get_type(x[1], nil)
72
79
  else
73
80
  headers.push str_humanize(x.to_s)
74
81
  columns.push x
@@ -95,6 +102,15 @@ module SpreadsheetArchitect
95
102
  data.push columns.map{|col| col.is_a?(Symbol) ? instance.instance_eval(col.to_s) : col}
96
103
  end
97
104
  end
105
+
106
+ # Fixes missing types from symbol methods
107
+ if has_custom_columns || options[:spreadsheet_columns]
108
+ options[:data].first.each_with_index do |x,i|
109
+ if types[i] == :symbol
110
+ types[i] = self.get_type(x, nil, true)
111
+ end
112
+ end
113
+ end
98
114
 
99
115
  headers = (options[:headers] == false ? false : headers)
100
116
 
@@ -1,3 +1,3 @@
1
1
  module SpreadsheetArchitect
2
- VERSION = "1.2.3"
2
+ VERSION = "1.2.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spreadsheet_architect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Ganger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-20 00:00:00.000000000 Z
11
+ date: 2016-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: axlsx