mojito_import 0.5.0 → 0.6.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
  SHA256:
3
- metadata.gz: fab0b40cc7ef94c7a909350e1560e231d233fd0e88485868e3b81d1265bb1b9c
4
- data.tar.gz: fe58eaed7d349207422ee1447d5eb9c6b11fda5ae5c34d3c5f58075f7df0a881
3
+ metadata.gz: cdc82e36585c1c83aec0c63435f0d5180ade856c9b3bc6c16fd8054d1e12dc8b
4
+ data.tar.gz: ebb93ceba3047bf6c91daf387a961f78377988dc318a4bdc3b78a1256e0f045d
5
5
  SHA512:
6
- metadata.gz: 3c263b634441f6fc62633b9342eb777c91134c81bcd715e7f718c12c030a121cc030d22bc4f7de2e18e3f314a1ccbfed0236d78308ee0c5d579d3bf7fa317f24
7
- data.tar.gz: d02384dcd6863dbc06f3ead3fc053d3528935faed9ff217d1acbc5f6314a432e99149ca5509d5ebdb413a8b0ebf78e307bcd7574a4c4d2685988d8efa270a264
6
+ metadata.gz: ade5e9be267b918751f336fffcc4f1288722640269623a25401983a6b27882c3769be9f0f2a7249898c6376f17ac42c28141df6325f35e781b737296be4246bf
7
+ data.tar.gz: 6eaf8db74869b5a9c034fbba309417326bfd8233129db382faa15426190e496d21b021a4def00d0c9d82a8644f239b721795fcb8216544c73359ed8bec010a89
data/Gemfile.lock ADDED
@@ -0,0 +1,83 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ mojito_import (0.5.0)
5
+ rest-client (~> 2.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ coderay (1.1.2)
11
+ diff-lcs (1.3)
12
+ domain_name (0.5.20180417)
13
+ unf (>= 0.0.5, < 1.0.0)
14
+ ffi (1.11.1)
15
+ formatador (0.2.5)
16
+ guard (2.15.1)
17
+ formatador (>= 0.2.4)
18
+ listen (>= 2.7, < 4.0)
19
+ lumberjack (>= 1.0.12, < 2.0)
20
+ nenv (~> 0.1)
21
+ notiffany (~> 0.0)
22
+ pry (>= 0.9.12)
23
+ shellany (~> 0.0)
24
+ thor (>= 0.18.1)
25
+ http-cookie (1.0.3)
26
+ domain_name (~> 0.5)
27
+ listen (3.1.5)
28
+ rb-fsevent (~> 0.9, >= 0.9.4)
29
+ rb-inotify (~> 0.9, >= 0.9.7)
30
+ ruby_dep (~> 1.2)
31
+ lumberjack (1.0.13)
32
+ method_source (0.9.2)
33
+ mime-types (3.2.2)
34
+ mime-types-data (~> 3.2015)
35
+ mime-types-data (3.2019.0331)
36
+ nenv (0.3.0)
37
+ netrc (0.11.0)
38
+ notiffany (0.1.3)
39
+ nenv (~> 0.1)
40
+ shellany (~> 0.0)
41
+ pry (0.12.2)
42
+ coderay (~> 1.1.0)
43
+ method_source (~> 0.9.0)
44
+ rake (12.3.3)
45
+ rb-fsevent (0.10.3)
46
+ rb-inotify (0.10.0)
47
+ ffi (~> 1.0)
48
+ rest-client (2.0.2)
49
+ http-cookie (>= 1.0.2, < 2.0)
50
+ mime-types (>= 1.16, < 4.0)
51
+ netrc (~> 0.8)
52
+ rspec (3.8.0)
53
+ rspec-core (~> 3.8.0)
54
+ rspec-expectations (~> 3.8.0)
55
+ rspec-mocks (~> 3.8.0)
56
+ rspec-core (3.8.0)
57
+ rspec-support (~> 3.8.0)
58
+ rspec-expectations (3.8.3)
59
+ diff-lcs (>= 1.2.0, < 2.0)
60
+ rspec-support (~> 3.8.0)
61
+ rspec-mocks (3.8.0)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.8.0)
64
+ rspec-support (3.8.0)
65
+ ruby_dep (1.5.0)
66
+ shellany (0.0.1)
67
+ thor (0.20.3)
68
+ unf (0.1.4)
69
+ unf_ext
70
+ unf_ext (0.0.7.6)
71
+
72
+ PLATFORMS
73
+ ruby
74
+
75
+ DEPENDENCIES
76
+ bundler (~> 1.17)
77
+ guard (~> 2.15)
78
+ mojito_import!
79
+ rake (~> 12.3)
80
+ rspec (~> 3.0)
81
+
82
+ BUNDLED WITH
83
+ 1.17.3
data/Guardfile ADDED
@@ -0,0 +1,50 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ # Note: The cmd option is now required due to the increasing number of ways
19
+ # rspec may be run, below are examples of the most common uses.
20
+ # * bundler: 'bundle exec rspec'
21
+ # * bundler binstubs: 'bin/rspec'
22
+ # * spring: 'bin/rspec' (This will use spring if running and you have
23
+ # installed the spring binstubs per the docs)
24
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
25
+ # * 'just' rspec: 'rspec'
26
+
27
+ guard :rspec, cmd: "bundle exec rspec" do
28
+ require "guard/rspec/dsl"
29
+ dsl = Guard::RSpec::Dsl.new(self)
30
+
31
+ directories %w(lib spec)
32
+ # We should also watch Guardfile
33
+
34
+ # Feel free to open issues for suggestions and improvements
35
+
36
+ # RSpec files
37
+ rspec = dsl.rspec
38
+ watch(rspec.spec_helper) { rspec.spec_dir }
39
+ watch(rspec.spec_support) { rspec.spec_dir }
40
+ watch(rspec.spec_files)
41
+
42
+ # Ruby files
43
+ ruby = dsl.ruby
44
+ dsl.watch_spec_files_for(ruby.lib_files)
45
+
46
+ # Watch lib
47
+ watch(%r{^lib/(?<path>.+)\.rb$}) { |m| "spec/#{m[:path]}_spec.rb" }
48
+
49
+
50
+ end
data/changelog.md CHANGED
@@ -1,3 +1,6 @@
1
+ * MojitoImport 0.6.0
2
+ * Dry run imports
3
+
1
4
  * MojitoImport 0.5.0
