amber_component 0.0.2 → 0.0.3

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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -1
  5. data/CONTRIBUTING.md +87 -0
  6. data/Gemfile +3 -0
  7. data/Gemfile.lock +16 -91
  8. data/README.md +25 -42
  9. data/Rakefile +17 -1
  10. data/amber_component.gemspec +4 -2
  11. data/banner.png +0 -0
  12. data/docs/.bundle/config +2 -0
  13. data/docs/.gitignore +5 -0
  14. data/docs/404.html +25 -0
  15. data/docs/Gemfile +37 -0
  16. data/docs/Gemfile.lock +89 -0
  17. data/docs/README.md +19 -0
  18. data/docs/_config.yml +148 -0
  19. data/docs/_data/amber_component.yml +3 -0
  20. data/docs/_sass/_variables.scss +2 -0
  21. data/docs/_sass/color_schemes/amber_component.scss +11 -0
  22. data/docs/_sass/custom/custom.scss +60 -0
  23. data/docs/api/index.md +8 -0
  24. data/docs/assets/images/logo_wide.png +0 -0
  25. data/docs/changelog/index.md +8 -0
  26. data/docs/favicon.ico +0 -0
  27. data/docs/getting_started/index.md +8 -0
  28. data/docs/getting_started/installation.md +7 -0
  29. data/docs/getting_started/ruby_support.md +7 -0
  30. data/docs/getting_started/wireframes.md +7 -0
  31. data/docs/index.md +17 -0
  32. data/docs/introduction/basic_usage.md +7 -0
  33. data/docs/introduction/index.md +8 -0
  34. data/docs/introduction/why_amber_component.md +7 -0
  35. data/docs/resources/index.md +8 -0
  36. data/docs/styles/index.md +8 -0
  37. data/docs/styles/usage.md +7 -0
  38. data/docs/views/index.md +8 -0
  39. data/docs/views/usage.md +7 -0
  40. data/icon.png +0 -0
  41. data/lib/amber_component/assets.rb +59 -0
  42. data/lib/amber_component/base.rb +66 -434
  43. data/lib/amber_component/helpers/class_helper.rb +22 -0
  44. data/lib/amber_component/helpers/component_helper.rb +18 -0
  45. data/lib/amber_component/helpers/css_helper.rb +25 -0
  46. data/lib/amber_component/helpers.rb +11 -0
  47. data/lib/amber_component/railtie.rb +21 -0
  48. data/lib/amber_component/rendering.rb +53 -0
  49. data/lib/amber_component/template_handler/erb.rb +17 -0
  50. data/lib/amber_component/template_handler.rb +26 -0
  51. data/lib/amber_component/version.rb +1 -1
  52. data/lib/amber_component/views.rb +198 -0
  53. data/lib/amber_component.rb +6 -2
  54. data/lib/generators/amber_component/install_generator.rb +23 -0
  55. data/lib/generators/amber_component/templates/application_component.rb +13 -0
  56. data/lib/generators/amber_component_generator.rb +24 -0
  57. data/lib/generators/templates/component.rb.erb +9 -0
  58. data/lib/generators/templates/component_test.rb.erb +9 -0
  59. data/lib/generators/templates/style.css.erb +3 -0
  60. data/lib/generators/templates/view.html.erb +3 -0
  61. metadata +85 -19
  62. data/.kanbn/index.md +0 -23
  63. data/.kanbn/tasks/add-instance-variables-to-view-when-block-given-markdown.md +0 -9
  64. data/.kanbn/tasks/bind-clas-to-action-view-method-call-example-component-data-data-without-calling-any-method.md +0 -9
  65. data/.kanbn/tasks/bind-scoped-css-to-head-of-doc.md +0 -10
  66. data/.kanbn/tasks/check-if-we-need-full-rails-gem-pack.md +0 -9
  67. data/.kanbn/tasks/simple-proto.md +0 -10
  68. data/.kanbn/tasks/verify-if-template-is-haml-or-erb.md +0 -9
  69. data/PLANS.md +0 -17
  70. data/lib/amber_component/helper.rb +0 -8
  71. data/lib/amber_component/style_injector.rb +0 -52
  72. data/sig/amber_components.rbs +0 -4
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'action_view'
4
+ require 'ostruct'
5
+
6
+ module ::AmberComponent
7
+ module TemplateHandler
8
+ # Handles rendering ERB with Rails-like syntax
9
+ class ERB < ::ActionView::Template::Handlers::ERB::Erubi
10
+ def initialize(input, properties = {})
11
+ properties[:bufvar] ||= "@output_buffer"
12
+ properties[:preamble] = "#{properties[:bufvar]}=#{::ActionView::OutputBuffer}.new;"
13
+ super
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ::AmberComponent
4
+ # Provides code which handles rendering different
5
+ # template languages.
6
+ module TemplateHandler
7
+ class << self
8
+ # @param context [AmberComponent::Base]
9
+ # @param content [String]
10
+ # @param type [Symbol, String]
11
+ # @param block [Proc, nil]
12
+ # @return [String]
13
+ def render_from_string(context, content, type, block = nil)
14
+ options = if type.to_sym == :erb
15
+ { engine_class: ERB }
16
+ else
17
+ {}
18
+ end
19
+
20
+ ::Tilt[type].new(options) { content }.render(context, &block)
21
+ end
22
+ end
23
+ end
24
+ end
25
+
26
+ require_relative 'template_handler/erb'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ::AmberComponent
4
- VERSION = '0.0.2'
4
+ VERSION = '0.0.3'
5
5
  end
