sower 0.0.1 → 0.1.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
- SHA1:
3
- metadata.gz: 10f00dc3d82de960da33a6f92f8e46e52e431049
4
- data.tar.gz: e7cefb80f41c0a699129f552b37347aad870732c
2
+ SHA256:
3
+ metadata.gz: df6a9582f3e47c18f82c1320026fdb31cf5361d718959ca2d789678b74296001
4
+ data.tar.gz: d2782b4a549ad04449aa2369173e4e06dd70400d674fe09f5640b9983f94b0ae
5
5
  SHA512:
6
- metadata.gz: d1ee9354f077592354c3ee5a6acd8c3afd19e1575fa8641d6a4e4ab27f8f9bb92db0a47ccb298a30bd9bf8662ce1e09ce6a14c2b1912fdd49fa6d412b885006e
7
- data.tar.gz: b0c7cc0782e2725e819e3e472c528150cf0ff682264f07f48b91188393988e8b9a53c772ce70f43280a3240738e7ccd198b841e58e03378ae1d73b8cf7b84a7a
6
+ metadata.gz: 34c74083388a152a7a8dbe64d6d671f637ff068b69a167b7b06246590895ad3d25e08becb0406d9a3a16a15d4ad35ce685f8a2811ee83288baea87c3042ae8e5
7
+ data.tar.gz: 8ebf25c9c56ecc4b923716a0a44ef72efcfdc28a6c0656e6c0e364afb1588efa6e18e1bb3ae0b4a4105383427ee4a1b9701681fdc25ad46802eca29d558588ac
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  *.rbc
3
3
  .bundle
4
4
  .config
5
+ .idea
5
6
  .yardoc
6
7
  Gemfile.lock
7
8
  InstalledFiles
data/lib/sower/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sower
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/sower.rb CHANGED
@@ -1,23 +1,28 @@
1
- require "sower/version"
1
+ require 'sower/version'
2
2
  require 'csv'
3
3
 
4
4
  module Sower
5
5
  def self.seed(clazz, filename, options = {})
6
- sql_path = File.join(seeds_path, "#{filename}.sql")
7
- csv_path = File.join(seeds_path, "#{filename}.csv")
6
+ sql_path = File.join(seeds_path, "#{filename}.sql")
7
+ csv_path = File.join(seeds_path, "#{filename}.csv")
8
8
  text_path = File.join(seeds_path, "#{filename}.txt")
9
9
 
10
+ old_table_name = clazz.table_name
11
+ if @schema.present?
12
+ clazz.table_name = "#{@schema}.#{clazz.table_name}"
13
+ end
14
+
10
15
  if clazz.respond_to?(:enumeration_model_updates_permitted=)
11
16
  clazz.enumeration_model_updates_permitted = true
12
17
  end
13
18
 
14
- if File.exists?(sql_path)
15
- puts "Importing #{filename} as SQL"
19
+ if File.exist?(sql_path)
20
+ puts "Importing #{filename} to #{clazz.table_name} as SQL"
16
21
 
17
22
  data = File.read(sql_path)
18
23
  ActiveRecord::Base.connection.execute data
19
- elsif File.exists?(csv_path)
20
- puts "Importing #{filename} as CSV"
24
+ elsif File.exist?(csv_path)
25
+ puts "Importing #{filename} to #{clazz.table_name} as CSV"
21
26
 
22
27
  index = 0
23
28
  CSV.foreach(csv_path) do |row|
@@ -39,7 +44,7 @@ module Sower
39
44
  index += 1
40
45
  end
41
46
  else
42
- puts "Importing #{filename} as Text"
47
+ puts "Importing #{filename} to #{clazz.table_name} as Text"
43
48
 
44
49
  File.foreach(text_path).each_with_index do |line, index|
45
50
  m = clazz.new(:name => line.chomp)
@@ -53,6 +58,8 @@ module Sower
53
58
  ActiveRecord::Base.connection.execute \
54
59
  "SELECT setval('#{clazz.table_name}_id_seq'::regclass, MAX(id)) FROM #{clazz.table_name};"
55
60
  end
61
+
62
+ clazz.table_name = old_table_name
56
63
  end
57
64
 
58
65
  def self.seeds_path=(path)
@@ -69,4 +76,8 @@ module Sower
69
76
  end
70
77
  end
71
78
 
79
+ def self.schema=(schema)
80
+ @schema = schema
81
+ end
82
+
72
83
  end
data/sower.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.5"
21
+ spec.add_dependency "csv"
22
+ spec.add_development_dependency "bundler"
22
23
  spec.add_development_dependency "rake"
23
24
  end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sower
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zachary Belzer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-24 00:00:00.000000000 Z
11
+ date: 2025-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: csv
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - "~>"
31
+ - - ">="
18
32
  - !ruby/object:Gem::Version
19
- version: '1.5'
33
+ version: '0'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
- - - "~>"
38
+ - - ">="
25
39
  - !ruby/object:Gem::Version
26
- version: '1.5'
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,7 +72,7 @@ homepage: ''
58
72
  licenses:
59
73
  - MIT
60
74
  metadata: {}
61
- post_install_message:
75
+ post_install_message:
62
76
  rdoc_options: []
63
77
  require_paths:
64
78
  - lib
@@ -73,9 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
87
  - !ruby/object:Gem::Version
74
88
  version: '0'
75
89
  requirements: []
76
- rubyforge_project:
77
- rubygems_version: 2.2.2
78
- signing_key:
90
+ rubygems_version: 3.3.26
91
+ signing_key:
79
92
  specification_version: 4
80
93
  summary: Simple multi format seeder.
81
94
  test_files: []