scaffolding 0.2.6 → 0.2.7

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: 355825294b6b132b799b92de494ae2826282a2bf
4
- data.tar.gz: 311726f03fd61b9f432ee7b71610c3548f95551e
3
+ metadata.gz: f5ce20351a558fc76a04a4004abe7ea395a73895
4
+ data.tar.gz: bf50688193b8c54d0ffe2628952f23147b6a7973
5
5
  SHA512:
6
- metadata.gz: 8dc1ae05c8c1c6588b0cb16fed8eb9adb10bc318b5b57421b77a1c678cde72804f329a22b42d7ab6147ae4cc7dfafb50695ca9ea2d371fff09f4a697ba864345
7
- data.tar.gz: 471bbe20b664be7a4cf3674ccd68c02d7e279ab00dfcd7086d1483178b7f3acc80df7c99e35a5da6b2089114b66749dd1301f25c903132c50d240901085bb43a
6
+ metadata.gz: 4cb6567c6668c59e8ed64e2a1e1767d76a76d24eba13f2044c6ce539f82f01e78f506136b57a65200bc0484710a1f28aad0bf63c716386923253549c187db4a6
7
+ data.tar.gz: c3602deae91862cc32ea65b82260bd7946034c025ca92d935b84f1142e3a21bb0f6fa3969cb64c9c22d1000a8a00258c742e72d50fbd3ab1296def3f8cf5f35d
data/README.md CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- $ rake g:scaffold
23
+ $ rails generate/g scaffolding path/to/file.csv
24
24
 
25
25
  ## Development
26
26
 
data/Rakefile CHANGED
@@ -1,5 +1,4 @@
1
1
  require "bundler/gem_tasks"
2
- require 'csv'
3
2
 
4
3
  #C:\Users\jdejong\Desktop\Windows.csv
5
4
  #C:\Users\jdejong\Desktop\data.xlsx
@@ -0,0 +1,34 @@
1
+ require 'rails/generators'
2
+ require 'rake'
3
+ Rails.application.load_tasks
4
+ require 'scaffolding'
5
+
6
+ class ScaffoldingGenerator < Rails::Generators::Base
7
+ argument :file, :type => :string, :default => ""
8
+
9
+ def generate_scaffold
10
+ results = Scaffolding.generate(file)
11
+
12
+ if results.kind_of?(Array)
13
+ results.each do |error|
14
+ puts "\e[31m#{error}\e[0m"
15
+ end
16
+ return
17
+ end
18
+
19
+ Rails::Generators::Base.new.generate "scaffold", results
20
+
21
+ puts "\n\n\e[32mMigrate the database?(y/n)\e[0m\n"
22
+ if STDIN.gets.chomp == "y"
23
+ Rake::Task["db:migrate"].invoke
24
+
25
+ puts "\n\n\e[32mImport the data from #{file}?(y/n)\e[0m\n"
26
+ if STDIN.gets.chomp == "y"
27
+ Scaffolding.import_data(file).each do |k,v|
28
+ puts "#{v} records #{k}"
29
+ end
30
+ end
31
+ end
32
+ end
33
+
34
+ end
@@ -39,6 +39,12 @@ module Scaffolding
39
39
  {string: 0, date: 0, integer: 0, boolean: 0, decimal: 0, time: 0, datetime: 0}
40
40
  end
41
41
 
42
+ def col_seperator
43
+ seperators = {}
44
+ [",","\t"].each {|seperator| seperators[seperator] = @data.count(seperator)}
45
+ seperators.max_by{|k,v| v}[0]
46
+ end
47
+
42
48
  def self.process(file)
43
49
  importer = self.new(file)
44
50
  return importer.errors unless importer.errors.count == 0
@@ -8,12 +8,6 @@ module Scaffolding
8
8
  @row_number = 0
9
9
  end
10
10
 
