card 1.16.2 → 1.16.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ec1e44206ec47eb8359856ed1bf79bf3cf5c4f9
4
- data.tar.gz: 240d15a424f700f18e2665881f2b2c77265c7cf5
3
+ metadata.gz: f829038f8e82d4313aee74187c462260d21b56d5
4
+ data.tar.gz: 624f09e6b2426dac0d9fd8f92fb046f7ce846080
5
5
  SHA512:
6
- metadata.gz: b24e1b0caa3bf3d23b9e5a4c5595360c762f9470edcd807d02a4d68401bb858e48ea9f965eafcd37a56439636a3fa1ca2d5b9b8140d3bda7a473719211760043
7
- data.tar.gz: 59708dc4b1b579b6ee1de2ee918e433bc46e9b8c6022de2318fca81ff5866ece38edfa578b76b267ff41e809771f3c48352637e138b459d5cdc6dd1a7968737a
6
+ metadata.gz: ce5ecb4a4e0c44ff5e57aaf08e64268d7328d165e3111ceb9874f4c86a641c6ecd51c703eb6ca99f8b68249ffc139bff30af76ea64297127967971fd854f99a2
7
+ data.tar.gz: 8f28faffd83374a20a967b5a94ea39a21a868dfe674e3d99b10399c1eb9ef951650097c2f974142d3aaab5296f8cdb60b9048e305159164d9d52c4e7ea07f334
data/.yardopts CHANGED
@@ -1,5 +1,5 @@
1
1
  **/lib/**/*.rb \
2
- tmp/set*/**/*.rb - \
2
+ tmpsets/set*/**/*.rb - \
3
3
  **/*.rdoc \
4
4
  GPL \
5
5
  LICENSE \
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.16.2
1
+ 1.16.3
@@ -1,6 +1,6 @@
1
- # Card::Env can differ for each request; Card.config should not
2
-
3
1
  class Card
2
+
3
+ # Card::Env can differ for each request; Card.config should not
4
4
  module Env
5
5
  class << self
6
6
  def reset args={}
@@ -30,8 +30,6 @@ class Card
30
30
  "#{ format.camelize }Format"
31
31
  end
32
32
 
33
-
34
-
35
33
  def extract_class_vars view, opts
36
34
  return unless opts.present?
37
35
  perms[view] = opts.delete(:perms) if opts[:perms]
@@ -15,8 +15,15 @@ end
15
15
 
16
16
  def mod_file?
17
17
  # when db_content was changed assume that it's no longer a mod file
18
- if !db_content_changed? && content.present? && content =~ /^:[^\/]+\/([^.]+)/
19
- $1
18
+ if !db_content_changed? && content.present?
19
+ case content
20
+ when /^:[^\/]+\/([^.]+)/ ; $1 # current mod_file format
21
+ when /^\~/ ; false # current id file format
22
+ else
23
+ if lines = content.split("\n") and lines.size == 4 # old format, still used in card_changes.
24
+ lines.last
25
+ end
26
+ end
20
27
  end
21
28
  end
22
29
 
@@ -6,11 +6,10 @@ format :rss do
6
6
 
7
7
  def initialize card, args
8
8
  super
9
- @xml = @parent.xml if @parent
9
+ @xml = @parent ? @parent.xml : ::Builder::XmlMarkup.new
10
10
  end
11
11
 
12
12
  def show view, args
13
- @xml = ::Builder::XmlMarkup.new
14
13
  view ||= :feed
15
14
  render view, args
16
15
  end
@@ -24,7 +23,7 @@ format :rss do
24
23
  @xml.title render_feed_title
25
24
  @xml.description render_feed_description
26
25
  @xml.link render_url
27
- render_feed_item_list
26
+ render_feed_body
28
27
  end
29
28
  end
30
29
  rescue =>e
@@ -32,12 +31,16 @@ format :rss do
32
31
  end
33
32
  end
34
33
 
35
- def raw_feed_items
34
+ def raw_feed_items args
36
35
  [card]
37
36
  end
38
37
 
38
+ view :feed_body do |args|
39
+ render_feed_item_list
40
+ end
41
+
39
42
  view :feed_item_list do |args|
40
- raw_feed_items.each do |item|
43
+ raw_feed_items(args).each do |item|
41
44
  @xml.item do
42
45
  subformat(item).render_feed_item :view_changes=>(card.id==RecentID) #FIXME! yuck.
43
46
  end
@@ -185,7 +185,7 @@ format :css do
185
185
 
186
186
  view :core do |args|
187
187
  card.item_cards.map do |item|
188
- nest item, :view=>(params[:item] || args[:item] || :content)
188
+ nest item, :view=>(args[:item] || :content)
189
189
  end.join "\n\n"
190
190
  end
191
191
 
@@ -197,7 +197,7 @@ end
197
197
  format :js do
198
198
  view :core do |args|
199
199
  card.item_cards.map do |item|
200
- nest item, :view=>(params[:item] || args[:item] || :core)
200
+ nest item, :view=>( args[:item] || :core)
201
201
  end.join "\n\n"
202
202
  end
203
203
  end
@@ -5,4 +5,11 @@ describe Card::Set::All::Rss do
5
5
  rendered = Card[:recent].format(:rss).show( nil, {} )
6
6
  expect(rendered).to match(/xml/)
7
7
  end
8
+
9
+ it 'should handle faulty search queries' do
10
+ bad_search = Card.create! :name=>'Bad Search', :type=>'Search', :content=>'not no search'
11
+ rendered = bad_search.format(:rss).render_feed_body
12
+ expect(rendered).to match(/item/)
13
+ end
14
+
8
15
  end
@@ -1,10 +1,15 @@
1
1
 
2
2
  format :rss do
3
- def raw_feed_items
3
+ def raw_feed_items args
4
4
  [card]
5
- end
5
+ end
6
6
  end
7
7
 
8
8
  format :html do
9
9
  include AddHelp::HtmlFormat
10
+
11
+ view :core do |args|
12
+ render_raw args
13
+ end
14
+
10
15
  end
@@ -14,4 +14,9 @@ describe Card::Set::Right::Structure do
14
14
  '<a class="cardtype known-card" href="/HTML">HTML</a> : [[link]] {{inclusion}}'
15
15
  )
16
16
  end
17
+
18
+ it 'renders core as raw' do
19
+ trs = Card.fetch('*type+*right+*structure').format.render_core
20
+ expect(trs).to eq '{"type":"_self"}'
21
+ end
17
22
  end
@@ -145,3 +145,11 @@ format :html do
145
145
  end
146
146
 
147
147
  end
148
+
149
+
150
+ format :css do
151
+ def link_to text, href, opts={}
152
+ interpret_href href
153
+ end
154
+
155
+ end
@@ -15,13 +15,11 @@ format :html do
15
15
  end
16
16
 
17
17
  def default_header_args args
18
- if @slot_view == :open
19
- if (show_view?(:toolbar,args.merge(:default_visibility=>:hide)) || toolbar_pinned?) && card.type_code != :basic
20
- args[:optional_type_info] ||= :show
21
- end
22
- if toolbar_pinned?
23
- args[:optional_toolbar] ||= :show
24
- end
18
+ if @slot_view == :open && toolbar_pinned?
19
+ args[:optional_toolbar] ||= :show
20
+ end
21
+ if show_view?(:toolbar,args.merge(:default_visibility=>:hide)) && card.type_code != :basic
22
+ args[:optional_type_info] ||= :show
25
23
  end
26
24
  end
27
25
 
@@ -46,18 +46,22 @@ end
46
46
  format do
47
47
 
48
48
  view :core do |args|
49
- search_vars args
50
-
51
- case
52
- when e = search_vars[:error]
53
- %{#{e.class.to_s} :: #{e.message} :: #{card.raw_content}}
54
- when search_vars[:query][:return] =='count'
55
- search_results.to_s
56
- when @mode == :template
57
- render :raw
58
- else
59
- _render_card_list args
60
- end
49
+ view = case search_results args
50
+ when Exception ; :search_error
51
+ when Integer ; :search_count
52
+ when @mode == :template ; :raw
53
+ else ; :card_list
54
+ end
55
+ _render view, args
56
+ end
57
+
58
+
59
+ view :search_count do |args|
60
+ search_results.to_s
61
+ end
62
+
63
+ view :search_error do |args|
64
+ %{#{search_results.class.to_s} :: #{search_results.message} :: #{card.raw_content}}
61
65
  end
62
66
 
63
67
  view :card_list do |args|
@@ -74,7 +78,7 @@ format do
74
78
  @search_vars ||=
75
79
  begin
76
80
  v = {}
77
- v[:query] = card.query(search_params)
81
+ v[:query] = card.query( search_params )
78
82
  v[:item] = set_inclusion_opts args.merge( :query_view=>v[:query][:view] )
79
83
  v
80
84
  rescue =>e
@@ -82,13 +86,17 @@ format do
82
86
  end
83
87
  end
84
88
 
85
- def search_results
86
- @search_results ||=
87
- begin
88
- card.item_cards search_params
89
- rescue => e
90
- { :error => e}
89
+ def search_results args={}
90
+ @search_results ||= begin
91
+ search_vars args
92
+ if search_vars[:error]
93
+ search_vars[:error]
94
+ else
95
+ raw_results = card.item_cards search_params
96
+ is_count = search_vars[:query][:return] =='count'
97
+ is_count ? raw_results.to_i : raw_results
91
98
  end
99
+ end
92
100
  end
93
101
 
94
102
  def search_result_names
@@ -178,9 +186,19 @@ format :json do
178
186
  end
179
187
 
180
188
  format :rss do
181
- def raw_feed_items
182
- search_params.merge!(:default_limit => 25)
183
- search_results
189
+ view :feed_body do |args|
190
+ case raw_feed_items args
191
+ when Exception ; @xml.item { render :search_error }
192
+ when Integer ; @xml.item { render :search_count }
193
+ else super
194
+ end
195
+ end
196
+
197
+ def raw_feed_items args
198
+ @raw_feed_items ||= begin
199
+ search_params.merge!(:default_limit => 25)
200
+ search_results
201
+ end
184
202
  end
185
203
  end
186
204
 
@@ -5,7 +5,7 @@ view :raw do |args|
5
5
  content = File.read("#{bootstrap_path}/_variables.scss")
6
6
  content += %{
7
7
  $bootstrap-sass-asset-helper: false;
8
- $icon-font-path: "#{card_path '/assets/fonts/'}";
8
+ $icon-font-path: "#{card_path 'assets/fonts/'}";
9
9
  }
10
10
  # mixins
11
11
  content += Dir.glob("#{bootstrap_path}/mixins/*.scss").map do |name|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.2
4
+ version: 1.16.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-08-15 00:00:00.000000000 Z
14
+ date: 2015-08-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: smartname
@@ -1193,3 +1193,4 @@ test_files:
1193
1193
  - spec/models/card/validation_spec.rb
1194
1194
  - spec/models/card_spec.rb
1195
1195
  - spec/spec_helper.rb
1196
+ has_rdoc: