phlex 0.5.3 → 1.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of phlex might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +2 -20
- data/config/sus.rb +0 -5
- data/lib/phlex/buffered.rb +2 -0
- data/lib/phlex/collection.rb +2 -0
- data/lib/phlex/elements.rb +1 -5
- data/lib/phlex/experimental.rb +10 -0
- data/lib/phlex/helpers.rb +23 -10
- data/lib/phlex/html.rb +72 -86
- data/lib/phlex/table.rb +1 -0
- data/lib/phlex/turbo/frame.rb +2 -0
- data/lib/phlex/turbo/stream.rb +2 -0
- data/lib/phlex/version.rb +1 -1
- data/lib/phlex.rb +2 -19
- metadata +6 -166
- data/Procfile.dev +0 -3
- data/Rakefile +0 -8
- data/config.ru +0 -9
- data/docs/assets/application.css +0 -32
- data/docs/assets/logo.png +0 -0
- data/docs/build.rb +0 -30
- data/docs/components/callout.rb +0 -9
- data/docs/components/code_block.rb +0 -26
- data/docs/components/code_span.rb +0 -9
- data/docs/components/example.rb +0 -32
- data/docs/components/heading.rb +0 -9
- data/docs/components/layout.rb +0 -91
- data/docs/components/markdown.rb +0 -25
- data/docs/components/nav/item.rb +0 -33
- data/docs/components/nav.rb +0 -6
- data/docs/components/tabs/tab.rb +0 -28
- data/docs/components/tabs.rb +0 -30
- data/docs/components/title.rb +0 -9
- data/docs/page_builder.rb +0 -39
- data/docs/pages/application_page.rb +0 -7
- data/docs/pages/helpers.rb +0 -97
- data/docs/pages/index.rb +0 -27
- data/docs/pages/library/collections.rb +0 -83
- data/docs/pages/rails/getting_started.rb +0 -57
- data/docs/pages/rails/helpers.rb +0 -55
- data/docs/pages/rails/layouts.rb +0 -61
- data/docs/pages/rails/migrating.rb +0 -37
- data/docs/pages/rails/rendering_views.rb +0 -35
- data/docs/pages/rails_integration.rb +0 -58
- data/docs/pages/templates.rb +0 -144
- data/docs/pages/testing/capybara.rb +0 -48
- data/docs/pages/testing/getting_started.rb +0 -44
- data/docs/pages/testing/nokogiri.rb +0 -83
- data/docs/pages/testing/rails.rb +0 -17
- data/docs/pages/translations.rb +0 -81
- data/docs/pages/views.rb +0 -184
- data/fixtures/compiler_test_helpers.rb +0 -19
- data/fixtures/content.rb +0 -60
- data/fixtures/dummy/app/assets/config/manifest.js +0 -0
- data/fixtures/dummy/app/components/comment_component.html.erb +0 -14
- data/fixtures/dummy/app/components/comment_component.rb +0 -8
- data/fixtures/dummy/app/components/reaction_component.html.erb +0 -3
- data/fixtures/dummy/app/components/reaction_component.rb +0 -7
- data/fixtures/dummy/app/controllers/articles_controller.rb +0 -4
- data/fixtures/dummy/app/controllers/comments_controller.rb +0 -4
- data/fixtures/dummy/app/views/application_view.rb +0 -8
- data/fixtures/dummy/app/views/articles/form.rb +0 -15
- data/fixtures/dummy/app/views/articles/index.html.erb +0 -14
- data/fixtures/dummy/app/views/articles/new.html.erb +0 -1
- data/fixtures/dummy/app/views/card.rb +0 -15
- data/fixtures/dummy/app/views/comments/comment.rb +0 -25
- data/fixtures/dummy/app/views/comments/index.html.erb +0 -3
- data/fixtures/dummy/app/views/comments/reaction.rb +0 -17
- data/fixtures/dummy/app/views/comments/show.html.erb +0 -3
- data/fixtures/dummy/app/views/heading.rb +0 -9
- data/fixtures/dummy/config/database.yml +0 -3
- data/fixtures/dummy/config/routes.rb +0 -5
- data/fixtures/dummy/config/storage.yml +0 -3
- data/fixtures/dummy/db/schema.rb +0 -6
- data/fixtures/dummy/log/.gitignore +0 -1
- data/fixtures/dummy/public/favicon.ico +0 -0
- data/fixtures/rails_helper.rb +0 -11
- data/fixtures/standard_element.rb +0 -87
- data/fixtures/void_element.rb +0 -31
- data/lib/generators/phlex/collection/USAGE +0 -8
- data/lib/generators/phlex/collection/collection_generator.rb +0 -13
- data/lib/generators/phlex/collection/templates/collection.rb.erb +0 -16
- data/lib/generators/phlex/controller/USAGE +0 -10
- data/lib/generators/phlex/controller/controller_generator.rb +0 -54
- data/lib/generators/phlex/controller/templates/controller.rb.erb +0 -10
- data/lib/generators/phlex/controller/templates/view.rb.erb +0 -14
- data/lib/generators/phlex/layout/USAGE +0 -8
- data/lib/generators/phlex/layout/layout_generator.rb +0 -13
- data/lib/generators/phlex/layout/templates/layout.rb.erb +0 -31
- data/lib/generators/phlex/page/USAGE +0 -8
- data/lib/generators/phlex/page/page_generator.rb +0 -13
- data/lib/generators/phlex/page/templates/page.rb.erb +0 -13
- data/lib/generators/phlex/table/USAGE +0 -8
- data/lib/generators/phlex/table/table_generator.rb +0 -14
- data/lib/generators/phlex/table/templates/table.rb.erb +0 -11
- data/lib/generators/phlex/view/USAGE +0 -8
- data/lib/generators/phlex/view/templates/view.rb.erb +0 -14
- data/lib/generators/phlex/view/view_generator.rb +0 -21
- data/lib/install/phlex.rb +0 -39
- data/lib/phlex/block.rb +0 -16
- data/lib/phlex/compiler/elements.rb +0 -49
- data/lib/phlex/compiler/formatter.rb +0 -91
- data/lib/phlex/compiler/generators/content.rb +0 -103
- data/lib/phlex/compiler/generators/element.rb +0 -61
- data/lib/phlex/compiler/nodes/base.rb +0 -19
- data/lib/phlex/compiler/nodes/call.rb +0 -9
- data/lib/phlex/compiler/nodes/command.rb +0 -13
- data/lib/phlex/compiler/nodes/fcall.rb +0 -18
- data/lib/phlex/compiler/nodes/method_add_block.rb +0 -33
- data/lib/phlex/compiler/nodes/vcall.rb +0 -9
- data/lib/phlex/compiler/optimizer.rb +0 -66
- data/lib/phlex/compiler/visitors/base.rb +0 -15
- data/lib/phlex/compiler/visitors/file.rb +0 -29
- data/lib/phlex/compiler/visitors/stable_scope.rb +0 -28
- data/lib/phlex/compiler/visitors/statements.rb +0 -36
- data/lib/phlex/compiler/visitors/view.rb +0 -19
- data/lib/phlex/compiler/visitors/view_method.rb +0 -59
- data/lib/phlex/compiler.rb +0 -70
- data/lib/phlex/html/callbacks.rb +0 -11
- data/lib/phlex/markdown.rb +0 -76
- data/lib/phlex/rails/engine.rb +0 -10
- data/lib/phlex/rails/form.rb +0 -67
- data/lib/phlex/rails/helpers.rb +0 -118
- data/lib/phlex/rails/layout.rb +0 -15
- data/lib/phlex/rails.rb +0 -11
- data/lib/phlex/renderable.rb +0 -47
- data/lib/phlex/testing/capybara.rb +0 -25
- data/lib/phlex/testing/nokogiri.rb +0 -24
- data/lib/phlex/testing/rails.rb +0 -19
- data/lib/phlex/translation.rb +0 -23
- data/lib/tasks/phlex_tasks.rake +0 -11
- data/package-lock.json +0 -1195
- data/package.json +0 -5
- data/tailwind.config.js +0 -7
data/fixtures/dummy/db/schema.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
*.log
|
File without changes
|
data/fixtures/rails_helper.rb
DELETED
@@ -1,87 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Fixtures
|
4
|
-
module StandardElement
|
5
|
-
class WithParens < Phlex::HTML
|
6
|
-
def template
|
7
|
-
h1()
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
class WithoutParens < Phlex::HTML
|
12
|
-
def template
|
13
|
-
h1
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
module WithAttributes
|
18
|
-
class WithParens < Phlex::HTML
|
19
|
-
def template
|
20
|
-
h1(class: "font-bold")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
class WithoutParens < Phlex::HTML
|
25
|
-
def template
|
26
|
-
h1 class: "font-bold"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
module WithBraceBlock
|
32
|
-
class WithParens < Phlex::HTML
|
33
|
-
def template
|
34
|
-
h1() { "Hi" }
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
class WithoutParens < Phlex::HTML
|
39
|
-
def template
|
40
|
-
h1 { "Hi" }
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
class WithAttributes < Phlex::HTML
|
45
|
-
def template
|
46
|
-
h1(class: "font-bold") { "Hi" }
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
module WithDoBlock
|
52
|
-
class WithParens < Phlex::HTML
|
53
|
-
def template
|
54
|
-
h1() do
|
55
|
-
"Hi"
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
class WithoutParens < Phlex::HTML
|
61
|
-
def template
|
62
|
-
h1 do
|
63
|
-
"Hi"
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
module WithAttributes
|
69
|
-
class WithParens < Phlex::HTML
|
70
|
-
def template
|
71
|
-
h1(class: "font-bold") do
|
72
|
-
"Hi"
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
class WithoutParens < Phlex::HTML
|
78
|
-
def template
|
79
|
-
h1 class: "font-bold" do
|
80
|
-
"Hi"
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
data/fixtures/void_element.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Fixtures
|
4
|
-
module VoidElement
|
5
|
-
class WithParens < Phlex::HTML
|
6
|
-
def template
|
7
|
-
img()
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
class WithoutParens < Phlex::HTML
|
12
|
-
def template
|
13
|
-
img
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
module WithAttributes
|
18
|
-
class WithParens < Phlex::HTML
|
19
|
-
def template
|
20
|
-
img(class: "a b c")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
class WithoutParens < Phlex::HTML
|
25
|
-
def template
|
26
|
-
img class: "a b c"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
module Generators
|
5
|
-
class CollectionGenerator < ::Rails::Generators::NamedBase
|
6
|
-
source_root File.expand_path("templates", __dir__)
|
7
|
-
|
8
|
-
def create_view
|
9
|
-
template "collection.rb.erb", File.join("app/views", class_path, "#{file_name}.rb")
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
<% module_namespacing do -%>
|
2
|
-
module Views
|
3
|
-
class <%= class_name %> < Phlex::HTML
|
4
|
-
include ApplicationView
|
5
|
-
include Phlex::Collection
|
6
|
-
|
7
|
-
def collection_template(&)
|
8
|
-
ul(&)
|
9
|
-
end
|
10
|
-
|
11
|
-
def item_template
|
12
|
-
li { @item }
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
<% end %>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
Description:
|
2
|
-
Generates a Rails controller with Phlex views for the supplied actions
|
3
|
-
|
4
|
-
Example:
|
5
|
-
rails generate phlex:controller Articles index show
|
6
|
-
|
7
|
-
This will create:
|
8
|
-
app/controllers/articles_controller.rb
|
9
|
-
app/views/articles/index.rb
|
10
|
-
app/views/articles/show.rb
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
module Generators
|
5
|
-
class ControllerGenerator < ::Rails::Generators::NamedBase # :nodoc:
|
6
|
-
source_root File.expand_path("templates", __dir__)
|
7
|
-
|
8
|
-
argument :actions, type: :array, default: [], banner: "action action"
|
9
|
-
class_option :skip_routes, type: :boolean, desc: "Don't add routes to config/routes.rb."
|
10
|
-
class_option :parent, type: :string, default: "ApplicationController", desc: "The parent class for the generated controller"
|
11
|
-
|
12
|
-
check_class_collision suffix: "Controller"
|
13
|
-
|
14
|
-
def create_controller_files
|
15
|
-
template "controller.rb.erb", File.join("app/controllers", class_path, "#{file_name}_controller.rb")
|
16
|
-
end
|
17
|
-
|
18
|
-
def copy_view_files
|
19
|
-
base_path = File.join("app/views", class_path, file_name)
|
20
|
-
empty_directory base_path
|
21
|
-
|
22
|
-
actions.each do |action|
|
23
|
-
Rails::Generators.invoke("phlex:view", [remove_possible_suffix(name) + "/" + action])
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def add_routes
|
28
|
-
return if options[:skip_routes]
|
29
|
-
return if actions.empty?
|
30
|
-
|
31
|
-
routing_code = actions.map { |action| "get '#{file_name}/#{action}'" }.join("\n")
|
32
|
-
route routing_code, namespace: regular_class_path
|
33
|
-
end
|
34
|
-
|
35
|
-
hook_for :test_framework, as: :controller do |generator|
|
36
|
-
invoke generator, [remove_possible_suffix(name), actions]
|
37
|
-
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
def parent_class_name
|
42
|
-
options[:parent]
|
43
|
-
end
|
44
|
-
|
45
|
-
def file_name
|
46
|
-
@_file_name ||= remove_possible_suffix(super)
|
47
|
-
end
|
48
|
-
|
49
|
-
def remove_possible_suffix(name)
|
50
|
-
name.sub(/_?controller$/i, "")
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
<% module_namespacing do -%>
|
2
|
-
class <%= class_name %>Controller < <%= parent_class_name.classify %>
|
3
|
-
<% actions.each do |action| -%>
|
4
|
-
def <%= action %>
|
5
|
-
render Views::<%= class_name %>::<%= action.camelize %>.new
|
6
|
-
end
|
7
|
-
<%= "\n" unless action == actions.last -%>
|
8
|
-
<% end -%>
|
9
|
-
end
|
10
|
-
<% end -%>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<% module_namespacing do -%>
|
2
|
-
module Views
|
3
|
-
class <%= class_name %>::<%= @action.camelize %> < Phlex::HTML
|
4
|
-
include ApplicationView
|
5
|
-
|
6
|
-
def template
|
7
|
-
<%= "# " unless @has_layout %>render Layout.new(title: "<%= class_name.gsub("::", " ").titlecase %> - <%= @action.titlecase %>") do
|
8
|
-
h1 { "<%= class_name %>#<%= @action %>" }
|
9
|
-
p { "Find me in <%= @path %>" }
|
10
|
-
<%= "# " unless @has_layout %>end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
<% end %>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
module Generators
|
5
|
-
class LayoutGenerator < ::Rails::Generators::NamedBase
|
6
|
-
source_root File.expand_path("templates", __dir__)
|
7
|
-
|
8
|
-
def create_view
|
9
|
-
template "layout.rb.erb", File.join("app/views", class_path, "#{file_name}.rb")
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<% module_namespacing do -%>
|
2
|
-
module Views
|
3
|
-
class <%= class_name %> < Phlex::HTML
|
4
|
-
include ApplicationView
|
5
|
-
include Phlex::Rails::Layout
|
6
|
-
|
7
|
-
def initialize(title:)
|
8
|
-
@title = title
|
9
|
-
end
|
10
|
-
|
11
|
-
def template(&)
|
12
|
-
doctype
|
13
|
-
|
14
|
-
html do
|
15
|
-
head do
|
16
|
-
meta charset: "utf-8"
|
17
|
-
csp_meta_tag
|
18
|
-
csrf_meta_tags
|
19
|
-
meta name: "viewport", content: "width=device-width,initial-scale=1"
|
20
|
-
title { @title }
|
21
|
-
stylesheet_link_tag "application"
|
22
|
-
end
|
23
|
-
|
24
|
-
body do
|
25
|
-
main(&)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
<% end %>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
module Generators
|
5
|
-
class PageGenerator < ::Rails::Generators::NamedBase
|
6
|
-
source_root File.expand_path("templates", __dir__)
|
7
|
-
|
8
|
-
def create_view
|
9
|
-
template "page.rb.erb", File.join("app/views", class_path, "#{file_name}.rb")
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<% module_namespacing do -%>
|
2
|
-
module Views
|
3
|
-
class <%= class_name %> < Phlex::HTML
|
4
|
-
include ApplicationView
|
5
|
-
|
6
|
-
def template
|
7
|
-
render Layout.new(title: "<%= class_name.gsub("::", " ") %>") do
|
8
|
-
h1 { "👋 Hello World!" }
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
<% end %>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
module Generators
|
5
|
-
class TableGenerator < ::Rails::Generators::NamedBase
|
6
|
-
source_root File.expand_path("templates", __dir__)
|
7
|
-
class_option :properties, type: :array, default: []
|
8
|
-
|
9
|
-
def create_view
|
10
|
-
template "table.rb.erb", File.join("app/views", class_path, "#{file_name}.rb")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
<% module_namespacing do -%>
|
2
|
-
module Views
|
3
|
-
class <%= class_name %> < Phlex::HTML
|
4
|
-
include ApplicationView
|
5
|
-
include Phlex::Table
|
6
|
-
|
7
|
-
<% options["properties"].each do |property| %>
|
8
|
-
property "<%= property.humanize %>", &:<%= property.underscore %><% end %>
|
9
|
-
end
|
10
|
-
end
|
11
|
-
<% end %>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<% module_namespacing do -%>
|
2
|
-
module Views
|
3
|
-
class <%= class_name %> < Phlex::HTML
|
4
|
-
include ApplicationView
|
5
|
-
|
6
|
-
def template
|
7
|
-
<%= "# " unless @layout %>render Layout.new(title: "<%= class_name.gsub("::", " ").titlecase %>") do
|
8
|
-
h1 { "<%= class_name %>" }
|
9
|
-
p { "Find me in <%= @path %>" }
|
10
|
-
<%= "# " unless @layout %>end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
<% end %>
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
module Generators
|
5
|
-
class ViewGenerator < ::Rails::Generators::NamedBase
|
6
|
-
source_root File.expand_path("templates", __dir__)
|
7
|
-
|
8
|
-
def create_view
|
9
|
-
@layout = layout
|
10
|
-
@path = File.join("app/views", class_path, "#{file_name}.rb")
|
11
|
-
template "view.rb.erb", @path
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def layout
|
17
|
-
::Rails.root.join("app/views/layout.rb").exist?
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
data/lib/install/phlex.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
say "Installing Phlex..."
|
4
|
-
|
5
|
-
application_configuration_path = Rails.root.join("config/application.rb")
|
6
|
-
application_configuration_content = File.read(application_configuration_path)
|
7
|
-
|
8
|
-
pattern = %r(config.autoload_paths << (Rails.root.join\(.app.\)|.\#{root}/app.)\n)
|
9
|
-
|
10
|
-
unless application_configuration_content.match?(pattern)
|
11
|
-
inject_into_class(
|
12
|
-
application_configuration_path,
|
13
|
-
"Application",
|
14
|
-
%( config.autoload_paths << "\#{root}/app"\n)
|
15
|
-
)
|
16
|
-
end
|
17
|
-
|
18
|
-
unless Rails.root.join("app/views/application_view.rb").exist?
|
19
|
-
create_file(Rails.root.join("app/views/application_view.rb"), <<~RUBY)
|
20
|
-
# frozen_string_literal: true
|
21
|
-
|
22
|
-
module Views
|
23
|
-
module ApplicationView
|
24
|
-
include Rails.application.routes.url_helpers
|
25
|
-
include Phlex::Translation
|
26
|
-
end
|
27
|
-
end
|
28
|
-
RUBY
|
29
|
-
end
|
30
|
-
|
31
|
-
tailwind_config_path = Rails.root.join("config/tailwind.config.js")
|
32
|
-
|
33
|
-
if tailwind_config_path.exist?
|
34
|
-
insert_into_file tailwind_config_path, after: "content: [" do
|
35
|
-
"\n './app/views/**/*.rb',"
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
say "Phlex successfully installed!"
|
data/lib/phlex/block.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
class Block
|
5
|
-
include Callable
|
6
|
-
|
7
|
-
def initialize(context, &block)
|
8
|
-
@context = context
|
9
|
-
@block = block
|
10
|
-
end
|
11
|
-
|
12
|
-
def call(*args, **kwargs)
|
13
|
-
@context.instance_exec(*args, **kwargs, &@block)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex::Compiler::Elements
|
4
|
-
module VCall
|
5
|
-
def format(formatter)
|
6
|
-
Phlex::Compiler::Generators::Element.new(
|
7
|
-
Phlex::Compiler::Nodes::VCall.new(self),
|
8
|
-
formatter: formatter
|
9
|
-
).call
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
module FCall
|
14
|
-
def format(formatter)
|
15
|
-
Phlex::Compiler::Generators::Element.new(
|
16
|
-
Phlex::Compiler::Nodes::FCall.new(self),
|
17
|
-
formatter: formatter
|
18
|
-
).call
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
module Command
|
23
|
-
def format(formatter)
|
24
|
-
Phlex::Compiler::Generators::Element.new(
|
25
|
-
Phlex::Compiler::Nodes::Command.new(self),
|
26
|
-
formatter: formatter
|
27
|
-
).call
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
module MutatingMethodAddBlock
|
32
|
-
def format(formatter)
|
33
|
-
Phlex::Compiler::Generators::Element.new(
|
34
|
-
Phlex::Compiler::Nodes::MethodAddBlock.new(self),
|
35
|
-
formatter: formatter,
|
36
|
-
mutating: true
|
37
|
-
).call
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
module MethodAddBlock
|
42
|
-
def format(formatter)
|
43
|
-
Phlex::Compiler::Generators::Element.new(
|
44
|
-
Phlex::Compiler::Nodes::MethodAddBlock.new(self),
|
45
|
-
formatter: formatter
|
46
|
-
).call
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|