duck_map 0.8.0 → 0.8.1

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.
@@ -10,7 +10,6 @@ module DuckMap
10
10
  ##################################################################################
11
11
  def sitemap_show(options = {})
12
12
  rows = []
13
- puts YAML.dump(options)
14
13
 
15
14
  # always start off with default values from config, then, simply overwrite them as we progress.
16
15
  values = sitemap_defaults(options)
@@ -24,32 +23,21 @@ puts YAML.dump(options)
24
23
 
25
24
  # first, capture the values from the controller.
26
25
  attributes = self.sitemap_stripped_attributes(options[:action_name])
27
- puts "............................ attributes"
28
- puts YAML.dump(attributes)
29
-
30
26
  values = values.merge(self.sitemap_capture_attributes(attributes))
31
- puts "---------------------------------==== values"
32
- puts YAML.dump(values)
33
27
 
34
28
  if options[:source] == :meta_data
35
- puts " !!!!!!!!!!!!! going for it..."
29
+
36
30
  # capture values from the first available model unless disabled.
37
31
  model_object = sitemap_first_model(options[:handler])
38
- puts "###########################3 model_object: #{model_object}"
32
+
39
33
  unless model_object.blank?
40
34
  model_attributes = attributes
41
35
  if model_object.is_sitemap_attributes_defined?
42
36
  model_attributes = model_object.sitemap_stripped_attributes(options[:action_name])
43
37
  end
44
- puts "**********************************************==== model_attributes"
45
- puts YAML.dump(model_attributes)
46
-
47
- puts "wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf wtf "
48
- puts YAML.dump(model_object.sitemap_capture_attributes(model_attributes))
49
38
 
50
39
  values = values.merge(model_object.sitemap_capture_attributes(model_attributes))
51
- puts "---------------------------------==== values again"
52
- puts YAML.dump(values)
40
+
53
41
  end
54
42
 
55
43
  if values[:canonical].blank?
@@ -60,8 +48,6 @@ puts YAML.dump(values)
60
48
  else
61
49
  values[:loc] = values[:canonical]
62
50
  end
63
- puts "............................ values"
64
- puts YAML.dump(values)
65
51
 
66
52
  rows.push(values)
67
53
 
@@ -102,8 +88,11 @@ puts YAML.dump(values)
102
88
  # defined on the model. The model attributes win!
103
89
  # same thing for segments below.
104
90
  model_attributes = attributes
91
+ segment_mappings = self.sitemap_attributes(options[:action_name])[:segments]
92
+
105
93
  if data_row.is_sitemap_attributes_defined?
106
94
  model_attributes = data_row.sitemap_stripped_attributes(options[:action_name])
95
+ segment_mappings = data_row.sitemap_attributes(options[:action_name])[:segments]
107
96
  end
108
97
 
109
98
  row_values = values.merge(data_row.sitemap_capture_attributes(model_attributes))
@@ -112,7 +101,7 @@ puts YAML.dump(values)
112
101
 
113
102
  if row_values[:canonical].blank?
114
103
 
115
- segments = data_row.sitemap_capture_segments(model_attributes, options[:route].segments)
104
+ segments = data_row.sitemap_capture_segments(segment_mappings, options[:route].segments)
116
105
  row_values[:canonical] = self.send("#{options[:route].name}_url", url_options.merge(segments))
117
106
  row_values[:loc] = row_values[:canonical]
118
107
 
@@ -131,100 +120,6 @@ puts YAML.dump(values)
131
120
  return sitemap_url_limit(rows, options[:handler])
132
121
  end
133
122
 
134
- ###################################################################################
135
- #def sitemap_show(options = {})
136
- #rows = []
137
-
138
- ## always start off with default values from config, then, simply overwrite them as we progress.
139
- #values = sitemap_defaults
140
-
141
- #if options[:source] == :meta_data
142
-
143
- ## if the source is meta_data, that means this method call is the result of a user
144
- ## requesting an index page. Therefore, the controller action_name variable should be set.
145
- ## so, go ahead and use it.
146
-
147
- #lastmod = self.sitemap_static_lastmod(controller_name, action_name)
148
- #unless lastmod.blank?
149
- #values[:lastmod] = lastmod
150
- #end
151
-
152
- ## first, capture the values from the controller.
153
- #attributes = self.sitemap_stripped_attributes(action_name)
154
- #values = values.merge(self.sitemap_capture_attributes(attributes))
155
-
156
- #if options[:handler][:first_model]
157
- #model_object = sitemap_first_model(options[:handler])
158
- #unless model_object.blank?
159
- #values = values.merge(model_object.sitemap_capture_attributes(attributes))
160
- #end
161
- #end
162
-
163
- #route = Rails.application.routes.find_route_via_path(request.path)
164
- #values[:loc] = self.send("#{route.name}_url", params.merge({format: values[:url_format]}))
165
- #values[:canonical] = values[:loc]
166
-
167
- #rows.push(values)
168
-
169
- #self.sitemap_meta_data = values
170
-
171
- #elsif options[:source] == :sitemap
172
-
173
- #begin
174
-
175
- #route = options[:route]
176
-
177
- #lastmod = self.sitemap_static_lastmod(route.controller_name, route.action_name)
178
- #unless lastmod.blank?
179
- #values[:lastmod] = lastmod
180
- #end
181
-
182
- #attributes = self.sitemap_stripped_attributes(options[:action_name])
183
- #values = values.merge(self.sitemap_capture_attributes(attributes))
184
-
185
- #data_rows = []
186
-
187
- #if !options[:handler][:block].blank?
188
-
189
- #data_rows = options[:handler][:block].call(options)
190
-
191
- #elsif !options[:handler][:model].blank?
192
-
193
- #data_rows = options[:handler][:model].send(:all)
194
-
195
- #elsif !options[:model].blank?
196
-
197
- #data_rows = options[:model].send(:all)
198
-
199
- #end
200
-
201
- #unless data_rows.kind_of?(Array)
202
- #if data_rows.kind_of?(ActiveRecord::Base)
203
- #data_rows = [data_rows]
204
- #end
205
- #end
206
-
207
- #data_rows.each do |data_row|
208
-
209
- #row_values = values.merge(data_row.sitemap_capture_attributes(attributes))
210
-
211
- #segments = data_row.sitemap_capture_segments(attributes, route.segments)
212
-
213
- #row_values[:canonical] = self.send("#{route.name}_url", {format: row_values[:url_format]}.merge(segments))
214
- #row_values[:loc] = row_values[:canonical]
215
- #rows.push(row_values)
216
-
217
- #end
218
-
219
- #rescue Exception => e
220
- #DuckMap.logger.exception(e)
221
- #end
222
-
223
- #end
224
-
225
- #return sitemap_url_limit(rows, values)
226
- #end
227
-
228
123
  end