11
- def col_seperator
12
- seperators = {}
13
- [",","\t"].each {|seperator| seperators[seperator] = @data.count(seperator)}
14
- seperators.max_by{|k,v| v}[0]
15
- end
16
-
17
11
  def process_data(data = @data)
18
12
  CSV.parse(data, headers: @headers, col_sep: col_seperator, skip_blanks: true) do |row|
19
13
  setup_columns(row.to_h.keys) if @row_number == 0
@@ -51,16 +45,13 @@ module Scaffolding
51
45
  def scaffold_rank
52
46
  puts "\n\e[33mManually choose data types?(y/n)\e[0m"
53
47
  @manual = STDIN.gets.chomp
54
-
55
48
  @scaffolding.each do |scaffold, data_types|
56
49
  data_type = data_types.max_by{|k,v| v}[0]
57
-
58
50
  if @manual == "y"
59
51
  puts "\n\e[32m#{scaffold}\e[0m is a \e[33m#{data_type}\e[0m? (y/string/integer/date ect)"
60
52
  answer = STDIN.gets.chomp
61
53
  data_type = answer unless answer == "y"
62
54
  end
63
-
64
55
  @scaffolding[scaffold] = data_type
65
56
  end
66
57
  end
@@ -3,9 +3,11 @@ require 'rails'
3
3
 
4
4
  module Scaffolding
5
5
  class Generators < Rails::Railtie
6
- rake_tasks do
7
- # load "../scaffolding/lib/scaffolding/tasks/generators.rake"
8
- load "tasks/generators.rake"
6
+ # rake_tasks do
7
+ # load "tasks/generators.rake"
8
+ # end
9
+ generators do
10
+ require "generators/scaffolding_generator.rb"
9
11
  end
10
12
  end
11
13
  end
@@ -1,3 +1,3 @@
1
1
  module Scaffolding
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7"
3
3
  end
@@ -16,7 +16,6 @@ namespace :g do
16
16
  end
17
17
 
18
18
  results = Scaffolding.generate(file)
19
-
20
19
  if results.kind_of?(Array)
21
20
  results.each do |error|
22
21
  puts "\e[31m#{error}\e[0m"
@@ -25,23 +24,18 @@ namespace :g do
25
24
  next
26
25
  end
27
26
 
28
- puts "\n\n\n\e[32mWould you like to generate the scaffold now?(y/n)\e[0m"
27
+ Rails::Generators::Base.new.generate "scaffold", results
28
+
29
+ puts "\n\n\e[32mMigrate the database?(y/n)\e[0m\n"
29
30
  if STDIN.gets.chomp == "y"
30
- Rails::Generators::Base.new.generate "scaffold", results
31
+ Rake::Task["db:migrate"].invoke
31
32
 
32
- puts "\n\n\e[32mMigrate the database?(y/n)\e[0m\n"
33
+ puts "\n\n\e[32mImport the data from #{file}?(y/n)\e[0m\n"
33
34
  if STDIN.gets.chomp == "y"
34
- Rake::Task["db:migrate"].invoke
35
-
36
- puts "\n\n\e[32mImport the data from #{file}?(y/n)\e[0m\n"
37
- if STDIN.gets.chomp == "y"
38
- Scaffolding.import_data(file)
39
-
35
+ Scaffolding.import_data(file).each do |k,v|
36
+ puts "#{v} records #{k}"
40
37
  end
41
38
  end
42
- else
43
- puts "Heres the code:"
44
- puts "rails g scaffold" + results.to_s
45
39
  end
46
40
  end
47
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scaffolding
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan-deJong
@@ -53,6 +53,7 @@ files:
53
53
  - Rakefile
54
54
  - bin/console
55
55
  - bin/setup
56
+ - lib/generators/scaffolding_generator.rb
56
57
  - lib/scaffolding.rb
57
58
  - lib/scaffolding/parser/base.rb
58
59
  - lib/scaffolding/parser/csv.rb