prismic.io 1.0.0.preview.2 → 1.0.0.preview.3
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 +1 -1
- data/lib/prismic.rb +5 -6
- data/lib/prismic/fragments/select.rb +1 -1
- data/lib/prismic/fragments/structured_text.rb +1 -1
- data/lib/prismic/fragments/text.rb +1 -1
- data/lib/prismic/version.rb +1 -1
- data/spec/fragments_spec.rb +19 -0
- data/spec/prismic_spec.rb +8 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7115c0e2648174904a54f5b9eca2dee638c334a6
|
4
|
+
data.tar.gz: a6d17ff3c181ae1a273cbdc8956f114262854354
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5316b6aac4442b9a90f505a7d949ca07f6b0ca970700e081837c618f10a5a41e280ac86aec1a9214a70e04b4631c41fa233063e86cdde89338a2195448259a62
|
7
|
+
data.tar.gz: 98666ce830de416b0327a009cbb182df89acbe533eaf048a8d723b56fcbdd88ec303251c23771d28397295fc77347159bfa2beb1bfc86adc74ab57c646edb205
|
data/Gemfile.lock
CHANGED
data/lib/prismic.rb
CHANGED
@@ -32,10 +32,10 @@ module Prismic
|
|
32
32
|
class SearchForm
|
33
33
|
attr_accessor :api, :form, :data
|
34
34
|
|
35
|
-
def initialize(api, form, data=
|
35
|
+
def initialize(api, form, data={})
|
36
36
|
@api = api
|
37
37
|
@form = form
|
38
|
-
@data = data
|
38
|
+
@data = form.default_data.merge(data)
|
39
39
|
end
|
40
40
|
|
41
41
|
def name
|
@@ -93,10 +93,9 @@ module Prismic
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def query(query)
|
96
|
-
strip_brakets =
|
97
|
-
|
98
|
-
|
99
|
-
data['q'] = "[#{strip_brakets.call(previous_query)}#{strip_brakets.call(query)}]"
|
96
|
+
strip_brakets = ->(str) { str =~ /^\[(.*)\]$/ ? $1 : str }
|
97
|
+
previous_query = form.fields['q'] ? form.fields['q'].default.to_s : ''
|
98
|
+
data['q'] = "[%s%s]" % [strip_brakets.(previous_query), strip_brakets.(query)]
|
100
99
|
self
|
101
100
|
end
|
102
101
|
|
data/lib/prismic/version.rb
CHANGED
data/spec/fragments_spec.rb
CHANGED
@@ -65,6 +65,11 @@ describe 'Text' do
|
|
65
65
|
it "returns a HTML element whose content is the value" do
|
66
66
|
Nokogiri::XML(@text.as_html).child.content.should == 'my_value'
|
67
67
|
end
|
68
|
+
|
69
|
+
it "espaces HTML content" do
|
70
|
+
@text = Prismic::Fragments::Text.new('&my <value> #abcde')
|
71
|
+
@text.as_html.should =~ /^<[^>]+>&my <value> #abcde<[^>]+>$/
|
72
|
+
end
|
68
73
|
end
|
69
74
|
end
|
70
75
|
|
@@ -85,6 +90,11 @@ describe 'Select' do
|
|
85
90
|
it "returns a HTML element whose content is the value" do
|
86
91
|
Nokogiri::XML(@select.as_html).child.content.should == 'my_value'
|
87
92
|
end
|
93
|
+
|
94
|
+
it "escapes HTML" do
|
95
|
+
@select = Prismic::Fragments::Select.new('&my <value> #abcde')
|
96
|
+
@select.as_html(nil).should =~ %r{^<[^>]+>&my <value> #abcde<[^>]+>$}
|
97
|
+
end
|
88
98
|
end
|
89
99
|
end
|
90
100
|
|
@@ -355,6 +365,15 @@ describe 'StructuredText::Paragraph' do
|
|
355
365
|
it 'generates valid html' do
|
356
366
|
@block.as_html(nil).should == "<p>This <em>is</em> <b>a</b> simple test.</p>"
|
357
367
|
end
|
368
|
+
it "espaces HTML content" do
|
369
|
+
@text = '&my <value> #abcde'
|
370
|
+
@spans = [
|
371
|
+
Prismic::Fragments::StructuredText::Span::Em.new(4, 11),
|
372
|
+
Prismic::Fragments::StructuredText::Span::Strong.new(0, 1),
|
373
|
+
]
|
374
|
+
@block = Prismic::Fragments::StructuredText::Block::Paragraph.new(@text, @spans)
|
375
|
+
@block.as_html(nil).should =~ %r{^<[^>]+><b>&</b>my <em><value></em> #abcde<[^>]+>$}
|
376
|
+
end
|
358
377
|
end
|
359
378
|
|
360
379
|
describe 'StructuredText::Preformatted' do
|
data/spec/prismic_spec.rb
CHANGED
@@ -257,5 +257,13 @@ describe 'SearchForm' do
|
|
257
257
|
@form = Prismic::SearchForm.new(@api, Prismic::Form.new('form1', {'q' => @field}, nil, nil, nil, nil), {})
|
258
258
|
@form.query('[foo]').should == @form
|
259
259
|
end
|
260
|
+
|
261
|
+
it "merge user defined params into default ones" do
|
262
|
+
field = ->(value){ Prismic::Field.new('String', value) }
|
263
|
+
default_params = {'param1' => field.('a'), 'param2' => field.('b')}
|
264
|
+
user_params = {'param1' => 'a2'}
|
265
|
+
@form = Prismic::SearchForm.new(@api, Prismic::Form.new('form1', default_params, nil, nil, nil, nil), user_params)
|
266
|
+
@form.data.should == {'param1' => 'a2', 'param2' => 'b'}
|
267
|
+
end
|
260
268
|
end
|
261
269
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prismic.io
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.preview.
|
4
|
+
version: 1.0.0.preview.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Étienne Vallette d'Osia
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
12
|
+
date: 2013-10-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -141,3 +141,4 @@ test_files:
|
|
141
141
|
- spec/responses_mocks/structured_text_heading.json
|
142
142
|
- spec/responses_mocks/structured_text_paragraph.json
|
143
143
|
- spec/spec_helper.rb
|
144
|
+
has_rdoc:
|