schema_to_scaffold 0.3.2 → 0.4.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.
- data/README.md +7 -1
- data/bin/scaffold +8 -3
- data/lib/schema_to_scaffold.rb +2 -2
- data/lib/schema_to_scaffold/attribute.rb +2 -0
- data/lib/schema_to_scaffold/path.rb +1 -1
- data/lib/schema_to_scaffold/table.rb +2 -2
- data/lib/schema_to_scaffold/version.rb +2 -2
- metadata +3 -4
data/README.md
CHANGED
@@ -2,7 +2,13 @@
|
|
2
2
|
|
3
3
|
[](https://codeclimate.com/github/frenesim/schema_to_scaffold)
|
4
4
|
|
5
|
-
Generate rails
|
5
|
+
Generate rails commands strings based on a rails database schema you already have.
|
6
|
+
Commands available are:
|
7
|
+
-rails generate scaffold
|
8
|
+
-rails generate factory_girl:model
|
9
|
+
|
10
|
+
Important:
|
11
|
+
This gem will not run code for you. It will only generate a string for you to copy and paste
|
6
12
|
|
7
13
|
Use your schema.rb file from `<rails_app>/db` or generated with `rake db:schema:dump`
|
8
14
|
You can rename schema.rb to schema_your_fav_name.rb that I will find it to. This will prevent schema.rb from being
|
data/bin/scaffold
CHANGED
@@ -29,7 +29,7 @@ rescue
|
|
29
29
|
exit 1
|
30
30
|
end
|
31
31
|
|
32
|
-
## Generate
|
32
|
+
## Generate scripts from schema
|
33
33
|
|
34
34
|
schema = SchemaToScaffold::Schema.new(data)
|
35
35
|
|
@@ -45,8 +45,13 @@ rescue
|
|
45
45
|
exit 1
|
46
46
|
end while schema.table_names[(table_id = gets.to_i)].nil?
|
47
47
|
|
48
|
-
|
49
|
-
puts "\n#{
|
48
|
+
script_scaffold = SchemaToScaffold.generate_script_scaffold(schema, table_id,"scaffold")
|
49
|
+
puts "\nScript for rails scaffold\n#{script_scaffold}"
|
50
|
+
|
51
|
+
script_factory_girl = SchemaToScaffold.generate_script_scaffold(schema, table_id,"factory_girl:model")
|
52
|
+
puts "\nScript for factory girl\n#{script_factory_girl}"
|
53
|
+
|
54
|
+
|
50
55
|
if opts[:xclip]
|
51
56
|
puts("\n(copied to your clipboard)")
|
52
57
|
exec("echo '#{script}' | xclip -selection c")
|
data/lib/schema_to_scaffold.rb
CHANGED
@@ -73,9 +73,9 @@ LINUX_SAMPLE
|
|
73
73
|
##
|
74
74
|
# Generates the rails scaffold script
|
75
75
|
|
76
|
-
def self.
|
76
|
+
def self.generate_script_scaffold(schema, table=nil,target)
|
77
77
|
schema = Schema.new(schema) unless schema.is_a? Schema
|
78
78
|
return schema.to_script if table.nil?
|
79
|
-
schema.table(table).to_script
|
79
|
+
schema.table(table).to_script target
|
80
80
|
end
|
81
81
|
end
|
@@ -15,7 +15,7 @@ module SchemaToScaffold
|
|
15
15
|
# Validate if a given path leads to a directory
|
16
16
|
def check_directory
|
17
17
|
unless File.directory?(@search_path)
|
18
|
-
puts "\nSorry #{@search_path} is not a valid directory
|
18
|
+
puts "\nSorry #{@search_path} is not a valid directory!\nHere is an example:\nscaffold -p /home/foo/bar"
|
19
19
|
exit
|
20
20
|
end
|
21
21
|
puts "\nLooking for schema.rb in #{@search_path}"
|
@@ -10,8 +10,8 @@ module SchemaToScaffold
|
|
10
10
|
@name, @attributes = name, attributes
|
11
11
|
end
|
12
12
|
|
13
|
-
def to_script
|
14
|
-
"rails
|
13
|
+
def to_script(target)
|
14
|
+
"rails generate #{target} #{name} #{attributes.map(&:to_script).join(' ')}"
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.parse(table_data)
|
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.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-05-17 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: ! ' Command line app which parses a schema.rb file obtained from your
|
16
16
|
rails repo or by running rake:schema:dump
|
@@ -58,9 +58,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
58
58
|
version: '0'
|
59
59
|
requirements: []
|
60
60
|
rubyforge_project:
|
61
|
-
rubygems_version: 1.8.
|
61
|
+
rubygems_version: 1.8.24
|
62
62
|
signing_key:
|
63
63
|
specification_version: 3
|
64
64
|
summary: Generate rails scaffold script from a schema.rb file.
|
65
65
|
test_files: []
|
66
|
-
has_rdoc:
|