markdown_record 0.1.5 → 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: 269413176d8f175aac4611a05b3e877a8f6e35e8d2578693a61b8137ba3e468c
4
- data.tar.gz: 9bd2e4bbcfd47f25d95bd89cee4fa55ef702ef12c1c02b3ffb3def240210f034
3
+ metadata.gz: 28719266b418efe6379df27d13947fe87112a92a2752c2ba255794a0e988879f
4
+ data.tar.gz: 1e65d9b00a6aeea4f1153853430a2ed7b0f5f0c3b910f226ea56aff07b3eb49d
5
5
  SHA512:
6
- metadata.gz: cfa28a6d993347abcc68d6a0d28163ea238c67516bb82b0293e4bb1779499db6ac027b508c1c56c9edd88136a6310ee9a3d265226bee2e966e629e8f8e6389c4
7
- data.tar.gz: 1ffc583808ddd0886ec481997b52f36fabfeb457bb3c7447c58e3dabd40558111141ec3372634ae5da8a334ce2caec650b2ef7319dfc4334538215dc6c247d19
6
+ metadata.gz: 1e06ee088c3d506b7fbf056d41a5383478065b41977a31b5653b007c18a6f09141f1912540e14121da17121f3a6b8227843243bb8357009fa1476071569e81c8
7
+ data.tar.gz: a4b62f1449034d362141f4efc9147bc18add91116a39b9da06296e5c3e42c5ddfce7e4c2d3929c424eed3e961f070396e84fb7716f8da1a8c007a55f6b0cf312
data/README.md CHANGED
@@ -239,7 +239,6 @@ To test a local version of this gem in a local app, simply add the `path` parame
239
239
 
240
240
  - Make the Content DSL extensible
241
241
  - Add support for raw JSON files as source content
242
- - Support semantic versioning in numeric filename prefixes
243
242
 
244
243
  ## License
245
244
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -7,6 +7,8 @@ module MarkdownRecord
7
7
  end
8
8
 
9
9
  def to_sort_value(value)
10
+ return value unless value.present?
11
+
10
12
  Date.strptime(value, @date_pattern)
11
13
  end
12
14
  end
@@ -6,6 +6,8 @@ module MarkdownRecord
6
6
  end
7
7
 
8
8
  def to_sort_value(value)
9
+ return value unless value.present?
10
+
9
11
  SemVer.new(value)
10
12
  end
11
13
 
@@ -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.5"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -141,4 +141,6 @@ rendered: /markdown_record/rendered/content/custom_models_and_associations.html
141
141
  51 files saved.
142
142
  ```
143
143
 
144
- Congratulations! You have installed MarkdownRecord. If you are not viewing this from the host application already, go ahead and start your Rails server and navigate to your <%= link_to("local host demo", "http://localhost:3000/mdr/content/home") %> to continue following this guide.
144
+ Congratulations! You have installed MarkdownRecord. If you are not viewing this from the host application already, go ahead and start your Rails server and navigate to your <%= link_to("local host demo", "http://localhost:3000/mdr/content/home") %> to continue following this guide.
145
+
146
+ Alternatively, you can find the complete usage guide [here](https://markdown-record-docs.herokuapp.com/).
@@ -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.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryant Morrill