amber_component 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) 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/.solargraph.yml +1 -2
  6. data/CONTRIBUTING.md +87 -0
  7. data/Gemfile +4 -1
  8. data/Gemfile.lock +24 -99
  9. data/README.md +25 -42
  10. data/Rakefile +17 -1
  11. data/amber_component.gemspec +4 -2
  12. data/banner.png +0 -0
  13. data/docs/.bundle/config +2 -0
  14. data/docs/.gitignore +5 -0
  15. data/docs/404.html +25 -0
  16. data/docs/Gemfile +37 -0
  17. data/docs/Gemfile.lock +89 -0
  18. data/docs/README.md +19 -0
  19. data/docs/_config.yml +148 -0
  20. data/docs/_data/amber_component.yml +3 -0
  21. data/docs/_sass/_variables.scss +2 -0
  22. data/docs/_sass/color_schemes/amber_component.scss +11 -0
  23. data/docs/_sass/custom/custom.scss +60 -0
  24. data/docs/api/index.md +8 -0
  25. data/docs/assets/images/logo_wide.png +0 -0
  26. data/docs/changelog/index.md +8 -0
  27. data/docs/favicon.ico +0 -0
  28. data/docs/getting_started/index.md +8 -0
  29. data/docs/getting_started/installation.md +7 -0
  30. data/docs/getting_started/ruby_support.md +7 -0
  31. data/docs/getting_started/wireframes.md +7 -0
  32. data/docs/index.md +17 -0
  33. data/docs/introduction/basic_usage.md +7 -0
  34. data/docs/introduction/index.md +8 -0
  35. data/docs/introduction/why_amber_component.md +7 -0
  36. data/docs/resources/index.md +8 -0
  37. data/docs/styles/index.md +8 -0
  38. data/docs/styles/usage.md +7 -0
  39. data/docs/views/index.md +8 -0
  40. data/docs/views/usage.md +7 -0
  41. data/icon.png +0 -0
  42. data/lib/amber_component/assets.rb +59 -0
  43. data/lib/amber_component/base.rb +85 -434
  44. data/lib/amber_component/helpers/class_helper.rb +22 -0
  45. data/lib/amber_component/helpers/component_helper.rb +19 -0
  46. data/lib/amber_component/helpers/css_helper.rb +25 -0
  47. data/lib/amber_component/helpers.rb +11 -0
  48. data/lib/amber_component/prop_definition.rb +54 -0
  49. data/lib/amber_component/props.rb +111 -0
  50. data/lib/amber_component/railtie.rb +21 -0
  51. data/lib/amber_component/rendering.rb +53 -0
  52. data/lib/amber_component/template_handler/erb.rb +17 -0
  53. data/lib/amber_component/template_handler.rb +26 -0
  54. data/lib/amber_component/typed_content.rb +3 -3
  55. data/lib/amber_component/version.rb +1 -1
  56. data/lib/amber_component/views.rb +198 -0
  57. data/lib/amber_component.rb +14 -11
  58. data/lib/generators/amber_component/install_generator.rb +23 -0
  59. data/lib/generators/amber_component/templates/application_component.rb +13 -0
  60. data/lib/generators/amber_component_generator.rb +24 -0
  61. data/lib/generators/templates/component.rb.erb +9 -0
  62. data/lib/generators/templates/component_test.rb.erb +9 -0
  63. data/lib/generators/templates/style.css.erb +3 -0
  64. data/lib/generators/templates/view.html.erb +3 -0
  65. metadata +87 -19
  66. data/.kanbn/index.md +0 -23
  67. data/.kanbn/tasks/add-instance-variables-to-view-when-block-given-markdown.md +0 -9
  68. data/.kanbn/tasks/bind-clas-to-action-view-method-call-example-component-data-data-without-calling-any-method.md +0 -9
  69. data/.kanbn/tasks/bind-scoped-css-to-head-of-doc.md +0 -10
  70. data/.kanbn/tasks/check-if-we-need-full-rails-gem-pack.md +0 -9
  71. data/.kanbn/tasks/simple-proto.md +0 -10
  72. data/.kanbn/tasks/verify-if-template-is-haml-or-erb.md +0 -9
  73. data/PLANS.md +0 -17
  74. data/lib/amber_component/helper.rb +0 -8
  75. data/lib/amber_component/style_injector.rb +0 -52
  76. data/sig/amber_components.rbs +0 -4
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.4
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-25 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,71 @@ 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/prop_definition.rb
147
+ - lib/amber_component/props.rb
148
+ - lib/amber_component/railtie.rb
149
+ - lib/amber_component/rendering.rb
150
+ - lib/amber_component/template_handler.rb
151
+ - lib/amber_component/template_handler/erb.rb
91
152
  - lib/amber_component/typed_content.rb
92
153
  - lib/amber_component/version.rb
93
- - sig/amber_components.rbs
154
+ - lib/amber_component/views.rb
155
+ - lib/generators/amber_component/install_generator.rb
156
+ - lib/generators/amber_component/templates/application_component.rb
157
+ - lib/generators/amber_component_generator.rb
158
+ - lib/generators/templates/component.rb.erb
159
+ - lib/generators/templates/component_test.rb.erb
160
+ - lib/generators/templates/style.css.erb
161
+ - lib/generators/templates/view.html.erb
94
162
  homepage: https://github.com/amber-ruby/amber_component
95
163
  licenses:
96
164
  - MIT
@@ -106,14 +174,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
174
  requirements:
107
175
  - - ">="
108
176
  - !ruby/object:Gem::Version
109
- version: 2.6.0
177
+ version: 2.7.0
110
178
  required_rubygems_version: !ruby/object:Gem::Requirement
111
179
  requirements:
112
180
  - - ">="
113
181
  - !ruby/object:Gem::Version
114
182
  version: '0'
115
183
  requirements: []
116
- rubygems_version: 3.3.3
184
+ rubygems_version: 3.3.7
117
185
  signing_key:
118
186
  specification_version: 4
119
187
  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
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'nokogiri'
4
-
5
- # Helper class for injecting styles into DOM.
6
- class ::AmberComponent::StyleInjector
7
- class << self
8
-
9
- # Injects styles into the DOM, or returns string if
10
- # DOM stucture is not available.
11
- #
12
- # @param style [String]
13
- # @return [String, nil]
14
- def inject(style)
15
- injector = new(style)
16
- injector.run
17
- end
18
- end
19
-
20
- # @param style [String]
21
- def initialize(style)
22
- @style = style
23
- end
24
-
25
- # @return [void]
26
- def run
27
- return dom_tag unless dom_available?
28
-
29
- insert_style_in_head
30
- nil
31
- end
32
-
33
- private
34
-
35
- # @return [Boolean]
36
- def dom_available?
37
- false
38
- # check for header in DOM rendrer
39
- end
40
-
41
- # @return [void]
42
- def insert_style_in_head
43
- false
44
- end
45
-
46
- # @return [String]
47
- def dom_tag
48
- <<~HTML
49
- <style type='text/css'>#{@style}</style>
50
- HTML
51
- end
52
- end
@@ -1,4 +0,0 @@
1
- module AmberComponent
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end