229
124
 
230
125
  end
data/lib/duck_map/list.rb CHANGED
@@ -9,9 +9,9 @@ module DuckMap
9
9
 
10
10
  key = options[:key].blank? ? :all : options[:key].to_s.downcase.to_sym
11
11
 
12
- contents = options.has_key?(:contents) ? true : false
12
+ verbose = options.has_key?(:verbose) ? true : false
13
13
 
14
- contents = key.eql?(:all) ? contents : true
14
+ verbose = key.eql?(:all) ? verbose : true
15
15
 
16
16
  puts "Searching for route: #{key}"
17
17
 
@@ -46,12 +46,11 @@ module DuckMap
46
46
 
47
47
  puts %(#{"".ljust(40)} #{route.path.spec})
48
48
 
49
- if contents
49
+ if verbose
50
50
 
51
51
  sitemap_routes = Rails.application.routes.sitemap_routes(route)
52
52
  if sitemap_routes.length > 0
53
- #puts %(\r\n#{"".ljust(5)} route name controller_name#action_name)
54
- #puts %(#{"".ljust(5)} path)
53
+
55
54
  puts %(#{"".ljust(5)} --------------------------------------------------------------)
56
55
 
57
56
  sitemap_routes.each do |sitemap_route|
@@ -35,6 +35,10 @@ module DuckMap
35
35
  @set.routes.last.sitemap_route_name = last_route_name
36
36
  @set.routes.last.sitemap_raw_route_name = sitemap_raw_route_name
37
37
 
38
+ # this is how I am faking to always point to the SitemapController
39
+ # regardless of namespace
40
+ @set.routes.last.defaults[:controller] = "sitemap"
41
+
38
42
  # determine if we added a duplicate route.
39
43
  # The gem defines a default sitemap in config/routes.rb (inside the gem, not the app).
40
44
  # So, it is very likely that most apps will be creating duplicates since most of the code is geared towards
@@ -105,6 +105,8 @@ module DuckMap
105
105
 
106
106
  end
107
107
 
108
+ list.reject! {|route| route.path.spec =~ %r{/rails/info/properties|^/assets}}
109
+
108
110
  return list
109
111
  end
110
112
 
@@ -178,6 +178,19 @@ module DuckMap
178
178
  keys.push(key)
179
179
  end
180
180
 
181
+ if values[:lastmod].kind_of?(String)
182
+ begin
183
+
184
+ buffer = LastMod.to_date(values[:lastmod])
185
+ if buffer.kind_of?(Time)
186
+ values[:lastmod] = buffer
187
+ end
188
+
189
+ rescue Exception => e
190
+ # TODO logging
191
+ end
192
+ end
193
+
181
194
  # process all of the keys in the list.
182
195
  keys.each do |key|
183
196
 
@@ -1,3 +1,3 @@
1
1
  module DuckMap
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.1"
3
3
  end
@@ -12,7 +12,7 @@ module Duckmap
12
12
  required: false,
13
13
  optional: true
14
14
 
15
- class_option :contents, desc: "Include the routes contained in a sitemap"
15
+ class_option :verbose, desc: "Include the routes contained in a sitemap"
16
16
 
17
17
  def self.source_root
18
18
  File.join(File.dirname(__FILE__), "templates")
@@ -22,8 +22,8 @@ module Duckmap
22
22
 
23
23
  config = {key: key}
24
24
 
25
- unless options[:contents].blank?
26
- config[:contents] = options[:contents]
25
+ unless options[:verbose].blank?
26
+ config[:verbose] = options[:verbose]
27
27
  end
28
28
 
29
29
  DuckMap::List.new.build(config)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duck_map
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-16 00:00:00.000000000 Z
12
+ date: 2013-02-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: highline