@@ -0,0 +1,198 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ::AmberComponent
4
+ # Provides methods concerning view registering and rendering.
5
+ module Views
6
+ # View types with built-in embedded Ruby
7
+ #
8
+ # @return [Set<Symbol>]
9
+ VIEW_TYPES_WITH_RUBY = ::Set[:erb, :haml, :slim].freeze
10
+ # @return [Set<Symbol>]
11
+ ALLOWED_VIEW_TYPES = ::Set[:erb, :haml, :slim, :html, :md, :markdown].freeze
12
+ # @return [Regexp]
13
+ VIEW_FILE_REGEXP = /^view\./.freeze
14
+
15
+ # Class methods for views.
16
+ module ClassMethods
17
+ # Register an inline view by returning a String from the passed block.
18
+ #
19
+ # Usage:
20
+ #
21
+ # view do
22
+ # <<~ERB
23
+ # <h1>
24
+ # Hello <%= @name %>
25
+ # </h1>
26
+ # ERB
27
+ # end
28
+ #
29
+ # or:
30
+ #
31
+ # view :haml do
32
+ # <<~HAML
33
+ # %h1
34
+ # Hello
35
+ # = @name
36
+ # HAML
37
+ # end
38
+ #
39
+ # @param type [Symbol]
40
+ # @return [void]
41
+ def view(type = :erb, &block)
42
+ @method_view = TypedContent.new(type: type, content: block)
43
+ end
44
+
45
+ # ERB/Haml/Slim view registered through the `view` method.
46
+ #
47
+ # @return [TypedContent]
48
+ attr_reader :method_view
49
+
50
+ # @return [String]
51
+ def view_path
52
+ asset_path view_file_name
53
+ end
54
+
55
+ # @return [String, nil]
56
+ def view_file_name
57
+ files = asset_file_names(VIEW_FILE_REGEXP)
58
+ raise MultipleViews, "More than one view file for `#{name}` found!" if files.length > 1
59
+
60
+ files.first
61
+ end
62
+
63
+ # @return [Symbol]
64
+ def view_type
65
+ (view_file_name.split('.')[1..].grep_v(/erb/).last || 'erb')&.to_sym
66
+ end
67
+ end
68
+
69
+ # Instance methods for views.
70
+ module InstanceMethods
71
+ protected
72
+
73
+ # @return [String]
74
+ def render_view(&block)
75
+ view_from_file = render_view_from_file(&block)
76
+ view_from_method = render_class_method_view(&block)
77
+ view_from_inline = render_view_from_inline(&block)
78
+
79
+ view_content = view_from_file unless view_from_file.empty?
80
+ view_content = view_from_method unless view_from_method.empty?
81
+ view_content = view_from_inline unless view_from_inline.empty?
82
+
83
+ if view_content.nil? || view_content.empty?
84
+ raise ViewFileNotFound, "View for `#{self.class}` could not be found!"
85
+ end
86
+
87
+ view_content
88
+ end
89
+
90
+ # Helper method to render view from string or with other provided type.
91
+ #
92
+ # Usage:
93
+ #
94
+ # render_view_from_content('<h1>Hello World</h1>')
95
+ #
96
+ # or:
97
+ #
98
+ # render_view_from_content content: '**Hello World**', type: 'md'
99
+ #
100
+ # @param content [TypedContent, Hash{Symbol => String, Symbol, Proc}, String]
101
+ # @return [String, nil]
102
+ def render_view_from_content(content, &block)
103
+ return '' unless content
104
+ return content if content.is_a?(::String)
105
+
106
+ content = TypedContent.wrap(content)
107
+ type = content.type
108
+ content = content.to_s
109
+
110
+ if content.empty?
111
+ raise EmptyView, <<~ERR.squish
112
+ Custom view for `#{self.class}` from view method cannot be empty!
113
+ ERR
114
+ end
115
+
116
+ unless ALLOWED_VIEW_TYPES.include? type
117
+ raise UnknownViewType, <<~ERR.squish
118
+ Unknown view type for `#{self.class}` from view method!
119
+ Check return value of param type in `view :[type] do`
120
+ ERR
121
+ end
122
+
123
+ unless VIEW_TYPES_WITH_RUBY.include? type
124
+ # first render the content with ERB if the
125
+ # type does not support embedding Ruby by default
126
+ content = render_string(content, :erb, block)
127
+ end
128
+
129
+ render_string(content, type, block)
130
+ end
131
+
132
+ # @return [String]
133
+ def render_view_from_file(&block)
134
+ view_path = self.class.view_path
135
+ return '' if view_path.nil? || !::File.file?(view_path)
136
+
137
+ content = ::File.read(view_path)
138
+ type = self.class.view_type
139
+
140
+ unless VIEW_TYPES_WITH_RUBY.include? type
141
+ content = render_string(content, :erb, block)
142
+ end
143
+
144
+ render_string(content, type, block)
145
+ end
146
+
147
+ # Method returning view from method in class file.
148
+ # Usage:
149
+ #
150
+ # view do
151
+ # <<~HTML
152
+ # <h1>
153
+ # Hello <%= @name %>
154
+ # </h1>
155
+ # HTML
156
+ # end
157
+ #
158
+ # or:
159
+ #
160
+ # view :haml do
161
+ # <<~HAML
162
+ # %h1
163
+ # Hello
164
+ # = @name
165
+ # HAML
166
+ # end
167
+ #
168
+ # @return [String]
169
+ def render_class_method_view(&block)
170
+ render_view_from_content(self.class.method_view, &block)
171
+ end
172
+
173
+ # Method returning view from params in view.
174
+ # Usage:
175
+ #
176
+ # <%= ExampleComponent data: data, view: "<h1>Hello #{@name}</h1>" %>
177
+ #
178
+ # or:
179
+ #
180
+ # <%= ExampleComponent data: data, view: { content: "<h1>Hello #{@name}</h1>", type: 'erb' } %>
181
+ #
182
+ # @return [String]
183
+ def render_view_from_inline(&block)
184
+ data = \
185
+ if @view.is_a? ::String
186
+ TypedContent.new(
187
+ type: :erb,
188
+ content: @view
189
+ )
190
+ else
191
+ @view
192
+ end
193
+
194
+ render_view_from_content(data, &block)
195
+ end
196
+ end
197
+ end
198
+ end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails'
4
3
  require 'active_support'
5
4
  require 'active_support/core_ext'
6
5
 
@@ -19,6 +18,11 @@ module ::AmberComponent
19
18
  end
20
19
 
21
20
  require_relative 'amber_component/version'
22
- require_relative 'amber_component/helper'
21
+ require_relative 'amber_component/helpers'
23
22
  require_relative 'amber_component/typed_content'
23
+ require_relative 'amber_component/template_handler'
24
+ require_relative 'amber_component/views'
25
+ require_relative 'amber_component/assets'
26
+ require_relative 'amber_component/rendering'
24
27
  require_relative 'amber_component/base'
28
+ require_relative 'amber_component/railtie' if defined?(::Rails::Railtie)
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'fileutils'
4
+
5
+ module ::AmberComponent
6
+ module Generators
7
+ # A Rails generator which installs the `amber_component`
8
+ # library in a Rails project.
9
+ class InstallGenerator < ::Rails::Generators::Base
10
+ desc 'Install the AmberComponent gem'
11
+ source_root ::File.expand_path('templates', __dir__)
12
+
13
+ # copy rake tasks
14
+ def copy_tasks
15
+ copy_file 'application_component.rb', 'app/components/application_component.rb'
16
+
17
+ inject_into_file 'app/assets/stylesheets/application.css', after: "*= require_tree .\n" do
18
+ " *= require_tree ./../../components\n"
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Abstract class which should serve as a superclass
4
+ # for all your custom components in this app.
5
+ #
6
+ # @abstract Subclass to create a new component.
7
+ class ::ApplicationComponent < ::AmberComponent::Base
8
+ # Include your global application helper.
9
+ include ::ApplicationHelper
10
+ # Include the helper methods for your application's
11
+ # routes.
12
+ include ::Rails.application.routes.url_helpers
13
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'fileutils'
4
+
5
+ # A Rails generator which creates a new Amber component.
6
+ class AmberComponentGenerator < ::Rails::Generators::NamedBase
7
+ desc 'Generate a new component'
8
+ source_root ::File.expand_path('templates', __dir__)
9
+
10
+ # copy rake tasks
11
+ def copy_tasks
12
+ template 'component.rb.erb', "app/components/#{file_path}.rb"
13
+ template 'component_test.rb.erb', "test/components/#{file_path}_test.rb"
14
+ template 'view.html.erb', "app/components/#{file_path}/view.html.erb"
15
+ template 'style.css.erb', "app/components/#{file_path}/style.css"
16
+ end
17
+
18
+ def file_name
19
+ name = super
20
+ return name if name.end_with? '_component'
21
+
22
+ "#{name}_component"
23
+ end
24
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class <%= class_name %> < ::ApplicationComponent
4
+ # Your code goes here
5
+
6
+ after_initialize do
7
+ @time = ::Time.now
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class <%= class_name %>Test < ::ActiveSupport::TestCase
6
+ # test 'the truth' do
7
+ # assert true
8
+ # end
9
+ end
@@ -0,0 +1,3 @@
1
+ .<%= singular_table_name %> {
2
+ color: blue;
3
+ }
@@ -0,0 +1,3 @@
1
+ <h2 class='<%= singular_table_name %>'>
2
+ Hello from <b><%= class_name %></b>, initialized at: <%%= @time %>
3
+ </h2>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amber_component
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruby-Amber
@@ -10,24 +10,38 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2022-07-27 00:00:00.000000000 Z
13
+ date: 2022-09-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: memery
16
+ name: actionview
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 1.4.1
21
+ version: '6'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 1.4.1
28
+ version: '6'
29
+ - !ruby/object:Gem::Dependency
30
+ name: activemodel
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '6'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '6'
29
43
  - !ruby/object:Gem::Dependency
30
- name: rails
44
+ name: activesupport
31
45
  requirement: !ruby/object:Gem::Requirement
32
46
  requirements:
33
47
  - - ">="
@@ -40,6 +54,20 @@ dependencies:
40
54
  - - ">="
41
55
  - !ruby/object:Gem::Version
42
56
  version: '6'
57
+ - !ruby/object:Gem::Dependency
58
+ name: memery
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.4.1
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 1.4.1
43
71
  - !ruby/object:Gem::Dependency
44
72
  name: tilt
45
73
  requirement: !ruby/object:Gem::Requirement
@@ -66,31 +94,69 @@ executables: []
66
94
  extensions: []
67
95
  extra_rdoc_files: []
68
96
  files:
69
- - ".kanbn/index.md"
70
- - ".kanbn/tasks/add-instance-variables-to-view-when-block-given-markdown.md"
71
- - ".kanbn/tasks/bind-clas-to-action-view-method-call-example-component-data-data-without-calling-any-method.md"
72
- - ".kanbn/tasks/bind-scoped-css-to-head-of-doc.md"
73
- - ".kanbn/tasks/check-if-we-need-full-rails-gem-pack.md"
74
- - ".kanbn/tasks/simple-proto.md"
75
- - ".kanbn/tasks/verify-if-template-is-haml-or-erb.md"
76
97
  - ".rubocop.yml"
