importeer_plan 0.2.0 → 0.3.0

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: c70544dfc2c27e2b90e4796c393d03d06596ff28
4
- data.tar.gz: 3c21e31292c1ab35bdb465383ee6a9bac67e2007
3
+ metadata.gz: 660fcbef0c424ea7fff40b2882b5004406bbe82d
4
+ data.tar.gz: 4c496274282bc4f4ffea7dbc652c0247ed5cdc3d
5
5
  SHA512:
6
- metadata.gz: 63ea85d41f1bb6cad947da5e5ab47a6c8947bea266e351937572c43b59d26cd4d32a827bc0c1fa996b4c9c6ea7d3aced56d20e18d35db692d9192f47a7e0ca7b
7
- data.tar.gz: 355a289c8d30ac50d30af7fe7d2da8724828811d21b15673e3724feea31f5f04e82ba2a7c1eca70a2084d470cf2df3d1c3b16bb22400a9e350b14e955e6ca3ba
6
+ metadata.gz: 6ffda67687aee4813755ac9887b70e7391052f3402f250e3e28c4252c286b8feeb14d91104f9c7cb5ba0ff882ea88ad6b1bcde2d25339df3ebe8ed2b99264ff5
7
+ data.tar.gz: 0c51a97d9105d4998884645500e5f8fa484b4a95e66332d36b6d0cb0512327e2516e048a86d30b4dcb8ba933c17dac5d721cc63b8c91c9eec8e011436927c64f
data/README.md CHANGED
@@ -52,6 +52,59 @@ class ImporteerSomething < ImporteerPlan::MyXls
52
52
  end
53
53
  ```
54
54
 
55
+ #### a very,very simple example: processing a file called 'example.xls'
56
+
57
+ ```ruby
58
+
59
+ e = ImporteerPlan::MyXls.new('example.xls')
60
+
61
+ e.importeer
62
+
63
+ ```
64
+
65
+ this works, after you created a file like this:
66
+
67
+ ```ruby
68
+ #save this file as: importeer_example.rb
69
+
70
+ class ImporteerExample < ImporteerPlan::MyXls
71
+
72
+ def importeer_batch(batch)
73
+ batch.each do |row|
74
+ handle_my_model row
75
+ end
76
+ end
77
+
78
+
79
+ def handle_my_model ref
80
+ r=MyModel.new
81
+ r.attribute_one = ref[0] unless ref[0].blank?
82
+ r.another_attribute = ref[1] unless ref[1].blank?
83
+
84
+ r.save! if r.attributes.values.any? {|x| !x.blank?}
85
+ end
86
+
87
+
88
+ end
89
+
90
+
91
+ ```
92
+
93
+
94
+ ### configuration
95
+
96
+ Starting 0.3.0, i added some configuration-options. The most basic configuration is setting the path to find the files to import. The default is creating a folder in the 'public' folder, but you could so something like:
97
+
98
+ ```ruby
99
+
100
+ ImporteerPlan.configure do |config|
101
+ config.dir = Rails.root.join('imports')
102
+ end
103
+ ```
104
+
105
+
106
+
107
+
55
108
 
56
109
  ### methods
57
110
 
data/changelog.md CHANGED
@@ -1,3 +1,9 @@
1
+ ###### 0.2.1
2
+ added sweep-method
3
+
4
+ ###### 0.2.0
5
+ Importeer takes two arguments: name and an options-hash
6
+
1
7
  ###### 0.1.1
2
8
  inherit from ImporteerPlan::MyCsv
3
9
  added commaf to importeer
@@ -1,30 +1,39 @@
1
1
  require "importeer_plan/version"
2
+ require 'importeer_plan/configuration'
2
3
 
3
4
  module ImporteerPlan
4
5
  class Importeer
5
6
 
6
7
 
7
- attr_accessor :path, :name, :dir, :size_batch, :sep, :initial
8
+ attr_accessor :path, :name, :dir, :size_batch, :sep, :initial, :options
8
9
  #call importeer("filename") to import the file in batches of 1000, optional importeer("filename", size_)
9
10
 
10
11
 
11
12
 
12
- def initialize(name, options = {size_batch: 1000, sep: ";", initial: false})
13
+ def initialize(name, options={})
14
+ @options = options
13
15
  @name = name
14
16
  @path = Importeer.dir.join( @name )
15
- @size_batch = options[:size_batch]#||1000
16
- @sep = options[:sep]
17
- @initial = options[:initial]
17
+ @size_batch = options[:size_batch]||1000
18
+ @sep = options[:sep]|| ";"
19
+ @initial = options[:initial]|| false
18
20
  end
19
21
 
20
22
  def self.dir
21
- Rails.root.join('public/imports/')
23
+ # Rails.root.join('public/imports/')
24
+
25
+ ImporteerPlan.configuration.dir
26
+
22
27
  end
23
28
 
24
29
  def bron
25
30
  end
26
31
 
32
+ def sweep
33
+ end
34
+
27
35
  def importeer
36
+ sweep
28
37
  bron.each{|batch| importeer_batch batch}
29
38
  end
30
39
 
@@ -0,0 +1,26 @@
1
+ #more on configuration on http://juanitofatas.com/2015/05/19/rubygem-configuration-pattern/
2
+
3
+ module ImporteerPlan
4
+ def self.configuration
5
+ @configuration ||= Configuration.new
6
+ end
7
+
8
+ def self.configuration=(configuration)
9
+ @configuration = configuration
10
+ end
11
+
12
+ def self.configure
13
+ yield configuration
14
+ end
15
+
16
+ class Configuration
17
+ attr_accessor :dir
18
+
19
+ def initialize
20
+
21
+ @dir = Rails.root.join('public/imports/')
22
+
23
+
24
+ end
25
+ end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module ImporteerPlan
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: importeer_plan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rolf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-30 00:00:00.000000000 Z
11
+ date: 2016-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spreadsheet
@@ -139,6 +139,7 @@ files:
139
139
  - changelog.md
140
140
  - importeer_plan.gemspec
141
141
  - lib/importeer_plan.rb
142
+ - lib/importeer_plan/configuration.rb
142
143
  - lib/importeer_plan/version.rb
143
144
  homepage: http://www.l-plan.nl
144
145
  licenses:
@@ -166,3 +167,4 @@ specification_version: 4
166
167
  summary: only purpose is provide some reusable defaults for processing my (.xls-,
167
168
  .csv-, .txt)files
168
169
  test_files: []
170
+ has_rdoc: