html_fn 0.3.0 → 0.3.1
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 +4 -4
- data/Gemfile.lock +3 -3
- data/README.md +39 -3
- data/html_fn.gemspec +1 -1
- data/lib/html_fn/attributes.rb +6 -6
- data/lib/html_fn/version.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17102465634775d6835f13de6bc0ca28a3d01e689a4debd729a7799cd2c97b87
|
4
|
+
data.tar.gz: 505c7de48f41cd4b047299f0975d3a8ca472e36ac0581ac4e380313f813d7f72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45f42fcc367a4fa79c396509b68b58ee6c6a910c24dd1cb8ac30306a6f53e874ac3443bda70abecec13de000ce911366349c2ae87e08b4828c38f3b069b79814
|
7
|
+
data.tar.gz: e019528fdecb6c4c5d811d3f58e7225ec6d772be366cdda5e2bd9233b5884e4234acd862c3459a71840c1e4326f904f7d629a8aca673e81c6a5dc4865019edc0
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
html_fn (0.3.
|
4
|
+
html_fn (0.3.1)
|
5
5
|
fn_reader
|
6
6
|
|
7
7
|
GEM
|
@@ -9,7 +9,7 @@ GEM
|
|
9
9
|
specs:
|
10
10
|
fn_reader (0.1.0)
|
11
11
|
minitest (5.11.3)
|
12
|
-
rake (
|
12
|
+
rake (13.0.3)
|
13
13
|
|
14
14
|
PLATFORMS
|
15
15
|
ruby
|
@@ -18,7 +18,7 @@ DEPENDENCIES
|
|
18
18
|
bundler (~> 1.17)
|
19
19
|
html_fn!
|
20
20
|
minitest (~> 5.0)
|
21
|
-
rake (
|
21
|
+
rake (>= 12.3.3)
|
22
22
|
|
23
23
|
BUNDLED WITH
|
24
24
|
1.17.2
|
data/README.md
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# HtmlFn
|
2
2
|
|
3
|
-
|
3
|
+
DSL for building HTML without using metaprogram magic.
|
4
4
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
6
5
|
|
7
6
|
## Installation
|
8
7
|
|
@@ -22,7 +21,44 @@ Or install it yourself as:
|
|
22
21
|
|
23
22
|
## Usage
|
24
23
|
|
25
|
-
|
24
|
+
```ruby
|
25
|
+
require 'htlm_fp'
|
26
|
+
|
27
|
+
|
28
|
+
include HttpFp
|
29
|
+
include HttpFp::Attributes
|
30
|
+
|
31
|
+
|
32
|
+
my_table =
|
33
|
+
table.([class_.("table")]).(
|
34
|
+
[thead.([]).(
|
35
|
+
[tr.([]).(
|
36
|
+
[th.([]).([text.("Name")]),
|
37
|
+
th.([]).([text.("Age")])]
|
38
|
+
)]
|
39
|
+
|
40
|
+
),
|
41
|
+
tbody.([]).(
|
42
|
+
[tr.([]).([
|
43
|
+
td.([]).([text.("Martin")]),
|
44
|
+
td.([]).([text.("34")]),
|
45
|
+
])]
|
46
|
+
)]
|
47
|
+
)
|
48
|
+
```
|
49
|
+
|
50
|
+
|
51
|
+
Note that the html will not be formated. If you want to format it, you can use a function as such:
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
def pretty_print(a)
|
55
|
+
require "rexml/document"
|
56
|
+
d = REXML::Document.new(a)
|
57
|
+
d.write(s = "", 2)
|
58
|
+
s
|
59
|
+
end
|
60
|
+
|
61
|
+
```
|
26
62
|
|
27
63
|
## Development
|
28
64
|
|
data/html_fn.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.require_paths = ["lib"]
|
38
38
|
|
39
39
|
spec.add_development_dependency "bundler", "~> 1.17"
|
40
|
-
spec.add_development_dependency "rake", "
|
40
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
41
41
|
spec.add_development_dependency "minitest", "~> 5.0"
|
42
42
|
spec.add_dependency "fn_reader"
|
43
43
|
end
|
data/lib/html_fn/attributes.rb
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
module HtmlFn
|
3
3
|
module Attributes
|
4
4
|
fn_reader :merge_attrs, :attrs_to_s, :string_property,
|
5
|
-
|
5
|
+
:class_, :style, :name_, :content, :href, :rel
|
6
6
|
|
7
7
|
# Your code goes here...
|
8
8
|
# module HtmlFnc
|
9
|
-
@@merge_attrs = ->
|
9
|
+
@@merge_attrs = ->hash {
|
10
10
|
hash.inject({}) do |group, (key, values)|
|
11
11
|
group[key] ||= []
|
12
12
|
group[key] += [values]
|
@@ -14,25 +14,25 @@ module HtmlFn
|
|
14
14
|
end.map { |key, val| [key, val.join(" ")] }.to_h
|
15
15
|
}
|
16
16
|
|
17
|
-
@@attrs_to_s = ->
|
17
|
+
@@attrs_to_s = ->attrs {
|
18
18
|
merged = @@merge_attrs.(attrs)
|
19
19
|
merged.map do |(attr_name, values)|
|
20
20
|
%{#{attr_name}="#{values}"}
|
21
21
|
end.join(" ")
|
22
22
|
}
|
23
23
|
|
24
|
-
@@string_property = ->
|
24
|
+
@@string_property = ->name, string {
|
25
25
|
[name, string]
|
26
26
|
}.curry
|
27
27
|
|
28
|
-
@@style = ->
|
28
|
+
@@style = ->styles {
|
29
29
|
string_property.("style").
|
30
30
|
(styles.map { |(key, val)| %{#{key}: #{val};} }.join(" "))
|
31
31
|
}
|
32
32
|
|
33
33
|
@@class_ = string_property.(:class)
|
34
34
|
@@id_ = string_property.(:id)
|
35
|
-
@@
|
35
|
+
@@name_ = string_property.(:name)
|
36
36
|
@@content = string_property.(:content)
|
37
37
|
@@href = string_property.(:href)
|
38
38
|
@@rel = string_property.(:rel)
|
data/lib/html_fn/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html_fn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Chabot
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 12.3.3
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 12.3.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
69
|
+
description:
|
70
70
|
email:
|
71
71
|
- chabotm@gmail.com
|
72
72
|
executables: []
|
@@ -93,7 +93,7 @@ licenses:
|
|
93
93
|
metadata:
|
94
94
|
homepage_uri: https://github.com/martinos/html_fn
|
95
95
|
source_code_uri: https://github.com/martinos/html_fn
|
96
|
-
post_install_message:
|
96
|
+
post_install_message:
|
97
97
|
rdoc_options: []
|
98
98
|
require_paths:
|
99
99
|
- lib
|
@@ -108,8 +108,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
|
-
rubygems_version: 3.
|
112
|
-
signing_key:
|
111
|
+
rubygems_version: 3.1.4
|
112
|
+
signing_key:
|
113
113
|
specification_version: 4
|
114
114
|
summary: Bunch of lamdas for building Html
|
115
115
|
test_files: []
|