schema_to_scaffold 0.5.4 → 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 +4 -4
- data/.ruby-version +1 -0
- data/bin/scaffold +7 -7
- data/lib/schema_to_scaffold/attribute.rb +4 -2
- data/lib/schema_to_scaffold/table.rb +10 -3
- data/lib/schema_to_scaffold/version.rb +2 -2
- data/schema_to_scaffold.gemspec +4 -3
- metadata +29 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d217eae1d1216171c48d2a9e4f81e745e97904fd
|
4
|
+
data.tar.gz: 31cd5d0289dca2e3cea82cd8ed0f355b44bcb393
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93dba12cbf032ef667a8d75b69a85484cf98eddc38b4dd64ca6df4750f9b8325663d78e864a2223e79141d5c62d59573ec41414b47f7a6b0589d6eed98a72baf
|
7
|
+
data.tar.gz: 701b55eec70e9c4be75aa6630030fe4c00282d2a785a9d5b2f829141b557d53b36c771a13214f139bd506a56e4937c933f767a4b67393af30bd37957b4608070
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.1@schema-to-scaffold
|
data/bin/scaffold
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift File.expand_path('../lib', File.dirname(__FILE__))
|
3
3
|
require 'schema_to_scaffold'
|
4
|
-
|
4
|
+
require 'pry'
|
5
5
|
## Argument conditions
|
6
6
|
|
7
7
|
opts = SchemaToScaffold.parse_arguments(ARGV)
|
@@ -34,18 +34,18 @@ begin
|
|
34
34
|
puts "\nLoaded tables:"
|
35
35
|
schema.table_names.each_with_index {|name,i| puts "#{i}. #{name}" }
|
36
36
|
|
37
|
-
puts "
|
38
|
-
|
37
|
+
puts "* for all Tables; (4..6) for tables from 4 to 6; [4,6] for tables 4 and 6"
|
38
|
+
|
39
39
|
print "\nSelect a table: "
|
40
|
-
|
40
|
+
|
41
41
|
rescue
|
42
42
|
puts "Could not find tables in '#{path}'"
|
43
43
|
exit 1
|
44
|
-
end
|
44
|
+
end
|
45
45
|
|
46
46
|
result = gets.strip
|
47
|
-
|
48
|
-
if result == "*"
|
47
|
+
binding.pry
|
48
|
+
if result[0] == "*"
|
49
49
|
tables = (0..schema.table_names.count-1).map{|i|i}
|
50
50
|
else
|
51
51
|
tables = [result.to_i]
|
@@ -3,7 +3,7 @@ module SchemaToScaffold
|
|
3
3
|
|
4
4
|
attr_reader :name, :type
|
5
5
|
|
6
|
-
def initialize(
|
6
|
+
def initialize(name, type)
|
7
7
|
@name, @type = name, type
|
8
8
|
end
|
9
9
|
|
@@ -14,7 +14,9 @@ module SchemaToScaffold
|
|
14
14
|
def self.parse(attribute)
|
15
15
|
match = attribute.match(/t\.(\w+)\s+"(\w+)"/)
|
16
16
|
if match
|
17
|
-
|
17
|
+
name = match.captures[1].sub(/_id$/,'')
|
18
|
+
type = $&.nil? ? match.captures[0] : "references"
|
19
|
+
Attribute.new(name,type)
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
@@ -11,8 +11,15 @@ module SchemaToScaffold
|
|
11
11
|
@name, @attributes = name, attributes
|
12
12
|
end
|
13
13
|
|
14
|
-
def to_script(target,migragion_flag)
|
15
|
-
|
14
|
+
def to_script(target, migragion_flag)
|
15
|
+
begin
|
16
|
+
attributes_list = attributes.map(&:to_script).reject { |x| x.nil? || x.empty? }.join(' ')
|
17
|
+
rescue Exception => e
|
18
|
+
puts "\n ---------------------------------------------"
|
19
|
+
puts e.message
|
20
|
+
puts "Table \n\n\n #{self.inspect} \n\n\n"
|
21
|
+
puts "\n ---------------------------------------------"
|
22
|
+
end
|
16
23
|
script = []
|
17
24
|
script << "rails generate #{target} #{modelize name} #{attributes_list}"
|
18
25
|
script << " --no-migration" unless migragion_flag
|
@@ -23,7 +30,7 @@ module SchemaToScaffold
|
|
23
30
|
def self.parse(table_data)
|
24
31
|
return unless name = table_data[/table "([^"]+?)"/]
|
25
32
|
name = $1
|
26
|
-
atts = table_data.lines.to_a.select {|line| line =~ /t\.\w+/ }.map {|att| Attribute.parse att }
|
33
|
+
atts = table_data.lines.to_a.select { |line| line =~ /t\.\w+/ }.map { |att| Attribute.parse att }
|
27
34
|
Table.new(name, atts)
|
28
35
|
end
|
29
36
|
|
data/schema_to_scaffold.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'schema_to_scaffold/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = "schema_to_scaffold"
|
8
8
|
gem.version = SchemaToScaffold::VERSION
|
9
|
-
gem.authors = ["João Soares", "Humberto Pinto"]
|
10
|
-
gem.email = ["jsoaresgeral@gmail.com", "hlsp999@gmail.com"]
|
9
|
+
gem.authors = ["João Soares", "Humberto Pinto"]
|
10
|
+
gem.email = ["jsoaresgeral@gmail.com", "hlsp999@gmail.com"]
|
11
11
|
gem.description = <<-EOD
|
12
12
|
Command line app which parses a schema.rb file obtained from your rails repo or by running rake:schema:dump
|
13
13
|
EOD
|
@@ -20,5 +20,6 @@ EOD
|
|
20
20
|
gem.post_install_message = "Thanks for installing!"
|
21
21
|
gem.licenses = ['MIT']
|
22
22
|
|
23
|
-
gem.add_dependency('activesupport', '>= 3.2.1')
|
23
|
+
gem.add_dependency('activesupport', '~> 3.2', '>= 3.2.1')
|
24
|
+
gem.add_development_dependency('pry', '~> 0.10', '>= 0.10.0')
|
24
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_to_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- João Soares
|
@@ -9,12 +9,15 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '3.2'
|
18
21
|
- - ">="
|
19
22
|
- !ruby/object:Gem::Version
|
20
23
|
version: 3.2.1
|
@@ -22,9 +25,32 @@ dependencies:
|
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
28
|
+
- - "~>"
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '3.2'
|
25
31
|
- - ">="
|
26
32
|
- !ruby/object:Gem::Version
|
27
33
|
version: 3.2.1
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: pry
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.10'
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.10.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0.10'
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.10.0
|
28
54
|
description: |2
|
29
55
|
Command line app which parses a schema.rb file obtained from your rails repo or by running rake:schema:dump
|
30
56
|
email:
|
@@ -36,6 +62,7 @@ extensions: []
|
|
36
62
|
extra_rdoc_files: []
|
37
63
|
files:
|
38
64
|
- ".gitignore"
|
65
|
+
- ".ruby-version"
|
39
66
|
- Gemfile
|
40
67
|
- LICENSE.txt
|
41
68
|
- README.md
|