topographer 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +13 -5
  2. data/lib/Topographer/importer/helpers/write_log_to_csv.rb +1 -1
  3. data/lib/Topographer/importer/helpers.rb +1 -1
  4. data/lib/Topographer/importer/importable.rb +1 -1
  5. data/lib/Topographer/importer/input/base.rb +1 -1
  6. data/lib/Topographer/importer/input/roo.rb +2 -2
  7. data/lib/Topographer/importer/input/source_data.rb +1 -1
  8. data/lib/Topographer/importer/input.rb +1 -1
  9. data/lib/Topographer/importer/logger/base.rb +2 -2
  10. data/lib/Topographer/importer/logger/fatal_error_entry.rb +1 -1
  11. data/lib/Topographer/importer/logger/log_entry.rb +1 -1
  12. data/lib/Topographer/importer/logger/simple.rb +1 -1
  13. data/lib/Topographer/importer/logger.rb +1 -1
  14. data/lib/Topographer/importer/mapper/default_field_mapping.rb +1 -1
  15. data/lib/Topographer/importer/mapper/field_mapping.rb +1 -1
  16. data/lib/Topographer/importer/mapper/ignored_field_mapping.rb +1 -1
  17. data/lib/Topographer/importer/mapper/result.rb +1 -1
  18. data/lib/Topographer/importer/mapper/validation_field_mapping.rb +1 -1
  19. data/lib/Topographer/importer/mapper.rb +1 -1
  20. data/lib/Topographer/importer/strategy/base.rb +2 -2
  21. data/lib/Topographer/importer/strategy/create_or_update_record.rb +1 -1
  22. data/lib/Topographer/importer/strategy/import_new_record.rb +1 -1
  23. data/lib/Topographer/importer/strategy/import_status.rb +1 -1
  24. data/lib/Topographer/importer/strategy/update_record.rb +1 -1
  25. data/lib/Topographer/importer/strategy.rb +1 -1
  26. data/lib/Topographer/importer.rb +1 -1
  27. data/lib/Topographer/version.rb +1 -1
  28. data/spec/Cartographer/importer/helpers/write_log_to_csv_spec.rb +8 -8
  29. data/spec/Cartographer/importer/helpers_spec.rb +2 -2
  30. data/spec/Cartographer/importer/importable_spec.rb +2 -2
  31. data/spec/Cartographer/importer/importer_spec.rb +12 -12
  32. data/spec/Cartographer/importer/logger/base_spec.rb +3 -3
  33. data/spec/Cartographer/importer/logger/fatal_error_entry_spec.rb +2 -2
  34. data/spec/Cartographer/importer/logger/simple_spec.rb +2 -2
  35. data/spec/Cartographer/importer/mapper/default_field_mapping_spec.rb +7 -7
  36. data/spec/Cartographer/importer/mapper/field_mapping_spec.rb +8 -8
  37. data/spec/Cartographer/importer/mapper/validation_field_mapping_spec.rb +5 -5
  38. data/spec/Cartographer/importer/mapper_spec.rb +23 -23
  39. data/spec/Cartographer/importer/strategy/base_spec.rb +3 -3
  40. data/spec/Cartographer/importer/strategy/create_or_update_record_spec.rb +3 -3
  41. data/spec/Cartographer/importer/strategy/import_new_records_spec.rb +5 -5
  42. data/spec/Cartographer/importer/strategy/import_status_spec.rb +2 -2
  43. data/spec/Cartographer/importer/strategy/mapped_model.rb +1 -1
  44. data/spec/Cartographer/importer/strategy/update_record_spec.rb +3 -3
  45. metadata +11 -10
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0f240a307703861f83b040a054ad1f89ae397823
4
- data.tar.gz: 3fab2dc9130cd3507b2f7fccb169ab1082847b38
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjI0NDZhMDEyMDhkNzA0NzA4MTczMjBjYzY3NWZkMzQxODBmYzBjNg==
5
+ data.tar.gz: !binary |-
6
+ OTI1MzZhMWU2NTZhOTllOTE2Nzg4ZjMyZTVmMmU5MDQzMWU3ZmI1Ng==
5
7
  SHA512:
6
- metadata.gz: f5a4c37297d5ee4c31f125b39e371067b2b78bff094a4052a3e48c690a6969ade6cc752542652a7bcc37ca4eca76d115bc1eeab41cecec4b6e154bfc794c174e
7
- data.tar.gz: 6f18ca76a190026fc57a216ede46e51d2354df44de0b8c6270c1b224e230b712a2151af4aec806b0b5c54a33d86b2fd26be6e2dd8fcb2186eaf56830e58764bb
8
+ metadata.gz: !binary |-
9
+ YzczMzllN2M3YTc3ZTc2M2E3YTY2NmJjMjU0YmNkODdhN2ViZDY5MGEzYjg3
10
+ MTU1YTVkZmIwYjUwM2UyNWNhMjAzMTdiMjc2ZmIwZTZiMWE5OWU1MGU1OTk5
11
+ ZDYyNWUyNTNjMjYzNzhkYzM4N2FiNjU4OWYyMWY0NzViNGMzNjM=
12
+ data.tar.gz: !binary |-
13
+ MjExOTg5NGM5OWYzZDhkYzM1NzBlM2RmMTY5N2JiNDRmNmJkNDUyZDhhOTll
14
+ YTcwMWYyYmVkMjg5M2RkZTkwN2IwMjg5OWQ5N2I4MzhiNTEwZDQ3ZWVmNTEw
15
+ ODViNDYxMjA4NDFhODIyMTI3OWY0YzAyYTFmY2I1YjE2YmVlZDI=
@@ -1,6 +1,6 @@
1
1
  require 'singleton'
2
2
  require 'csv'
3
- class Importer::Helpers::WriteLogToCSV
3
+ class Topographer::Importer::Helpers::WriteLogToCSV
4
4
  include Singleton
5
5
 
6
6
  def initialize
@@ -1,4 +1,4 @@
1
- module Importer::Helpers
1
+ module Topographer::Importer::Helpers
2
2
  require_relative 'helpers/write_log_to_csv'
