markdown_record 0.1.6 → 0.1.7

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: 2a4c60c407ae3d679694a78384ee19031e6e4c4e81b13fb906735eeed501c401
4
- data.tar.gz: b2e9e868cf53abbfdfa564545d4714ce566d65f1394b688f4907b9f5dc9999fb
3
+ metadata.gz: 28719266b418efe6379df27d13947fe87112a92a2752c2ba255794a0e988879f
4
+ data.tar.gz: 1e65d9b00a6aeea4f1153853430a2ed7b0f5f0c3b910f226ea56aff07b3eb49d
5
5
  SHA512:
6
- metadata.gz: 14b05075403c27112cec85baec54a03118830f96c6c50b5537f262e6940311ec87d6bcb34db2ca986b5bbb7ba6876596bdcf55ee3a59e4e817c9261deaa299fc
7
- data.tar.gz: e8673494fcd89dd4287bdf84616e720a0eafb8b9c1688835fa58d00bf726931be17b2c26286439ada37ca1eb35f0f45ec58add57f5ce5c51d13479fb5d965dbd
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 each(...)
81
- execute unless fulfilled
82
- all unless fulfilled
83
- @data.each(...)
84
- end
85
-
86
- def map(...)
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 fourth(...)
128
- execute unless fulfilled
129
- @data.fourth(...)
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
@@ -1,3 +1,3 @@
1
1
  module MarkdownRecord
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  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` also supports the `to_a`, `each`, `map`, `count`, `any?`, `empty?`, `first`, `last`, `second`, `third` and `fourth` methods which get executed on the backing Array after loading the data with the most recent filters. For additional functionality, you may call `all` or `to_a` to work with the backing Array directly.
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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: markdown_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryant Morrill