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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c4ab12bf10647eac270eef9229acc37da532700
4
- data.tar.gz: 775f0bc019411b8f059d393b1b681a3f119ff5ee
3
+ metadata.gz: d217eae1d1216171c48d2a9e4f81e745e97904fd
4
+ data.tar.gz: 31cd5d0289dca2e3cea82cd8ed0f355b44bcb393
5
5
  SHA512:
6
- metadata.gz: f4209ca1f1e4024f109eb6a74e35696e1bcff588e872a7319f277e2936105ad6d20c5404b52fdfdda3d05918e07442264f392b70ee46f0b52968109515756b81
7
- data.tar.gz: 6e571968dc7e511fd814400e27d0bb9c19472f80c112230937696014ff06599ad667f7fe79be0fc7eabef25ddf70a0084c554dd9fc00672da174ce41f773ac0d
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 "\n*. All Tables"
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(type, name)
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
- Attribute.new(*match.captures)
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
- attributes_list = attributes.map(&:to_script).reject{|x| x.nil? || x.empty?}.join(' ')
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
 
@@ -1,6 +1,6 @@
1
1
  module SchemaToScaffold
2
2
  MAJOR = 0
3
- MINOR = 5
4
- REVISION = 4
3
+ MINOR = 6
4
+ REVISION = 0
5
5
  VERSION = [MAJOR, MINOR, REVISION].join('.')
6
6
  end
@@ -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.5.4
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-09-12 00:00:00.000000000 Z
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