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: 0fba85e1a50746a7e376738a0ec5648ce22edcc7874ea0d9ee9b3be681d7364d
4
- data.tar.gz: b3ac634c65fd946fb1dc43c62702b620b46dd17e1369ef0716eedfa6885e373d
3
+ metadata.gz: 379b8219a8a65aa4a07b17ef210e08720cd33f0ca3b9ed3e3f4ee5914938356f
4
+ data.tar.gz: ae5c016bd63e59a254b29b4838ca77632defcde52deb2591eef2bd5a8ad22e53
5
5
  SHA512:
6
- metadata.gz: 9740af48073b1a0c8c069d834e2da63c7b351b5a84c5c77502348854c1164105a1002282c8036fa2eaa040cbf085b9e8e8a1ffb98c4b16a87208ca33dccd544c
7
- data.tar.gz: cc288a4e32d8dff6c78c14baad4fb317049b2329d30a05bb3132ad1e054db0bf7a0924fec502720b7ae80a7e99d047ee2c364f1e1c5327d81244ddbb2734c6e1
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
- # Create table if it doesnt exist
10
- create_table(table_name) if !table_exists?(table_name)
11
- # Get model attributes
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
@@ -1,3 +1,3 @@
1
1
  class Jetski
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jetski
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Indigo Tech Tutorials