asbru 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10f68d4052614b4607afdfc06092f1cca7b1c30bc6c887fb495f4eefc82dfafd
4
- data.tar.gz: 7ee326d3b5185d510042f8aaf5453a4351d39feb19a0239c3f98e87e7ac99239
3
+ metadata.gz: 90a72c9539babb635d139212a66f008dd633e1e0b40182458120600e6c83b59f
4
+ data.tar.gz: 912bf88b22c9ef7db0314833d44d29948b17c07f4722d64ae85700f865d705f8
5
5
  SHA512:
6
- metadata.gz: 4202a50c75d6d622f096371ba25bee957c03d3a45482af3183d46716798173f88e3b98f1cb4aa9ccb74a315c0fd11feed697e6968cd3bb9aec9c2e0c9b17c3db
7
- data.tar.gz: 2326874f64e8ae9d1baa85c1ee7a7c3afb4e399be70e6849249ecd1c0fd6b21e14ae6296986ff809c975949ccd4c40ff730d4e4ad48bc7d792af0e0983a56024
6
+ metadata.gz: 077f11f12bb28b2e5fb95834b1321fa5881bf7c90018d5916173c1ab2974aabf41fb7884a1a471cd6133b4c048fcdf922f3e2ff15347b0a5fc68c145caf25b05
7
+ data.tar.gz: f08c131767f75e4be30a40b3fbb9288750c147ead03c09df39dad80db864aa8af12db3d8ad7931ecce406dc21b92b9fd4961a8033965522558d021be6e535ba2
data/lib/asbru/cml.rb CHANGED
@@ -1,88 +1,65 @@
1
1
  require 'asbru/components/savage'
2
2
 
3
3
  module Asbru
4
- # This module defines a bunch of methods that
5
- module CML
6
- C = Asbru::Components::Savage
4
+ # This module defines a bunch of methods that make component based pages
5
+ # appear more similar to HTML.
6
+ # The limitation is that nested components won't work.
7
+ module Cml
8
+ C = Asbru::Config.component_mode.tap(&:setup)
7
9
 
8
- # Problems:
9
- # How can we make this module work with Sage/Savage depending on config?
10
- # Do we want to do that?
11
-
12
- # Ideas:
13
- # 1. We can make Sage implement to exactly the same interface as Savage and
14
- # somehow inject it.
15
- # 2. We could also ALWAYS load the sage classed needed here and call these
16
- # required.
17
- #
18
- # I think I prefer 1 even though the syntax of Sage is nicer imo.
19
10
  class << self
20
11
  def p text, **opts
21
- C.send "#{component_prefix}_content",
12
+ C.send "#{prefix(opts)}_content",
22
13
  text: text,
23
14
  **opts
24
15
  end
25
16
 
26
17
  def h1 text, **opts
27
- C.send "#{component_prefix}_title",
18
+ C.send "#{prefix(opts)}_title",
28
19
  size: 'h1',
29
20
  text: text
30
21
  end
31
22
 
32
23
  def h2 text, **opts
33
- C.send "#{component_prefix}_title",
24
+ C.send "#{prefix(opts)}_title",
34
25
  size: 'h2',
35
26
  text: text
36
27
  end
37
28
 
38
29
  def h3 text, **opts
39
- C.send "#{component_prefix}_title",
30
+ C.send "#{prefix(opts)}_title",
40
31
  size: 'h3',
41
32
  text: text
42
33
  end
43
34
 
44
35
  def h4 text, **opts
45
- C.send "#{component_prefix}_title",
36
+ C.send "#{prefix(opts)}_title",
46
37
  size: 'h4',
47
38
  text: text
48
39
  end
49
40
 
50
41
  def h5 text, **opts
51
- C.send "#{component_prefix}_title",
42
+ C.send "#{prefix(opts)}_title",
52
43
  size: 'h5',
53
44
  text: text
54
45
  end
55
46
 
56
- def hr color: 'stable-500'
57
- C.send "#{component_prefix}_divider",
47
+ def hr color: 'stable-500', **opts
48
+ C.send "#{prefix}_divider",
58
49
  color: color,
59
50
  height: 1
60
51
  end
61
52
 
62
- def vertical_spacer height
63
- C.send "#{component_prefix}_divider",
53
+ def vertical_spacer height, **opts
54
+ C.send "#{prefix(opts)}_divider",
64
55
  color: :transparent,
65
56
  height: height
66
57
  end
67
58
 
68
- def table_row(*cells)
69
- { data: cells }
70
- end
71
-
72
- def table_cell(text, action: nil, method: nil, confirm: nil, color: nil)
73
- cell = { text: text}
74
- cell[:color] = color if color.present?
75
- cell[:action] = action if action.present?
76
- cell[:customData] = {}
77
- cell[:customData]['data-method'] = method if method.present?
78
- cell[:customData]['data-confirm'] = confirm if confirm.present?
79
- cell
80
- end
81
-
82
59
  private
83
60
 
84
- def component_prefix
85
- Asbru.config.component_prefix
61
+ def prefix(opts)
62
+ opts[:module] || Asbru.config.component_prefix
86
63
  end
87
64
  end
88
65
  end
@@ -1,3 +1,5 @@
1
+ require 'react/rails/view_helper'
2
+
1
3
  module Asbru
2
4
  module Components
3
5
  # This module uses components.json to see what components are available to
@@ -9,6 +11,7 @@ module Asbru
9
11
  extend ::React::Rails::ViewHelper
10
12
  class << self
11
13
  def setup
14
+ debugger
12
15
  file = File.open(Rails.root.join('app',
13
16
  'javascript',
14
17
  'components',
@@ -1,3 +1,5 @@
1
+ require 'react/rails/view_helper'
2
+
1
3
  module Asbru
2
4
  module Components
3
5
  # This module is used to generate react components in the views and loads
@@ -6,6 +8,10 @@ module Asbru
6
8
  class Savage
7
9
  extend ::React::Rails::ViewHelper
8
10
  class << self
11
+ def setup
12
+ # No-op
13
+ end
14
+
9
15
  def method_missing(method_id, **opts)
10
16
  if self.respond_to? :method_id
11
17
  super
data/lib/asbru/ragna.rb CHANGED
@@ -5,8 +5,8 @@ require 'asbru/cml'
5
5
 
6
6
  # We use the C for binding components. We might want to make this configurable
7
7
  # later on
8
- ::C = Asbru::Components::Sage.tap(&:setup)
9
- ::CML = Asbru::CML
8
+ ::C = Asbru.config.component_mode.tap(&:setup)
9
+ ::Cml = Asbru::Cml
10
10
 
11
11
  module Asbru
12
12
  module Ragna
data/lib/asbru/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Asbru
2
- VERSION = '0.0.9'
2
+ VERSION = '0.0.10'
3
3
  end
data/lib/asbru.rb CHANGED
@@ -1,9 +1,14 @@
1
1
  require "asbru/railtie"
2
2
  require 'dry-configurable'
3
+ require 'asbru/components/savage'
4
+ require 'asbru/components/sage'
3
5
 
4
6
  module Asbru
5
7
  extend Dry::Configurable
6
8
  setting :component_prefix, default: 'app'
7
9
  setting :form_builder_prefix, default: 'app'
8
10
  setting :default_form_error_icon, default: 'icon-error'
11
+ setting :component_mode, default: Asbru::Components::Savage
12
+
13
+ Config = self.config
9
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asbru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stev-0
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-25 00:00:00.000000000 Z
11
+ date: 2021-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails