markdown_record 0.1.6 → 0.1.7
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28719266b418efe6379df27d13947fe87112a92a2752c2ba255794a0e988879f
|
4
|
+
data.tar.gz: 1e65d9b00a6aeea4f1153853430a2ed7b0f5f0c3b910f226ea56aff07b3eb49d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e06ee088c3d506b7fbf056d41a5383478065b41977a31b5653b007c18a6f09141f1912540e14121da17121f3a6b8227843243bb8357009fa1476071569e81c8
|
7
|
+
data.tar.gz: a4b62f1449034d362141f4efc9147bc18add91116a39b9da06296e5c3e42c5ddfce7e4c2d3929c424eed3e961f070396e84fb7716f8da1a8c007a55f6b0cf312
|
@@ -77,56 +77,21 @@ module MarkdownRecord
|
|
77
77
|
self
|
78
78
|
end
|
79
79
|
|
80
|
-
def
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
execute unless fulfilled
|
88
|
-
execute
|
89
|
-
@data.map(...)
|
90
|
-
end
|
91
|
-
|
92
|
-
def count(...)
|
93
|
-
execute unless fulfilled
|
94
|
-
@data.count(...)
|
95
|
-
end
|
96
|
-
|
97
|
-
def any?(...)
|
98
|
-
execute unless fulfilled
|
99
|
-
@data.any?(...)
|
100
|
-
end
|
101
|
-
|
102
|
-
def empty?(...)
|
103
|
-
execute unless fulfilled
|
104
|
-
@data.empty?(...)
|
105
|
-
end
|
106
|
-
|
107
|
-
def first(...)
|
108
|
-
execute unless fulfilled
|
109
|
-
@data.first(...)
|
110
|
-
end
|
111
|
-
|
112
|
-
def last(...)
|
113
|
-
execute unless fulfilled
|
114
|
-
@data.first(...)
|
115
|
-
end
|
116
|
-
|
117
|
-
def second(...)
|
118
|
-
execute unless fulfilled
|
119
|
-
@data.second(...)
|
120
|
-
end
|
121
|
-
|
122
|
-
def third(...)
|
123
|
-
execute unless fulfilled
|
124
|
-
@data.third(...)
|
80
|
+
def method_missing(method, *args, &block)
|
81
|
+
if @data.respond_to?(method)
|
82
|
+
execute unless fulfilled
|
83
|
+
@data.send(method, *args, &block)
|
84
|
+
else
|
85
|
+
super
|
86
|
+
end
|
125
87
|
end
|
126
88
|
|
127
|
-
def
|
128
|
-
|
129
|
-
|
89
|
+
def respond_to?(method)
|
90
|
+
if @data.respond_to?(method)
|
91
|
+
true
|
92
|
+
else
|
93
|
+
super
|
94
|
+
end
|
130
95
|
end
|
131
96
|
|
132
97
|
def __find__(id, scope = nil)
|
@@ -14,6 +14,10 @@ module MarkdownRecord
|
|
14
14
|
/<!---/ => "<!--"
|
15
15
|
}
|
16
16
|
|
17
|
+
HTML_MACROS = {
|
18
|
+
/<code(?:.*?)>((?:.|\s)*?)<\/code>/ => lambda { |match, first| match.gsub(first, CGI.unescapeHTML(CGI.escapeHTML(first))) }
|
19
|
+
}
|
20
|
+
|
17
21
|
def initialize(pathname, markdown, options)
|
18
22
|
@markdown = markdown
|
19
23
|
@pathname = pathname
|
@@ -44,6 +48,12 @@ module MarkdownRecord
|
|
44
48
|
final_html = final_html.gsub(find, replace)
|
45
49
|
end
|
46
50
|
|
51
|
+
HTML_MACROS.each do |regex, macro|
|
52
|
+
final_html = final_html.gsub(regex) do |match|
|
53
|
+
macro.call(match, $1).html_safe
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
47
57
|
final_html = final_html.squeeze("\n")
|
48
58
|
@final_html = HtmlBeautifier.beautify(final_html)
|
49
59
|
end
|
@@ -51,7 +51,7 @@ The `where` query method takes an optional hash of filters and returns a `Markdo
|
|
51
51
|
- `to_fragments`: this method queries for MarkdownRecord models but returns their corresponding content fragments instead. This will often result in duplicates due to models being defined in the same file.
|
52
52
|
- `all`: this method simply returns an Array of models, filtered according to whatever filters have been provided to the association object.
|
53
53
|
|
54
|
-
`MarkdownRecord::Association`
|
54
|
+
`MarkdownRecord::Association` supports any method you can call on the underlying array that contains the query results.
|
55
55
|
|
56
56
|
## Filters
|
57
57
|
|