prismic.io 1.0.0.preview.2 → 1.0.0.preview.3
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|