card 1.16.2 → 1.16.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: 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: