markdown_record 0.1.5 → 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: 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