2
5
  * Initial release
3
6
  * Import sugar
@@ -1,43 +1,53 @@
1
1
  module MojitoImport
2
2
  class Report
3
-
4
- attr_accessor :data_errors, :general_errors, :import_id
3
+ attr_accessor :data_errors, :general_errors, :data_updates, :import_id
5
4
 
6
5
  def initialize(import_id)
7
6
  self.import_id = import_id
8
7
  self.data_errors = []
9
8
  self.general_errors = []
9
+ self.data_updates = []
10
10
  end
11
11
 
12
12
  def add_general_error(error)
13
13
  general_errors << error
14
14
  end
15
15
 
16
- def add_data_error(mojito_id, field, error)
17
- # reload!; report = MojitoImport::Report.new('1234'); report.add_data_error('123', 'name', 'your name sucks')
18
- hash_element = data_errors.detect { |error_hash| error_hash["mojitoId"] == mojito_id }
19
-
20
- if hash_element.nil?
21
- new_error_hash = {
22
- "mojitoId" => mojito_id,
23
- field => [error]
24
- }
25
- data_errors << new_error_hash
26
- else
27
- hash_element[field] ||= []
28
- hash_element[field] << error
29
- end
30
- end
31
-
32
- def find_errors_for_object(mojito_id)
33
- data_error = data_errors.detect{|data| data["mojitoId"] == mojito_id}
34
- return if data_error.nil?
16
+ def add_data_update(mojito_id, field, from, to: nil)
17
+ # reload!; report = MojitoImport::Report.new('1234'); report.add_data_error('123', 'name', 'your name sucks')
18
+ hash_element =
19
+ data_updates.detect { |error_hash| error_hash["mojitoId"] == mojito_id }
35
20
 
36
- data_error.except("mojitoId")
37
- end
21
+ update_hash = {"before" => from}
22
+ update_hash["after"] = to unless to.nil?
38
23
 
24
+ if hash_element.nil?
25
+ new_update_hash = { "mojitoId" => mojito_id, field => update_hash }
26
+ data_updates << new_update_hash
27
+ else
28
+ hash_element[field] = update_hash
29
+ end
30
+ end
39
31
 
32
+ def add_data_error(mojito_id, field, error)
33
+ # reload!; report = MojitoImport::Report.new('1234'); report.add_data_error('123', 'name', 'your name sucks')
34
+ hash_element =
35
+ data_errors.detect { |error_hash| error_hash["mojitoId"] == mojito_id }
36
+
37
+ if hash_element.nil?
38
+ new_error_hash = { "mojitoId" => mojito_id, field => [error] }
39
+ data_errors << new_error_hash
40
+ else
41
+ hash_element[field] ||= []
42
+ hash_element[field] << error
43
+ end
44
+ end
40
45
 
46
+ def find_errors_for_object(mojito_id)
47
+ data_error = data_errors.detect { |data| data["mojitoId"] == mojito_id }
48
+ return if data_error.nil?
41
49
 
42
- end
50
+ data_error.except("mojitoId")
51
+ end
52
+ end
43
53
  end
@@ -1,3 +1,3 @@
1
1
  module MojitoImport
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -32,5 +32,6 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "rest-client", "~> 2.0"
33
33
  spec.add_development_dependency "bundler", "~> 1.17"
34
34
  spec.add_development_dependency "rake", "~> 12.3"
35
+ spec.add_development_dependency "guard", "~> 2.15"
35
36
  spec.add_development_dependency "rspec", "~> 3.0"
36
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mojito_import
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Darde
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-05 00:00:00.000000000 Z
11
+ date: 2019-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '12.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.15'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.15'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +92,8 @@ files:
78
92
  - ".travis.yml"
79
93
  - CODE_OF_CONDUCT.md
80
94
  - Gemfile
95
+ - Gemfile.lock
96
+ - Guardfile
81
97
  - LICENSE.txt
82
98
  - README.md
83
99
  - Rakefile
@@ -111,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
127
  - !ruby/object:Gem::Version
112
128
  version: '0'
113
129
  requirements: []
114
- rubygems_version: 3.0.3
130
+ rubygems_version: 3.0.6
115
131
  signing_key:
116
132
  specification_version: 4
117
133
  summary: Mojito Import, so fresh.