jetski 0.4.5 → 0.4.6
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 +4 -4
- data/lib/jetski/base_controller.rb +6 -0
- data/lib/jetski/helpers/view_helpers.rb +4 -2
- data/lib/jetski/model.rb +11 -1
- data/lib/jetski/version.rb +1 -1
- data/lib/jetski/view_renderer.rb +12 -4
- data/lib/jetski.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 419176ab6c0bac6515d1f7f6136cd0ff800bad44fa34e41d882ef2bb6c59f46c
|
|
4
|
+
data.tar.gz: a349cc717aab7101fea571ad0a12eeadc618a5136103ef388875b4ef2ca806f4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eb5520b371047a616aecdd8b341ee17a4b1a7ac4349164639ce8024f7a485b79a51c75035a703ccba0e036c957ad16bdf2f8a12d13eea2e9366f9473c9674bfa
|
|
7
|
+
data.tar.gz: 39643ec6fe8aa41363df7d1c3e627cc7aeb3e62a3ed2cbf3ba8d3ff94f19ed149d9d7ba8e5dedea245a2ad91b25fdce4d0a0e5c25dac73d99c86c48d35372fd1
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# This is the base controller of the library
|
|
2
2
|
module Jetski
|
|
3
3
|
class BaseController
|
|
4
|
+
RESERVED_INSTANCE_VARIABLES = [
|
|
5
|
+
:@res, :@performed_render, :@action_name,
|
|
6
|
+
:@controller_name, :@controller_path, :@cookies, :@root,
|
|
7
|
+
:@request_method, :@path
|
|
8
|
+
]
|
|
9
|
+
|
|
4
10
|
include ReactiveForm
|
|
5
11
|
attr_accessor :action_name, :controller_name, :controller_path,
|
|
6
12
|
:params, :cookies
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
module Jetski
|
|
2
2
|
module Helpers
|
|
3
3
|
module ViewHelpers
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
# Expecting a relative path.
|
|
5
|
+
def render(partial_path)
|
|
6
|
+
path_to_file = File.join(Jetski.app_root, 'app/views', path_to_controller, "_#{partial_path}.html.erb")
|
|
7
|
+
File.read(path_to_file)
|
|
6
8
|
end
|
|
7
9
|
end
|
|
8
10
|
end
|
data/lib/jetski/model.rb
CHANGED
|
@@ -32,6 +32,15 @@ module Jetski
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
def destroy!
|
|
36
|
+
# Destroy record: remove from db
|
|
37
|
+
delete_sql = <<~SQL
|
|
38
|
+
DELETE from #{self.class.pluralized_table_name} WHERE id=?
|
|
39
|
+
SQL
|
|
40
|
+
self.class.db.execute(delete_sql, id)
|
|
41
|
+
nil
|
|
42
|
+
end
|
|
43
|
+
|
|
35
44
|
class << self
|
|
36
45
|
def create(**args)
|
|
37
46
|
return puts "#{table_name.capitalize}.create was called with no args" if args.size == 0
|
|
@@ -90,7 +99,7 @@ module Jetski
|
|
|
90
99
|
def first
|
|
91
100
|
format_model_obj(pluck_rows.first)
|
|
92
101
|
end
|
|
93
|
-
|
|
102
|
+
|
|
94
103
|
def table_name
|
|
95
104
|
self.to_s.downcase
|
|
96
105
|
end
|
|
@@ -103,6 +112,7 @@ module Jetski
|
|
|
103
112
|
end
|
|
104
113
|
end
|
|
105
114
|
|
|
115
|
+
private
|
|
106
116
|
def format_model_obj(row, columns = nil)
|
|
107
117
|
return unless row
|
|
108
118
|
columns ||= attributes
|
data/lib/jetski/version.rb
CHANGED
data/lib/jetski/view_renderer.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Jetski
|
|
2
2
|
class ViewRenderer
|
|
3
|
-
extend Jetski::Helpers::Delegatable
|
|
4
3
|
include Jetski::Helpers::ViewHelpers
|
|
4
|
+
extend Jetski::Helpers::Delegatable
|
|
5
5
|
|
|
6
6
|
attr_reader :errors, :controller
|
|
7
7
|
delegate :res, :action_name, :controller_path, to: :controller
|
|
@@ -33,14 +33,22 @@ module Jetski
|
|
|
33
33
|
template = ERB.new(content)
|
|
34
34
|
# Perserve instance variables to view render
|
|
35
35
|
# @posts from controller to posts/index.html.erb
|
|
36
|
-
controller.
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
# controller.class.class_eval problem is you still have render defined there
|
|
37
|
+
grab_instance_variables
|
|
38
|
+
template.result(binding)
|
|
39
39
|
rescue => e
|
|
40
40
|
@errors << e
|
|
41
41
|
nil
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
+
def grab_instance_variables
|
|
45
|
+
variables_from_controller = controller.instance_variables.filter { |var| !Jetski::BaseController::RESERVED_INSTANCE_VARIABLES.include?(var) }
|
|
46
|
+
variables_from_controller.each do |inst_var|
|
|
47
|
+
value = controller.instance_variable_get(inst_var)
|
|
48
|
+
instance_variable_set(inst_var, value)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
44
52
|
def content_for_head
|
|
45
53
|
_content_for_head = ''
|
|
46
54
|
|
data/lib/jetski.rb
CHANGED
|
@@ -7,6 +7,7 @@ require "sqlite3"
|
|
|
7
7
|
|
|
8
8
|
require_relative './jetski/version'
|
|
9
9
|
require_relative './jetski/frontend/reactive_form'
|
|
10
|
+
require_relative './jetski/helpers/view_helpers'
|
|
10
11
|
require_relative './jetski/base_controller'
|
|
11
12
|
require_relative './jetski/router/shared_methods'
|
|
12
13
|
require_relative './jetski/router/parser'
|
|
@@ -16,7 +17,6 @@ require_relative './jetski/server'
|
|
|
16
17
|
require_relative './jetski/database/base'
|
|
17
18
|
require_relative './jetski/model'
|
|
18
19
|
require_relative './jetski/helpers/delegatable'
|
|
19
|
-
require_relative './jetski/helpers/view_helpers'
|
|
20
20
|
require_relative './jetski/view_renderer'
|
|
21
21
|
|
|
22
22
|
module Jetski
|