98
+ - ".ruby-gemset"
77
99
  - ".ruby-version"
78
100
  - ".solargraph.yml"
79
101
  - CHANGELOG.md
102
+ - CONTRIBUTING.md
80
103
  - Gemfile
81
104
  - Gemfile.lock
82
105
  - LICENSE
83
- - PLANS.md
84
106
  - README.md
85
107
  - Rakefile
86
108
  - amber_component.gemspec
109
+ - banner.png
110
+ - docs/.bundle/config
111
+ - docs/.gitignore
112
+ - docs/404.html
113
+ - docs/Gemfile
114
+ - docs/Gemfile.lock
115
+ - docs/README.md
116
+ - docs/_config.yml
117
+ - docs/_data/amber_component.yml
118
+ - docs/_sass/_variables.scss
119
+ - docs/_sass/color_schemes/amber_component.scss
120
+ - docs/_sass/custom/custom.scss
121
+ - docs/api/index.md
122
+ - docs/assets/images/logo_wide.png
123
+ - docs/changelog/index.md
124
+ - docs/favicon.ico
125
+ - docs/getting_started/index.md
126
+ - docs/getting_started/installation.md
127
+ - docs/getting_started/ruby_support.md
128
+ - docs/getting_started/wireframes.md
129
+ - docs/index.md
130
+ - docs/introduction/basic_usage.md
131
+ - docs/introduction/index.md
132
+ - docs/introduction/why_amber_component.md
133
+ - docs/resources/index.md
134
+ - docs/styles/index.md
135
+ - docs/styles/usage.md
136
+ - docs/views/index.md
137
+ - docs/views/usage.md
138
+ - icon.png
87
139
  - lib/amber_component.rb
140
+ - lib/amber_component/assets.rb
88
141
  - lib/amber_component/base.rb
89
- - lib/amber_component/helper.rb
90
- - lib/amber_component/style_injector.rb
142
+ - lib/amber_component/helpers.rb
143
+ - lib/amber_component/helpers/class_helper.rb
144
+ - lib/amber_component/helpers/component_helper.rb
145
+ - lib/amber_component/helpers/css_helper.rb
146
+ - lib/amber_component/railtie.rb
147
+ - lib/amber_component/rendering.rb
148
+ - lib/amber_component/template_handler.rb
149
+ - lib/amber_component/template_handler/erb.rb
91
150
  - lib/amber_component/typed_content.rb
92
151
  - lib/amber_component/version.rb
93
- - sig/amber_components.rbs
152
+ - lib/amber_component/views.rb
153
+ - lib/generators/amber_component/install_generator.rb
154
+ - lib/generators/amber_component/templates/application_component.rb
155
+ - lib/generators/amber_component_generator.rb
156
+ - lib/generators/templates/component.rb.erb
157
+ - lib/generators/templates/component_test.rb.erb
158
+ - lib/generators/templates/style.css.erb
159
+ - lib/generators/templates/view.html.erb
94
160
  homepage: https://github.com/amber-ruby/amber_component
95
161
  licenses:
96
162
  - MIT
@@ -106,14 +172,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
172
  requirements:
107
173
  - - ">="
108
174
  - !ruby/object:Gem::Version
109
- version: 2.6.0
175
+ version: 2.7.0
110
176
  required_rubygems_version: !ruby/object:Gem::Requirement
111
177
  requirements:
112
178
  - - ">="
113
179
  - !ruby/object:Gem::Version
