showcase 0.2.0.beta.2 → 0.2.0.beta.3

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
  SHA1:
3
- metadata.gz: 0253c1910b10e27e923304bcc5bd1395bdafc39c
4
- data.tar.gz: b8b43388b449c766905202aafa1f92260e10e369
3
+ metadata.gz: 9d6a631420d19d2a548cdf36d56577c48ae24930
4
+ data.tar.gz: bd24f9fc93109defc060e10b88d2dc2c57980a6a
5
5
  SHA512:
6
- metadata.gz: f2dae46e5e237003646b8b439d8a8757aebe87d234a6d3e202c7ad5967705b9775043dee73be6483b2ee7904f6b58936e627fd8f870ecaeb0f520f6287c5243a
7
- data.tar.gz: 201d8408f682c934779956fb7db947aa83910afd4732aa769a7acb55caba019d166a81fd68504af2bce4913e3e663e4c9ab0510f6e298bc9a78201df6963d338
6
+ metadata.gz: df878541e87c19106087fa2f1a8eb7610fca82637b6e7ed13e056a98284fafbb55ec428e9922c0b16d9e9404b8e95a8c543595f0ba9a179472376b76a6a3a4dc
7
+ data.tar.gz: 2075e6deb475f90d8f4f215478e2b027af35def0f9abb5fc10a4e2f26d068a78957457009a3f4d7877331517a9cdf5a121064d37270c75455b9119a5d4fad82c
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  A simple (< 100 lines of code) but powerful exhibit/presenter implementation.
4
4
  It's framework agnostic: works with Rails, Padrino or just Sinatra.
5
5
 
6
- Since version 0.2.0 Showcase is bundled with [a set of "traits"](https://github.com/stefanoverna/showcase#traits)
6
+ Since version 0.2.0 Showcase is bundled with [a set of optional "traits"](https://github.com/stefanoverna/showcase#traits)
7
7
  you can pick and choose to augment your presenters with additional sugar
8
8
  (available in Rails 3+ only).
9
9
 
@@ -15,15 +15,21 @@ See [Avdi's Exhibits introductory post](http://devblog.avdi.org/2012/06/04/displ
15
15
 
16
16
  Add this line to your application's Gemfile:
17
17
 
18
- gem 'showcase'
18
+ ```ruby
19
+ gem 'showcase'
20
+ ```
19
21
 
20
22
  And then execute:
21
23
 
22
- $ bundle
24
+ ```
25
+ $ bundle
26
+ ```
23
27
 
24
28
  Or install it yourself as:
25
29
 
26
- $ gem install showcase
30
+ ```
31
+ $ gem install showcase
32
+ ```
27
33
 
28
34
  ## Usage
29
35
 
@@ -90,7 +96,7 @@ rails generate showcase:presenter User
90
96
 
91
97
  Will generate `app/presenters/user_presenter.rb`. If your Rails app has the file
92
98
  `app/presenters/base_presenter.rb`, the newly created presenter will inherit
93
- from `BasePresenter` instead of `Shocase::Presenter`.
99
+ from `BasePresenter` instead of `Showcase::Presenter`.
94
100
 
95
101
  ### Traits
96
102
 
@@ -126,7 +132,7 @@ Super useful in acceptance testing to check the presence of a record inside a
126
132
  view:
127
133
 
128
134
  ```erb
129
- <% present(@project).box do %>
135
+ <% present(@project, class: 'big').box do %>
130
136
  <p>Hi there!</p>
131
137
  <% end %>
132
138
  ```
@@ -134,9 +140,10 @@ view:
134
140
  Produces the following:
135
141
 
136
142
  ```html
137
- <div class="project" id="project_12">
143
+ <div class="project big" id="project_12">
138
144
  <p>Hi there</p>
139
145
  </div>
146
+ ```
140
147
 
141
148
  Additional HTML attributes can be optionally specified within a config block
142
149
  inside the presenter:
@@ -228,7 +235,7 @@ In your views:
228
235
  #### `Showcase::Traits::Seo`
229
236
 
230
237
  Useful to produce SEO meta tags (title, description, Facebook OpenGraph,
231
- Twitter cards, and canonical URL):
238
+ Twitter cards, and canonical URLs):
232
239
 
233
240
  ```ruby
234
241
  class ProjectPresenter < Showcase::Presenter
@@ -242,6 +249,7 @@ class ProjectPresenter < Showcase::Presenter
242
249
  end
243
250
  end
244
251
  ```
252
+
245
253
  In your views:
246
254
 
247
255
  ```erb
@@ -42,6 +42,7 @@ module Showcase
42
42
 
43
43
  link_to link_name do |c|
44
44
  meta = Helpers::ConfigObject.new(self, &block).to_struct
45
+ html_options = meta.html_options || {}
45
46
  params = Hash[
46
47
  settings[:params].map do |param, meta_key|
47
48
  [ param, meta.send(meta_key) ]
@@ -49,7 +50,7 @@ module Showcase
49
50
  ]
50
51
  c.url "#{settings[:url]}?#{params.to_query}"
51
52
  c.label settings[:label]
52
- c.html_options = { target: :blank }
53
+ c.html_options = html_options.reverse_merge(target: '_blank')
53
54
  end
54
55
  end
55
56
  end
@@ -1,4 +1,4 @@
1
1
  module Showcase
2
- VERSION = "0.2.0.beta.2"
2
+ VERSION = "0.2.0.beta.3"
3
3
  end
4
4
 
@@ -15,6 +15,7 @@ module Showcase::Traits
15
15
  c.url = 'url'
16
16
  c.text = 'text'
17
17
  c.image_url = 'image'
18
+ c.html_options = { role: 'share' }
18
19
  end
19
20
 
20
21
  share :foo do |c|
@@ -39,10 +40,19 @@ module Showcase::Traits
39
40
  it "produces a #{provider} share link" do
40
41
  expect(subject.send("#{provider}_share_link")).to have_tag(:a)
41
42
  end
43
+
42
44
  it "produces a #{provider} share url" do
43
45
  expect(subject.send("#{provider}_share_url")).to eq url
44
46
  end
45
47
 
48
+ it "adds a target :blank to the link" do
49
+ expect(subject.send("#{provider}_share_link")).to have_tag(:a, with: { target: '_blank' })
50
+ end
51
+
52
+ it "merges additional html_options" do
53
+ expect(subject.send("#{provider}_share_link")).to have_tag(:a, with: { role: 'share' })
54
+ end
55
+
46
56
  context 'with prefix' do
47
57
  it 'prefixes link method' do
48
58
  expect(subject).to respond_to "foo_#{provider}_share_link"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: showcase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta.2
4
+ version: 0.2.0.beta.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Verna
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-29 00:00:00.000000000 Z
11
+ date: 2013-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport