jetski 0.5.0 → 0.5.1
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
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 379b8219a8a65aa4a07b17ef210e08720cd33f0ca3b9ed3e3f4ee5914938356f
|
|
4
|
+
data.tar.gz: ae5c016bd63e59a254b29b4838ca77632defcde52deb2591eef2bd5a8ad22e53
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 18da88c42d2dde4267c0a6ae34bea5629c22ae2c3000517d916aaa89ba95b6a3aee172ffa9b10ed348ba41a4ad99730d2178f4bb2c20db546853b41891d3ac93
|
|
7
|
+
data.tar.gz: bbbc7b454c650db5afbc5ec29ecd53dbb7ca8bd86ba90a5d2068fc95d5f175f0007cd6c0e5c36945f5bc89b6cfd1ab5f10f173c076346dece3a466b9d0bbd3bc
|
|
@@ -3,17 +3,11 @@ module JetskiCLIHelpers
|
|
|
3
3
|
desc "migrate", "Create, load, and patch DB from models"
|
|
4
4
|
def migrate
|
|
5
5
|
Jetski::Autoloader.call
|
|
6
|
-
# Get all models defined in users app
|
|
7
6
|
Jetski::Model.subclasses.each do |model|
|
|
8
7
|
table_name = model.pluralized_table_name
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
model.db_attribute_values.each do |obj|
|
|
13
|
-
name = obj[:name]
|
|
14
|
-
type = obj[:type]
|
|
15
|
-
add_column_unless_exists(table_name, name, type)
|
|
16
|
-
end
|
|
8
|
+
create_table_unless_exists(table_name)
|
|
9
|
+
model.db_attribute_values
|
|
10
|
+
.each { |obj| add_column_unless_exists(table_name, obj[:name], obj[:type]) }
|
|
17
11
|
end
|
|
18
12
|
end
|
|
19
13
|
|
|
@@ -13,17 +13,12 @@ module JetskiCLIHelpers
|
|
|
13
13
|
@field_names = field_names
|
|
14
14
|
@actions = actions
|
|
15
15
|
|
|
16
|
-
# Create controller from template
|
|
17
16
|
template "controllers/controller.rb.erb", controller_file_path
|
|
18
17
|
|
|
19
18
|
actions.each do |action_name|
|
|
20
|
-
# create views
|
|
21
19
|
if !["create", "create", "update", "destroy"].include?(action_name)
|
|
22
20
|
empty_directory("app/views/#{@controller_name}")
|
|
23
|
-
|
|
24
|
-
# For new, show, edit, index actions
|
|
25
21
|
@path_to_view = "app/views/#{@controller_name}/#{action_name}.html.erb"
|
|
26
|
-
|
|
27
22
|
template_name = if ["new", "show", "edit", "index"].include?(action_name)
|
|
28
23
|
action_name
|
|
29
24
|
else
|
|
@@ -2,11 +2,7 @@ module JetskiCLIHelpers
|
|
|
2
2
|
module Generators
|
|
3
3
|
module Model
|
|
4
4
|
def generate_model(name, *field_names)
|
|
5
|
-
# TODO: Instead of creating table here we should have a db:migrate method
|
|
6
|
-
# this will automatically build and patch db tables. Add/remove columns
|
|
7
|
-
#db.execute create_table_sql(table_name: name, field_names: field_names)
|
|
8
5
|
@model_name = name
|
|
9
|
-
|
|
10
6
|
|
|
11
7
|
if field_names
|
|
12
8
|
@model_attributes = []
|
|
@@ -4,16 +4,18 @@ class Jetski
|
|
|
4
4
|
module Database
|
|
5
5
|
module Interface
|
|
6
6
|
extend self
|
|
7
|
-
|
|
8
|
-
# expects an array of fields with type seperated by colon :
|
|
9
7
|
def create_table(table_name, *fields)
|
|
10
8
|
db.execute create_table_sql(table_name: table_name, field_names: fields)
|
|
11
9
|
end
|
|
12
|
-
|
|
10
|
+
|
|
13
11
|
def add_column(table_name, field_name, data_type = "string")
|
|
14
12
|
db.execute("ALTER TABLE #{table_name} ADD #{field_name} #{sql_data_type(data_type)}")
|
|
15
13
|
end
|
|
16
14
|
|
|
15
|
+
def create_table_unless_exists(table_name, *fields)
|
|
16
|
+
create_table(table_name, *fields) if !table_exists?(table_name)
|
|
17
|
+
end
|
|
18
|
+
|
|
17
19
|
def add_column_unless_exists(table_name, field_name, data_type = nil)
|
|
18
20
|
add_column(table_name, field_name, data_type) if !field_exists?(table_name, field_name)
|
|
19
21
|
end
|
|
@@ -24,7 +26,7 @@ class Jetski
|
|
|
24
26
|
|
|
25
27
|
def field_exists?(table_name, field_name)
|
|
26
28
|
table_info = db.execute("PRAGMA table_info(#{table_name})")
|
|
27
|
-
table_info.find { |d| d[1] == field_name } != nil
|
|
29
|
+
table_info.find { |d| d[1] == field_name.to_s } != nil
|
|
28
30
|
end
|
|
29
31
|
end
|
|
30
32
|
end
|
data/lib/jetski/version.rb
CHANGED