114
180
  version: '0'
115
181
  requirements: []
116
- rubygems_version: 3.3.3
182
+ rubygems_version: 3.3.7
117
183
  signing_key:
118
184
  specification_version: 4
119
185
  summary: A simple component library which seamlessly hooks into your Rails project.
data/.kanbn/index.md DELETED
@@ -1,23 +0,0 @@
1
- ---
2
- startedColumns:
3
- - 'In Progress'
4
- completedColumns:
5
- - Done
6
- ---
7
-
8
- # Amber Components
9
-
10
- ## Backlog
11
-
12
- - [check-if-we-need-full-rails-gem-pack](tasks/check-if-we-need-full-rails-gem-pack.md)
13
- - [verify-if-template-is-haml-or-erb](tasks/verify-if-template-is-haml-or-erb.md)
14
- - [bind-clas-to-action-view-method-call-example-component-data-data-without-calling-any-method](tasks/bind-clas-to-action-view-method-call-example-component-data-data-without-calling-any-method.md)
15
- - [add-instance-variables-to-view-when-block-given-markdown](tasks/add-instance-variables-to-view-when-block-given-markdown.md)
16
-
17
- ## In Progress
18
-
19
- - [bind-scoped-css-to-head-of-doc](tasks/bind-scoped-css-to-head-of-doc.md)
20
-
21
- ## Done
22
-
23
- - [simple-proto](tasks/simple-proto.md)
@@ -1,9 +0,0 @@
1
- ---
2
- created: 2022-07-24T21:05:00.209Z
3
- updated: 2022-07-24T21:05:00.205Z
4
- assigned: ""
5
- progress: 0
6
- tags: []
7
- ---
8
-
9
- # Add instance variables to view when block given - markdown
@@ -1,9 +0,0 @@
1
- ---
2
- created: 2022-07-24T09:34:44.925Z
3
- updated: 2022-07-24T09:35:24.434Z
4
- assigned: ""
5
- progress: 0
6
- tags: []
7
- ---
8
-
9
- # bind clas to ActionView method (call ExampleComponent data: data - without calling any method)
@@ -1,10 +0,0 @@
1
- ---
2
- created: 2022-07-23T15:24:49.521Z
3
- updated: 2022-07-24T12:09:45.281Z
4
- assigned: ""
5
- progress: 0
6
- tags: []
7
- started: 2022-07-24T12:09:45.282Z
8
- ---
9
-
10
- # bind scoped css to head of doc
@@ -1,9 +0,0 @@
1
- ---
2
- created: 2022-07-23T15:23:43.278Z
3
- updated: 2022-07-23T15:23:43.275Z
4
- assigned: ""
5
- progress: 0
6
- tags: []
7
- ---
8
-
9
- # check if we need full rails gem pack
@@ -1,10 +0,0 @@
1
- ---
2
- created: 2022-07-23T15:23:22.133Z
3
- updated: 2022-07-24T09:34:38.629Z
4
- assigned: ""
5
- progress: 0
6
- tags: []
7
- completed: 2022-07-24T09:34:38.629Z
8
- ---
9
-
10
- # simple proto
@@ -1,9 +0,0 @@
1
- ---
2
- created: 2022-07-23T15:24:25.486Z
3
- updated: 2022-07-23T15:24:25.484Z
4
- assigned: ""
5
- progress: 0
6
- tags: []
7
- ---
8
-
9
- # verify if template is HAML or ERB
data/PLANS.md DELETED
@@ -1,17 +0,0 @@
1
- app
2
- |
3
- +-- components
4
- |
5
- +-- example_component.rb
6
- |
7
- +-- example_component
8
- |
9
- +-- view.(haml|erb)
10
- |
11
- +-- style.(scss|css)
12
- |
13
- +-- script.(coffee|js)
14
-
15
- 1.0 - actions, scoped styling views, js
16
- 0.5 - components libraries
17
- 0.1 - MVP - actions, views + nesting
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ::AmberComponent
4
- # Contains methods for quickly rendering
5
- # components defined under the root namespace `Object`.
6
- module Helper
7
- end
8
- end