3
3
 
4
4
  def boolify(word)
@@ -1,4 +1,4 @@
1
- module Importer::Importable
1
+ module Topographer::Importer::Importable
2
2
  def get_mapper(strategy)
3
3
  raise NotImplementedError
4
4
  end
@@ -1,4 +1,4 @@
1
- class Importer::Input::Base
1
+ class Topographer::Importer::Input::Base
2
2
  def get_header
3
3
  raise NotImplementedError
4
4
  end
@@ -1,4 +1,4 @@
1
- class Importer::Input::Roo < Importer::Input::Base
1
+ class Topographer::Importer::Input::Roo < Topographer::Importer::Input::Base
2
2
  include Enumerable
3
3
 
4
4
  def initialize(roo_sheet, header_row=1, data_row=2)
@@ -21,7 +21,7 @@ class Importer::Input::Roo < Importer::Input::Base
21
21
  @start_data_row.upto @end_data_row do |row_number|
22
22
  data = @sheet.row(row_number)
23
23
  source_identifier = "Row: #{row_number}"
24
- yield Importer::Input::SourceData.new(source_identifier,
24
+ yield Topographer::Importer::Input::SourceData.new(source_identifier,
25
25
  Hash[@header.zip(data)])
26
26
  end
27
27
  end
@@ -1,4 +1,4 @@
1
- class Importer::Input::SourceData
1
+ class Topographer::Importer::Input::SourceData
2
2
  attr_reader :source_identifier, :data
3
3
 
4
4
  def initialize(source_identifier, data)
@@ -1,4 +1,4 @@
1
- class Importer::Input
1
+ class Topographer::Importer::Input
2
2
  require_relative 'input/source_data'
3
3
  require_relative 'input/base'
4
4
  require_relative 'input/roo'
@@ -1,4 +1,4 @@
1
- class Importer::Logger::Base
1
+ class Topographer::Importer::Logger::Base
2
2
 
3
3
  attr_reader :fatal_errors
4
4
 
@@ -31,7 +31,7 @@ class Importer::Logger::Base
31
31
  end
32
32
 
33
33
  def log_fatal(source, message)
34
- @fatal_errors << Importer::Logger::FatalErrorEntry.new(source, message)
34
+ @fatal_errors << Topographer::Importer::Logger::FatalErrorEntry.new(source, message)
35
35
  end
36
36
 
37
37
  def successful_imports
@@ -1,4 +1,4 @@
1
- class Importer::Logger::FatalErrorEntry < Importer::Logger::LogEntry
1
+ class Topographer::Importer::Logger::FatalErrorEntry < Topographer::Importer::Logger::LogEntry
2
2
  attr_reader :message, :timestamp, :model_name
3
3
 
4
4
  def initialize(input_identifier, message)
@@ -1,4 +1,4 @@
1
- class Importer::Logger::LogEntry
1
+ class Topographer::Importer::Logger::LogEntry
2
2
  attr_reader :input_identifier,
3
3
  :model_name
4
4
 
@@ -1,4 +1,4 @@
1
- class Importer::Logger::Simple < Importer::Logger::Base
1
+ class Topographer::Importer::Logger::Simple < Topographer::Importer::Logger::Base
2
2
 
3
3
  attr_reader :successes, :failures
4
4
 
@@ -1,4 +1,4 @@
1
- class Importer::Logger
1
+ class Topographer::Importer::Logger
2
2
  require_relative 'logger/base'
3
3
  require_relative 'logger/simple'
4
4
  require_relative 'logger/file'
@@ -1,4 +1,4 @@
1
- class Importer::Mapper::DefaultFieldMapping < Importer::Mapper::FieldMapping
1
+ class Topographer::Importer::Mapper::DefaultFieldMapping < Topographer::Importer::Mapper::FieldMapping
2
2
 
3
3
  def initialize(output_column, &output_block)
4
4
  unless block_given?
@@ -1,6 +1,6 @@
1
1
  require 'active_support/core_ext/hash'
2
2
  require 'active_support/core_ext/object/blank'
3
- class Importer::Mapper::FieldMapping
3
+ class Topographer::Importer::Mapper::FieldMapping
4
4
  attr_reader :input_columns, :output_field
5
5
 
6
6
  def initialize(required, input_columns, output_field, &mapping_behavior)
@@ -1,4 +1,4 @@
1
- class Importer::Mapper::IgnoredFieldMapping < Importer::Mapper::FieldMapping
1
+ class Topographer::Importer::Mapper::IgnoredFieldMapping < Topographer::Importer::Mapper::FieldMapping
2
2
  def initialize(input_columns)
3
3
  @input_columns = input_columns
4
4
  @output_field = nil
@@ -1,4 +1,4 @@
1
- class Importer::Mapper::Result
1
+ class Topographer::Importer::Mapper::Result
2
2
  attr_reader :data, :errors, :source_identifier
3
3
 
4
4
  def initialize(source_identifier)
@@ -1,4 +1,4 @@
1
- class Importer::Mapper::ValidationFieldMapping < Importer::Mapper::FieldMapping
1
+ class Topographer::Importer::Mapper::ValidationFieldMapping < Topographer::Importer::Mapper::FieldMapping
2
2
  attr_reader :name
3
3
 
4
4
  def initialize(name, input_columns, &validation_block)
@@ -1,4 +1,4 @@
1
- class Importer::Mapper
1
+ class Topographer::Importer::Mapper
2
2
  require_relative 'mapper/field_mapping'
3
3
  require_relative 'mapper/ignored_field_mapping'
4
4
  require_relative 'mapper/validation_field_mapping'
@@ -1,4 +1,4 @@
1
- class Importer::Strategy::Base
1
+ class Topographer::Importer::Strategy::Base
2
2
 
3
3
  attr_reader :mapper
4
4
  attr_accessor :dry_run
@@ -27,7 +27,7 @@ class Importer::Strategy::Base
27
27
  private
28
28
 
29
29
  def get_import_status(mapping_result, new_model_errors)
30
- status = Importer::Strategy::ImportStatus.new(mapping_result.source_identifier)
30
+ status = Topographer::Importer::Strategy::ImportStatus.new(mapping_result.source_identifier)
31
31
  mapping_result.errors.values.each do |error|
32
32
  status.add_error(:mapping, error)
33
33
  end
@@ -1,4 +1,4 @@
1
- class Importer::Strategy::CreateOrUpdateRecord < Importer::Strategy::Base
1
+ class Topographer::Importer::Strategy::CreateOrUpdateRecord < Topographer::Importer::Strategy::Base
2
2
 
3
3
  def import_record (source_data)
4
4
  mapping_result = mapper.map_input(source_data)
@@ -1,4 +1,4 @@
1
- class Importer::Strategy::ImportNewRecord < Importer::Strategy::Base
1
+ class Topographer::Importer::Strategy::ImportNewRecord < Topographer::Importer::Strategy::Base
2
2
 
3
3
  def import_record (source_data)
4
4
  mapping_result = mapper.map_input(source_data)
@@ -1,4 +1,4 @@
1
- class Importer::Strategy::ImportStatus
1
+ class Topographer::Importer::Strategy::ImportStatus
2
2
  attr_reader :errors, :input_identifier, :timestamp
3
3
  attr_accessor :message
4
4
 
@@ -1,4 +1,4 @@
1
- class Importer::Strategy::UpdateRecord < Importer::Strategy::Base
1
+ class Topographer::Importer::Strategy::UpdateRecord < Topographer::Importer::Strategy::Base
2
2
 
3
3
  def import_record (source_data)
4
4
  mapping_result = mapper.map_input(source_data)
@@ -1,4 +1,4 @@
1
- module Importer::Strategy
1
+ module Topographer::Importer::Strategy
2
2
  require_relative 'strategy/base'
3
3
  require_relative 'strategy/import_new_record'
4
4
  require_relative 'strategy/update_record'
@@ -1,4 +1,4 @@
1
- class Importer
1
+ class Topographer::Importer
2
2
  require_relative 'importer/mapper'
3
3
  require_relative 'importer/strategy'
4
4
  require_relative 'importer/importable'
@@ -1,3 +1,3 @@
1
1
  module Topographer
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,21 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Helpers::WriteLogToCSV do
3
+ describe Topographer::Importer::Helpers::WriteLogToCSV do
4
4
  let(:successful_entry) do
5
- status = Importer::Strategy::ImportStatus.new('test-input')
5
+ status = Topographer::Importer::Strategy::ImportStatus.new('test-input')
6
6
  status.set_timestamp
7
- Importer::Logger::LogEntry.new('test-input', 'TestModel', status)
7
+ Topographer::Importer::Logger::LogEntry.new('test-input', 'TestModel', status)
8
8
  end
9
9
  let(:failed_entry) do
10
- status = Importer::Strategy::ImportStatus.new('test-input')
10
+ status = Topographer::Importer::Strategy::ImportStatus.new('test-input')
11
11
  status.set_timestamp
12
12
  (1+rand(6)).times do |n|
13
13
  status.add_error(:mapping, "Test error #{n}")
14
14
  end
15
- Importer::Logger::LogEntry.new('test-input', 'TestModel', status)
15
+ Topographer::Importer::Logger::LogEntry.new('test-input', 'TestModel', status)
16
16
  end
17
17
  let(:fatal_error) do
18
- Importer::Logger::FatalErrorEntry.new('test-input', 'FATAL ERROR')
18
+ Topographer::Importer::Logger::FatalErrorEntry.new('test-input', 'FATAL ERROR')
19
19
  end
20
20
  let(:successes) do
21
21
  successes = []
@@ -57,13 +57,13 @@ describe Importer::Helpers::WriteLogToCSV do
57
57
  file = double('file')
58
58
  CSV.should_receive(:open).with('fake_file_path', 'wb').and_yield(file)
59
59
  file.should_receive(:<<).exactly(12).times
60
- Importer::Helpers::WriteLogToCSV.instance.write_log_to_csv(logger, 'fake_file_path', write_all: true)
60
+ Topographer::Importer::Helpers::WriteLogToCSV.instance.write_log_to_csv(logger, 'fake_file_path', write_all: true)
61
61
  end
62
62
  it 'should only write failures and fatal errors if write_all is false' do
63
63
  file = double('file')
64
64
  CSV.should_receive(:open).with('fake_file_path', 'wb').and_yield(file)
65
65
  file.should_receive(:<<).exactly(10).times
66
- Importer::Helpers::WriteLogToCSV.instance.write_log_to_csv(logger, 'fake_file_path', write_all: false)
66
+ Topographer::Importer::Helpers::WriteLogToCSV.instance.write_log_to_csv(logger, 'fake_file_path', write_all: false)
67
67
  end
68
68
  end
69
69
  end
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  class TestImportable
4
- extend Importer::Helpers
4
+ extend Topographer::Importer::Helpers
5
5
  end
6
6
 
7
- describe Importer::Helpers do
7
+ describe Topographer::Importer::Helpers do
8
8
  describe ".boolify" do
9
9
  it "returns true if given 'Yes'" do
10
10
  expect(TestImportable.boolify('Yes')).to eql true
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  class TestImportable
4
- extend Importer::Importable
4
+ extend Topographer::Importer::Importable
5
5
  end
6
6
 
7
- describe Importer::Importable do
7
+ describe Topographer::Importer::Importable do
8
8
  describe "#get_mapper" do
9
9
  it 'should raise NotImplementedError' do
10
10
  expect { TestImportable.get_mapper(nil) }.to raise_error(NotImplementedError)
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'ostruct'
3
3
 
4
4
  class MockImportable < OpenStruct
5
- include Importer::Importable
5
+ include Topographer::Importer::Importable
6
6
 
7
7
  def self.create(params)
8
8
  self.new(params)
@@ -21,7 +21,7 @@ class MockImportable < OpenStruct
21
21
  def self.get_mapper(strategy_class)
22
22
  case
23
23
  when strategy_class == HashImportStrategy
24
- Importer::Mapper.build_mapper(MockImportable) do |mapping|
24
+ Topographer::Importer::Mapper.build_mapper(MockImportable) do |mapping|
25
25
  mapping.required_mapping 'Field1', 'field_1'
26
26
  mapping.required_mapping 'Field2', 'field_2'
27
27
  mapping.optional_mapping 'Field3', 'field_3'
@@ -32,7 +32,7 @@ class MockImportable < OpenStruct
32
32
 
33
33
  end
34
34
 
35
- class HashImportStrategy < Importer::Strategy::Base
35
+ class HashImportStrategy < Topographer::Importer::Strategy::Base
36
36
  attr_reader :imported_data
37
37
 
38
38
  def initialize(mapper)
@@ -71,14 +71,14 @@ class MockInput
71
71
  end
72
72
 
73
73
  def each
74
- yield Importer::Input::SourceData.new('1', {'Field1' => 'datum1', 'Field2' => 'datum2'})
75
- yield Importer::Input::SourceData.new('2', {'Field1' => 'datum2', 'Field2' => 'datum2', 'Field3' => 'datum3'})
76
- yield Importer::Input::SourceData.new('3', {'Field1' => 'datum3', 'Field2' => 'invalid value!!!!1ONE'}) #I am INVALID!!!
77
- yield Importer::Input::SourceData.new('4', {'Field1' => 'datum4', 'Field2' => 'datum2', 'Field3' => 'datum3', 'IgnoredField' => 'ignore me'})
74
+ yield Topographer::Importer::Input::SourceData.new('1', {'Field1' => 'datum1', 'Field2' => 'datum2'})
75
+ yield Topographer::Importer::Input::SourceData.new('2', {'Field1' => 'datum2', 'Field2' => 'datum2', 'Field3' => 'datum3'})
76
+ yield Topographer::Importer::Input::SourceData.new('3', {'Field1' => 'datum3', 'Field2' => 'invalid value!!!!1ONE'}) #I am INVALID!!!
77
+ yield Topographer::Importer::Input::SourceData.new('4', {'Field1' => 'datum4', 'Field2' => 'datum2', 'Field3' => 'datum3', 'IgnoredField' => 'ignore me'})
78
78
  end
79
79
  end
80
80
 
81
- describe Importer do
81
+ describe Topographer::Importer do
82
82
  let(:input) { MockInput.new }
83
83
  let(:model_class) { MockImportable }
84
84
  let(:strategy_class) { HashImportStrategy }
@@ -87,8 +87,8 @@ describe Importer do
87
87
  get_header: ['BadCol1', 'BadCol2', 'Field1', 'Field3'],
88
88
  input_identifier: 'Test'
89
89
  end
90
- let(:simple_logger) { Importer::Logger::Simple.new }
91
- let(:import_log) { Importer.import_data(input, model_class, strategy_class, simple_logger) }
90
+ let(:simple_logger) { Topographer::Importer::Logger::Simple.new }
91
+ let(:import_log) { Topographer::Importer.import_data(input, model_class, strategy_class, simple_logger) }
92
92
 
93
93
  describe '.import_data' do
94
94
  it 'returns a logger instance' do
@@ -109,7 +109,7 @@ describe Importer do
109
109
  end
110
110
 
111
111
  it 'does not import data with an invalid header' do
112
- import_log = Importer.import_data(bad_input, model_class, strategy_class, simple_logger)
112
+ import_log = Topographer::Importer.import_data(bad_input, model_class, strategy_class, simple_logger)
113
113
  expect(import_log.errors?).to be_true
114
114
  expect(import_log.fatal_error?).to be_true
115
115
  expect(import_log.fatal_errors.first.message).
@@ -118,7 +118,7 @@ describe Importer do
118
118
  end
119
119
  describe '.build_mapper' do
120
120
  it 'returns a mapper with the defined mappings' do
121
- mapper = Importer.build_mapper(MockImportable) do |mapping|
121
+ mapper = Topographer::Importer.build_mapper(MockImportable) do |mapping|
122
122
  mapping.required_mapping 'Field1', 'field_1'
123
123
  mapping.required_mapping 'Field2', 'field_2'
124
124
  mapping.optional_mapping 'Field3', 'field_3'
@@ -1,11 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Logger::Base do
4
- let(:logger){Importer::Logger::Base.new}
3
+ describe Topographer::Importer::Logger::Base do
4
+ let(:logger){Topographer::Importer::Logger::Base.new}
5
5
  describe '#log_fatal' do
6
6
  it 'should log a fatal error' do
7
7
  logger.log_fatal('test input', 'Fatal Error')
8
- expect(logger.fatal_errors.first).to be_a Importer::Logger::LogEntry
8
+ expect(logger.fatal_errors.first).to be_a Topographer::Importer::Logger::LogEntry
9
9
  expect(logger.fatal_errors.first)
10
10
  end
11
11
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Logger::FatalErrorEntry do
4
- let(:entry) { Importer::Logger::FatalErrorEntry.new('test-input', 'failure message') }
3
+ describe Topographer::Importer::Logger::FatalErrorEntry do
4
+ let(:entry) { Topographer::Importer::Logger::FatalErrorEntry.new('test-input', 'failure message') }
5
5
  describe '#failure?' do
6
6
  it 'should return true' do
7
7
  expect(entry.failure?).to be_true
@@ -1,9 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Logger::Simple do
3
+ describe Topographer::Importer::Logger::Simple do
4
4
 
5
5
  let(:logger) do
6
- Importer::Logger::Simple.new
6
+ Topographer::Importer::Logger::Simple.new
7
7
  end
8
8
 
9
9
  describe '#log_success' do
@@ -1,22 +1,22 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Mapper::DefaultFieldMapping do
3
+ describe Topographer::Importer::Mapper::DefaultFieldMapping do
4
4
  let(:static_mapping) do
5
- Importer::Mapper::DefaultFieldMapping.new('field1') do
5
+ Topographer::Importer::Mapper::DefaultFieldMapping.new('field1') do
6
6
  10+5
7
7
  end
8
8
  end
9
9
  let(:failed_static_mapping) do
10
- Importer::Mapper::DefaultFieldMapping.new('field1') do
10
+ Topographer::Importer::Mapper::DefaultFieldMapping.new('field1') do
11
11
  raise 'FAILURE'
12
12
  end
13
13
  end
14
14
 
15
- let(:result) { Importer::Mapper::Result.new('test') }
16
- let(:result2) { Importer::Mapper::Result.new('test') }
15
+ let(:result) { Topographer::Importer::Mapper::Result.new('test') }
16
+ let(:result2) { Topographer::Importer::Mapper::Result.new('test') }
17
17
  describe '#initialize' do
18
18
  it 'should not create a static mapping without a behavior block' do
19
- expect { Importer::Mapper::DefaultFieldMapping.new('broken mapping') }.
19
+ expect { Topographer::Importer::Mapper::DefaultFieldMapping.new('broken mapping') }.
20
20
  to raise_error(Topographer::InvalidMappingError)
21
21
  end
22
22
  end
@@ -32,7 +32,7 @@ describe Importer::Mapper::DefaultFieldMapping do
32
32
  expect(result.errors.values).to include('FAILURE')
33
33
  end
34
34
  it 'should not rescue Exceptions that do not inherit from standard error' do
35
- mapper = Importer::Mapper::DefaultFieldMapping.new('output_column') do
35
+ mapper = Topographer::Importer::Mapper::DefaultFieldMapping.new('output_column') do
36
36
  raise Exception, 'Field1 MUST BE 4'
37
37
  end
38
38
  expect{ mapper.process_input({'field1' => false}, result) }.to raise_error(Exception)
@@ -1,25 +1,25 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Mapper::FieldMapping do
4
- let(:required_simple_mapping) { Importer::Mapper::FieldMapping.new(true, ['field1'], 'output_column') }
3
+ describe Topographer::Importer::Mapper::FieldMapping do
4
+ let(:required_simple_mapping) { Topographer::Importer::Mapper::FieldMapping.new(true, ['field1'], 'output_column') }
5
5
  let(:required_simple_mapping_with_validation) do
6
- Importer::Mapper::FieldMapping.new(true, ['field1'], 'output_column') do |input|
6
+ Topographer::Importer::Mapper::FieldMapping.new(true, ['field1'], 'output_column') do |input|
7
7
  if input['field1'] != 4
8
8
  raise 'Field1 MUST BE 4'
9
9
  end
10
10
  end
11
11
  end
12
12
  let(:required_complex_mapping) do
13
- Importer::Mapper::FieldMapping.new(true, ['field1', 'field2', 'field3'], 'output_column') do |input|
13
+ Topographer::Importer::Mapper::FieldMapping.new(true, ['field1', 'field2', 'field3'], 'output_column') do |input|
14
14
  if input['field1'] != 4
15
15
  raise 'Field1 MUST BE 4'
16
16
  end
17
17
  input.values.flatten.inject(0) {|sum, x| sum+x}
18
18
  end
19
19
  end
20
- let(:optional_simple_mapping) { Importer::Mapper::FieldMapping.new(false, 'field1', 'output_column') }
20
+ let(:optional_simple_mapping) { Topographer::Importer::Mapper::FieldMapping.new(false, 'field1', 'output_column') }
21
21
  let(:optional_complex_mapping) do
22
- Importer::Mapper::FieldMapping.new(false, ['field1', 'field2', 'field3'], 'output_column') do |input|
22
+ Topographer::Importer::Mapper::FieldMapping.new(false, ['field1', 'field2', 'field3'], 'output_column') do |input|
23
23
  if input['field1'] != 4
24
24
  raise 'Field1 MUST BE 4'
25
25
  end
@@ -32,7 +32,7 @@ describe Importer::Mapper::FieldMapping do
32
32
  let(:invalid_complex_input) do
33
33
  {'field1' => 3, 'field2' => 4, 'field3' => 5}
34
34
  end
35
- let(:result) { Importer::Mapper::Result.new('test') }
35
+ let(:result) { Topographer::Importer::Mapper::Result.new('test') }
36
36
  describe '#process_input' do
37
37
  context 'required mappings' do
38
38
  it 'maps required simple mappings when input is valid' do
@@ -116,7 +116,7 @@ describe Importer::Mapper::FieldMapping do
116
116
  expect(result.data['output_column']).to eql(false)
117
117
  end
118
118
  it 'should not rescue Exceptions that do not inherit from standard error' do
119
- mapper = Importer::Mapper::FieldMapping.new(true, 'field1', 'output_column') do |input|
119
+ mapper = Topographer::Importer::Mapper::FieldMapping.new(true, 'field1', 'output_column') do |input|
120
120
  raise Exception, 'Field1 MUST BE 4'
121
121
  end
122
122
  expect{ mapper.process_input({'field1' => false}, result) }.to raise_error(Exception)
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Mapper::ValidationFieldMapping do
3
+ describe Topographer::Importer::Mapper::ValidationFieldMapping do
4
4
  let(:validation_mapping) do
5
- Importer::Mapper::ValidationFieldMapping.new('test mapping', ['field1', 'field2', 'field3']) do |input|
5
+ Topographer::Importer::Mapper::ValidationFieldMapping.new('test mapping', ['field1', 'field2', 'field3']) do |input|
6
6
  sum = input.values.flatten.inject(0) {|sum, x| sum+x}
7
7
  raise 'Sum must be 15' if sum != 15
8
8
  end
@@ -13,10 +13,10 @@ describe Importer::Mapper::ValidationFieldMapping do
13
13
  let(:invalid_input) do
14
14
  {'field1' => 3, 'field2' => 4, 'field3' => 5}
15
15
  end
16
- let(:result) { Importer::Mapper::Result.new('test') }
16
+ let(:result) { Topographer::Importer::Mapper::Result.new('test') }
17
17
  describe '#initialize' do
18
18
  it 'should not create a validation mapping without a behavior block' do
19
- expect { Importer::Mapper::ValidationFieldMapping.new('test mapping', ['field1', 'field2', 'field3']) }.
19
+ expect { Topographer::Importer::Mapper::ValidationFieldMapping.new('test mapping', ['field1', 'field2', 'field3']) }.
20
20
  to raise_error(Topographer::InvalidMappingError)
21
21
  end
22
22
  end
@@ -32,7 +32,7 @@ describe Importer::Mapper::ValidationFieldMapping do
32
32
  expect(result.errors.values).to include('Sum must be 15')
33
33
  end
34
34
  it 'should not rescue Exceptions that do not inherit from standard error' do
35
- mapper = Importer::Mapper::ValidationFieldMapping.new('test mapping', ['field1', 'field2', 'field3']) do |input|
35
+ mapper = Topographer::Importer::Mapper::ValidationFieldMapping.new('test mapping', ['field1', 'field2', 'field3']) do |input|
36
36
  sum = input.values.flatten.inject(0) {|sum, x| sum+x}
37
37
  raise Exception, 'Sum must be 15' if sum != 15
38
38
  end
@@ -1,24 +1,24 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Mapper do
3
+ describe Topographer::Importer::Mapper do
4
4
  describe '.build_mapper' do
5
5
  describe 'required mappings' do
6
6
  it 'can require a one to one field mapping' do
7
- mapper = Importer::Mapper.build_mapper(Object) do |m|
7
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
8
8
  m.required_mapping 'Field1', 'field_1'
9
9
  end
10
10
  mapper.required_columns.should include("Field1")
11
11
  mapper.output_fields.should include('field_1')
12
12
  end
13
13
  it 'can require a many to one field mapping' do
14
- mapper = Importer::Mapper.build_mapper(Object) do |m|
14
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
15
15
  m.required_mapping ['Field1', 'Field2'], 'field_1'
16
16
  end
17
17
  mapper.required_columns.should include("Field1", "Field2")
18
18
  mapper.output_fields.should include('field_1')
19
19
  end
20
20
  it 'cannot require a one to many field mapping' do
21
- expect { mapper = Importer::Mapper.build_mapper(Object) do |m|
21
+ expect { mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
22
22
  m.required_mapping 'Field1', ['field_1', 'field_2']
23
23
  end
24
24
  }.to raise_error(Topographer::InvalidMappingError)
@@ -26,21 +26,21 @@ describe Importer::Mapper do
26
26
  end
27
27
  describe 'optional mappings' do
28
28
  it 'can create an optional one to one field mapping' do
29
- mapper = Importer::Mapper.build_mapper(Object) do |m|
29
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
30
30
  m.optional_mapping 'Field1', 'field_1'
31
31
  end
32
32
  mapper.optional_columns.should include("Field1")
33
33
  mapper.output_fields.should include('field_1')
34
34
  end
35
35
  it 'can create an optional many to one field mapping' do
36
- mapper = Importer::Mapper.build_mapper(Object) do |m|
36
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
37
37
  m.optional_mapping ['Field1', 'Field2'], 'field_1'
38
38
  end
39
39
  mapper.optional_columns.should include("Field1", "Field2")
40
40
  mapper.output_fields.should include('field_1')
41
41
  end
42
42
  it 'cannot create an optional one to many field mapping' do
43
- expect { mapper = Importer::Mapper.build_mapper(Object) do |m|
43
+ expect { mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
44
44
  m.optional_mapping 'Field1', ['field_1', 'field_2']
45
45
  end
46
46
  }.to raise_error(Topographer::InvalidMappingError)
@@ -48,7 +48,7 @@ describe Importer::Mapper do
48
48
  end
49
49
  describe 'ignored mappings' do
50
50
  it 'can ignore a column' do
51
- mapper = Importer::Mapper.build_mapper(Object) do |m|
51
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
52
52
  m.ignored_column 'Field1'
53
53
  end
54
54
  mapper.ignored_columns.should include('Field1')
@@ -56,21 +56,21 @@ describe Importer::Mapper do
56
56
  end
57
57
 
58
58
  it 'raises an error when adding a mapping whose output is already an output of another mapping' do
59
- expect { Importer::Mapper.build_mapper(Object) do |m|
59
+ expect { Topographer::Importer::Mapper.build_mapper(Object) do |m|
60
60
  m.optional_mapping 'Field1', 'field_1'
61
61
  m.required_mapping 'Field2', 'field_1'
62
62
  end }.to raise_error(Topographer::InvalidMappingError)
63
63
  end
64
64
 
65
65
  it 'raises an error when adding a ignored column, which is already an input of another mapping' do
66
- expect { Importer::Mapper.build_mapper(Object) do |m|
66
+ expect { Topographer::Importer::Mapper.build_mapper(Object) do |m|
67
67
  m.optional_mapping 'Field1', 'field_1'
68
68
  m.ignored_column 'Field1'
69
69
  end }.to raise_error(Topographer::InvalidMappingError)
70
70
  end
71
71
 
72
72
  it 'raises an error when adding a mapped column which has already been ignored' do
73
- expect { Importer::Mapper.build_mapper(Object) do |m|
73
+ expect { Topographer::Importer::Mapper.build_mapper(Object) do |m|
74
74
  m.ignored_column 'Field1'
75
75
  m.optional_mapping 'Field1', 'field_1'
76
76
  end }.to raise_error(Topographer::InvalidMappingError)
@@ -79,7 +79,7 @@ describe Importer::Mapper do
79
79
 
80
80
  describe 'validation mappings' do
81
81
  it 'can create a single column validation' do
82
- mapper = Importer::Mapper.build_mapper(Object) do |m|
82
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
83
83
  m.validation_field 'Field 1 Validation', 'Field1' do |input|
84
84
  raise 'No Input' unless input
85
85
  end
@@ -88,7 +88,7 @@ describe Importer::Mapper do
88
88
  expect(mapper.output_fields.empty?).to be_true
89
89
  end
90
90
  it 'can create a multicolumn validation' do
91
- mapper = Importer::Mapper.build_mapper(Object) do |m|
91
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
92
92
  m.validation_field 'Multicolumn Validation', ['Field1', 'Field2'] do |input|
93
93
  raise 'No Input' unless input
94
94
  end
@@ -98,7 +98,7 @@ describe Importer::Mapper do
98
98
  end
99
99
  it 'raises an error if a validation name is repeated' do
100
100
  expect {
101
- mapper = Importer::Mapper.build_mapper(Object) do |m|
101
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
102
102
  m.validation_field 'Field 1 Validation', 'Field1' do |input|
103
103
  raise 'No Input' unless input
104
104
  end
@@ -110,7 +110,7 @@ describe Importer::Mapper do
110
110
 
111
111
  describe 'static mappings' do
112
112
  it 'can create a static mapping' do
113
- mapper = Importer::Mapper.build_mapper(Object) do |m|
113
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
114
114
  m.default_value 'Field1' do
115
115
  34
116
116
  end
@@ -119,14 +119,14 @@ describe Importer::Mapper do
119
119
  expect(mapper.output_fields).to eql(['Field1'])
120
120
  end
121
121
  it 'cannot create a static mapping to many columns' do
122
- expect { mapper = Importer::Mapper.build_mapper(Object) do |m|
122
+ expect { mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
123
123
  m.default_value ['Field1', 'Field2'] do
124
124
  34
125
125
  end
126
126
  end }.to raise_error(Topographer::InvalidMappingError)
127
127
  end
128
128
  it 'cannot add a static mapping to a field that has already been mapped' do
129
- expect { mapper = Importer::Mapper.build_mapper(Object) do |m|
129
+ expect { mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
130
130
  m.required_mapping 'Field1', 'field1'
131
131
  m.default_value 'field1' do
132
132
  34
@@ -136,7 +136,7 @@ describe Importer::Mapper do
136
136
  end
137
137
 
138
138
  it 'associates the model class with the mapper instance' do
139
- mapper = Importer::Mapper.build_mapper(Object) do |m|
139
+ mapper = Topographer::Importer::Mapper.build_mapper(Object) do |m|
140
140
  m.ignored_column 'Field1'
141
141
  m.optional_mapping 'Field2', 'field_1'
142
142
  end
@@ -145,7 +145,7 @@ describe Importer::Mapper do
145
145
  end
146
146
 
147
147
  describe '#key_field' do
148
- let(:mapper) { Importer::Mapper.new(Object) }
148
+ let(:mapper) { Topographer::Importer::Mapper.new(Object) }
149
149
  it 'should add a key field to the list of key fields' do
150
150
  mapper.key_field 'Field1'
151
151
  expect(mapper.key_fields).to eql(['Field1'])
@@ -165,7 +165,7 @@ describe Importer::Mapper do
165
165
 
166
166
  describe '#input_structure_valid?' do
167
167
  let(:mapper) do
168
- Importer::Mapper.build_mapper(Object) do |m|
168
+ Topographer::Importer::Mapper.build_mapper(Object) do |m|
169
169
  m.required_mapping 'Field1', 'field1'
170
170
  m.required_mapping 'Field2', 'field_4'
171
171
  m.optional_mapping 'Field3', 'field_6'
@@ -203,7 +203,7 @@ describe Importer::Mapper do
203
203
 
204
204
  describe '#bad_columns' do
205
205
  let(:mapper) do
206
- Importer::Mapper.build_mapper(Object) do |m|
206
+ Topographer::Importer::Mapper.build_mapper(Object) do |m|
207
207
  m.required_mapping 'Field1', 'field1'
208
208
  m.required_mapping 'Field2', 'field_4'
209
209
  m.validation_field('test validation 2', 'Field2') { |input| raise 'FAILURE' if !input }
@@ -222,7 +222,7 @@ describe Importer::Mapper do
222
222
 
223
223
  describe '#missing_columns' do
224
224
  let(:mapper) do
225
- Importer::Mapper.build_mapper(Object) do |m|
225
+ Topographer::Importer::Mapper.build_mapper(Object) do |m|
226
226
  m.required_mapping 'Field1', 'field1'
227
227
  m.required_mapping 'Field2', 'field_4'
228
228
  m.optional_mapping 'Field3', 'field_6'
@@ -240,7 +240,7 @@ describe Importer::Mapper do
240
240
 
241
241
  describe '#map_input' do
242
242
  let(:mapper) do
243
- Importer::Mapper.build_mapper(Object) do |m|
243
+ Topographer::Importer::Mapper.build_mapper(Object) do |m|
244
244
  m.required_mapping 'Field1', 'field_1'
245
245
  m.required_mapping ['Field1', 'Field2'], 'field_2'
246
246
  m.validation_field('Field2 Validation', 'Field2') { |input| raise 'FAILURE' if input['Field2'] != 'datum2'}
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Strategy::Base do
3
+ describe Topographer::Importer::Strategy::Base do
4
4
  let(:mapper) do
5
5
  double('Mapper')
6
6
  end
7
- let(:strategy) { Importer::Strategy::Base.new(mapper) }
7
+ let(:strategy) { Topographer::Importer::Strategy::Base.new(mapper) }
8
8
  let(:status) do
9
9
  double 'Status',
10
10
  errors?: false
@@ -15,7 +15,7 @@ describe Importer::Strategy::Base do
15
15
  end
16
16
  describe '#initialize' do
17
17
  it 'creates a new Strategy instance with the given mapper' do
18
- strategy = Importer::Strategy::Base.new(mapper)
18
+ strategy = Topographer::Importer::Strategy::Base.new(mapper)
19
19
  strategy.instance_variable_get(:@mapper).should be(mapper)
20
20
  end
21
21
  end
@@ -2,9 +2,9 @@ require 'spec_helper'
2
2
  require 'ostruct'
3
3
  require_relative 'mapped_model'
4
4
 
5
- describe Importer::Strategy::CreateOrUpdateRecord do
5
+ describe Topographer::Importer::Strategy::CreateOrUpdateRecord do
6
6
 
7
- let(:strategy) { Importer::Strategy::CreateOrUpdateRecord.new(MappedModel.get_mapper) }
7
+ let(:strategy) { Topographer::Importer::Strategy::CreateOrUpdateRecord.new(MappedModel.get_mapper) }
8
8
  let(:input) do
9
9
  double 'Data',
10
10
  source_identifier: 'record',
@@ -20,7 +20,7 @@ describe Importer::Strategy::CreateOrUpdateRecord do
20
20
 
21
21
  describe '#import_record' do
22
22
  it 'should return an ImportStatus object' do
23
- expect(strategy.import_record(input)).to be_a Importer::Strategy::ImportStatus
23
+ expect(strategy.import_record(input)).to be_a Topographer::Importer::Strategy::ImportStatus
24
24
  end
25
25
  it 'should import a record from valid input' do
26
26
  MappedModel.any_instance.should_receive(:save).once
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'ostruct'
3
3
  require_relative 'mapped_model'
4
4
 
5
- describe Importer::Strategy::ImportNewRecord do
5
+ describe Topographer::Importer::Strategy::ImportNewRecord do
6
6
  let(:valid_status) do
7
7
  double 'Result',
8
8
  source_identifier: 'row1',
@@ -22,7 +22,7 @@ describe Importer::Strategy::ImportNewRecord do
22
22
  double('Mapper', map_input: valid_status, model_class: MappedModel)
23
23
  end
24
24
 
25
- let(:strategy) { Importer::Strategy::ImportNewRecord.new(MappedModel.get_mapper) }
25
+ let(:strategy) { Topographer::Importer::Strategy::ImportNewRecord.new(MappedModel.get_mapper) }
26
26
  let(:input) do
27
27
  double 'Data',
28
28
  source_identifier: 'record',
@@ -32,14 +32,14 @@ describe Importer::Strategy::ImportNewRecord do
32
32
 
33
33
  describe '#initialize' do
34
34
  it 'creates a new Strategy instance with the given mapper' do
35
- strategy = Importer::Strategy::ImportNewRecord.new(mapper)
35
+ strategy = Topographer::Importer::Strategy::ImportNewRecord.new(mapper)
36
36
  strategy.instance_variable_get(:@mapper).should be(mapper)
37
37
  end
38
38
  end
39
39
 
40
40
  describe '#import_record' do
41
41
  it 'should return an ImportStatus object' do
42
- expect(strategy.import_record(input)).to be_a Importer::Strategy::ImportStatus
42
+ expect(strategy.import_record(input)).to be_a Topographer::Importer::Strategy::ImportStatus
43
43
  end
44
44
  it 'should import a record from valid input' do
45
45
  MappedModel.any_instance.should_receive(:save).once
@@ -48,7 +48,7 @@ describe Importer::Strategy::ImportNewRecord do
48
48
  end
49
49
  it 'should not import a record from invalid input' do
50
50
  mapper.stub(:map_input).and_return(invalid_result)
51
- strategy = Importer::Strategy::ImportNewRecord.new(mapper)
51
+ strategy = Topographer::Importer::Strategy::ImportNewRecord.new(mapper)
52
52
  MappedModel.any_instance.should_not_receive(:save)
53
53
  import_status = strategy.import_record(input)
54
54
  expect(import_status.errors?).to be true
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Importer::Strategy::ImportStatus do
4
- let(:status) {Importer::Strategy::ImportStatus.new('row1')}
3
+ describe Topographer::Importer::Strategy::ImportStatus do
4
+ let(:status) {Topographer::Importer::Strategy::ImportStatus.new('row1')}
5
5
  describe '#add_error' do
6
6
  it 'should add errors' do
7
7
  status.add_error(:validation, 'ERROR')
@@ -22,7 +22,7 @@ class MappedModel < OpenStruct
22
22
  end
23
23
 
24
24
  def self.get_mapper
25
- Importer::Mapper.build_mapper(MappedModel) do |mapping|
25
+ Topographer::Importer::Mapper.build_mapper(MappedModel) do |mapping|
26
26
  mapping.required_mapping 'Field1', 'field_1'
27
27
  mapping.required_mapping 'Field2', 'field_2'
28
28
  mapping.optional_mapping 'Field3', 'field_3'
@@ -2,9 +2,9 @@ require 'spec_helper'
2
2
  require 'ostruct'
3
3
  require_relative 'mapped_model'
4
4
 
5
- describe Importer::Strategy::UpdateRecord do
5
+ describe Topographer::Importer::Strategy::UpdateRecord do
6
6
 
7
- let(:strategy) { Importer::Strategy::UpdateRecord.new(MappedModel.get_mapper) }
7
+ let(:strategy) { Topographer::Importer::Strategy::UpdateRecord.new(MappedModel.get_mapper) }
8
8
  let(:input) do
9
9
  double 'Data',
10
10
  source_identifier: 'record',
@@ -19,7 +19,7 @@ describe Importer::Strategy::UpdateRecord do
19
19
 
20
20
  describe '#import_record' do
21
21
  it 'should return an ImportStatus object' do
22
- expect(strategy.import_record(input)).to be_a Importer::Strategy::ImportStatus
22
+ expect(strategy.import_record(input)).to be_a Topographer::Importer::Strategy::ImportStatus
23
23
  end
24
24
  it 'should import a record from valid input' do
25
25
  MappedModel.any_instance.should_receive(:save).once
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: topographer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Simpson
@@ -15,14 +15,14 @@ dependencies:
15
15
  name: activesupport
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ! '>='
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ! '>='
26
26
  - !ruby/object:Gem::Version
27
27
  version: '3'
28
28
  - !ruby/object:Gem::Dependency
@@ -43,28 +43,28 @@ dependencies:
43
43
  name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ! '>='
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ! '>='
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rspec
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ! '>='
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  description: Topographer enables importing of models from various input sources.
@@ -139,17 +139,17 @@ require_paths:
139
139
  - lib
140
140
  required_ruby_version: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - '>='
142
+ - - ! '>='
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
145
  required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - '>='
147
+ - - ! '>='
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0'
150
150
  requirements: []
151
151
  rubyforge_project:
152
- rubygems_version: 2.1.11
152
+ rubygems_version: 2.1.10
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: Topographer allows the mapping of columnar input data to fields for active
@@ -173,3 +173,4 @@ test_files:
173
173
  - spec/Cartographer/importer/strategy/mapped_model.rb
174
174
  - spec/Cartographer/importer/strategy/update_record_spec.rb
175
175
  - spec/spec_helper.rb
176
+ has_rdoc: