atomic_assets 0.0.4 → 0.1.0

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
  SHA1:
3
- metadata.gz: 1648e917dac6744c8f483cd74a1ff45f2fec5af1
4
- data.tar.gz: 6e34802f76208c6aca2513c66729e4d99b9d537b
3
+ metadata.gz: a82339e3f90aa58164448f395ef8c4ab665c638c
4
+ data.tar.gz: 737cef54aa1dc811e04c89a13067cb2aa6fbfb84
5
5
  SHA512:
6
- metadata.gz: 9c9ecc027e49d62af642e43f9b387d6b3bdd4e133f381aa80c9a9f5b2544719ce6ba13846c7c6b38e9bec542a2483a7f0abdc61a111b5121034a67dfbd823308
7
- data.tar.gz: c602eec1ec14c2ea42177e0cd4cdfa41e006ac8e295e19e6781e1d9fc9993b3a0d2a1d18f1abc733bb35b6b255290ef1eda73c62d631e2efc3fcc79e3b5e2055
6
+ metadata.gz: da60daeda8f5ee4c27812d5c51d44d42bd79be0226b6d3d63e93ff1418c103479e8fbbb8c49d16d46cc12d635c085e6247a19a2af0026319db3521eba19de54b
7
+ data.tar.gz: 491f009aeabf0876dd1f09b6eac198bccafd9454f988e6ff70a8d155633c0607cf6c38fe6b832724a366176c76e9360e5ffc611c08717b6780383add1d366d59
@@ -0,0 +1,41 @@
1
+ module AtomicAssets
2
+ module Generators
3
+ class ComponentGenerator < Rails::Generators::Base
4
+ argument :component_name, required: true
5
+
6
+ desc <<-DESC.strip_heredoc
7
+ Creates all files requred when generating a new atomic asset component
8
+ DESC
9
+
10
+ source_root File.expand_path("../../templates", __FILE__)
11
+
12
+ def create_component_file
13
+ @component = OpenStruct.new(
14
+ class_prefix: class_prefix,
15
+ key: file_prefix
16
+ )
17
+ template "component.rb", "app/components/#{file_prefix}_component.rb"
18
+ end
19
+
20
+ def create_scss_file
21
+ fullpath = "app/assets/stylesheets/components/_#{file_prefix}.scss"
22
+ template "component.scss", fullpath
23
+ end
24
+
25
+ def create_slim_file
26
+ fullpath = "app/views/components/#{file_prefix}.html.slim"
27
+ template "component.slim", fullpath
28
+ end
29
+
30
+ private
31
+
32
+ def file_prefix
33
+ component_name.underscore
34
+ end
35
+
36
+ def class_prefix
37
+ component_name.camelize
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,24 @@
1
+ class <%= @component.class_prefix %>Component < AtomicAssets::Component
2
+ def edit
3
+ rtn = cms_fields(field_types)
4
+ rtn << h.component(<%= ":#{@component.key}" %>, field_previews).render
5
+ rtn.html_safe
6
+ end
7
+
8
+ protected
9
+
10
+ def field_previews
11
+ {
12
+ header: "{{preview.header}}",
13
+ content: markdown_preview('preview.content')
14
+ }
15
+ end
16
+
17
+ def field_types
18
+ {
19
+ header: { field_type: "text" },
20
+ content: { field_type: "markdown" }
21
+ }
22
+ end
23
+ end
24
+
@@ -0,0 +1,4 @@
1
+ // boilerplate slim file, replace these with the parameters you actually plan on
2
+ // using
3
+ h2= options[:header] if add_option(options[:header])
4
+ = markdown(options[:content])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atomic_assets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Don Humphreys
@@ -95,6 +95,10 @@ files:
95
95
  - lib/atomic_assets/options.rb
96
96
  - lib/atomic_assets/render.rb
97
97
  - lib/atomic_assets/serialize.rb
98
+ - lib/rails/generators/atomic_assets/component/component_generator.rb
99
+ - lib/rails/generators/atomic_assets/templates/component.rb
100
+ - lib/rails/generators/atomic_assets/templates/component.scss
101
+ - lib/rails/generators/atomic_assets/templates/component.slim
98
102
  homepage: http://github.com/dhumphreys/atomic_assets
99
103
  licenses: []
100
104
  metadata: {}
@@ -114,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
118
  version: '0'
115
119
  requirements: []
116
120
  rubyforge_project:
117
- rubygems_version: 2.4.5
121
+ rubygems_version: 2.4.7
118
122
  signing_key:
119
123
  specification_version: 4
120
124
  summary: Atomic Assets