schema_to_scaffold 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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