duck_map 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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